Compartilhando Internet Via Rádio entre m servidor linux e clientes windows
Upcoming SlideShare
Loading in...5
×
 

Compartilhando Internet Via Rádio entre m servidor linux e clientes windows

on

  • 4,186 views

 

Statistics

Views

Total Views
4,186
Views on SlideShare
4,186
Embed Views
0

Actions

Likes
1
Downloads
53
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Compartilhando Internet Via Rádio entre m servidor linux e clientes windows Compartilhando Internet Via Rádio entre m servidor linux e clientes windows Document Transcript

  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... Compartilhando internet via rádio entre um servidor Linux e clientes Windows Autor: Junior Assis Barreto Bernardes <junior.assis at gmail.com> Data: 19/11/2009 Introdução O compartilhamento de internet entre um servidor Linux e estações Windows não é uma coisa trivial, principalmente quando se trata de conexões pppoe. Uma das complicações é que conexões pppoe domésticas normalmente possuem IP dinâmico. Assim o mascaramento de pacotes vindos da rede interna para a internet deve ser feito através de interfaces de conexão, e não por endereços IP. Durante o texto alguns dos conceitos supracitados serão explicados mais detalhadamente para facilitar a compreensão do leitor, especialmente daqueles iniciantes. Gostaria de salientar que a distribuição utilizada para o desenvolvimento desse artigo foi Ubuntu 8.10 (codenamed Hardy Heron). Preparando o servidor Primeiramente, deve-se estabelecer a conexão com a internet. No caso de conexões via rádio (wireless) isso é feito com o comando pppoeconf. Porém, antes de iniciar a conexão, certifique-se de que sua placa wireless está reconhecida e funcionando, utilizando o comando: $ iwconfig Caso apareça uma interface com o nome de wlanX, onde X é um número inteiro e positivo, então estamos prontos para continuar. Caso não apareça nenhuma interface com este nome, procure ajuda em como instalar o modelo da sua placa wireless no Linux, especialmente na distribuição que você está utilizando. 1 de 6 06-12-2009 12:52
  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... Posteriormente devemos configurar a interface wireless com o nome (ESSID) da rede sem fio que será utilizada para navegar na internet. Para isso, execute: # iwconfig wlanX ESSID "nome da rede" Onde X é o número que apareceu anteriormente quando executamos o comando iwconfig. Feito isso estamos aptos para estabelecer a conexão com a internet. Para isso rode o comando: # pppoeconf Durante o processo serão requisitados alguns dados, como nome de usuário e senha e serão feitas algumas perguntas. Quanto as perguntas, se você ficar em dúvida, o próprio texto indicará a opção mais recomendada. Após a configuração da conexão da internet devemos configurar a placa de rede que será utilizada para compartilhar a conexão. Para descobrir as placas que estão reconhecidas e em pleno funcionamento, execute: $ ifconfig As interfaces de interesses são as do tipo ethX, onde X é um número inteiro e positivo. Caso nenhuma interface com este nome apareça, execute: $ ifconfig -a para mostrar todas as interfaces existentes, levantadas ou não. Se alguma interface de interesse aparecer, faça: # ifconfig ethX up para levantar e colocar a interface em funcionamento. Com a interface de rede ethernet pronta, basta adicionar um ip para ela do seguinte modo: # ifconfig ethX 192.168.0.1 netmask 255.255.255.0 Com X sendo o número da interface que está funcionando. O endereço ip 2 de 6 06-12-2009 12:52
  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... (192.168.0.1) e máscara de rede (255.255.255.0) são apenas ilustrativos. Vou continuar admitindo esses valores, mas o leitor pode configurar a rede de acordo com as suas necessidades. Habilitando o roteamento de pacotes Depois de estabelecer a conexão com a internet e certificar de que ela está funcionando corretamente devemos habilitar em nosso servidor o roteamento de pacotes, ou seja, devemos permitir que o servidor possa descobrir o caminho e entregar os pacotes que não sejam destinados a ele. Isso é fundamental para que as máquinas da rede interna consigam enviar pacotes para máquinas externas. Essa informação, sobre roteamento de pacotes está armazenada em um arquivo chamado ip_forward. Este arquivo fica com o número 1 armazenado se o roteamento estiver habilitado ou 0 caso contrário. A modificação deste arquivo para permitir o roteamento pode ser feita de duas maneiras: utilizando o comando sysctl: # sysctl -w net.ipv4.ip_forward=1 ou através do comando echo: # echo 1 > /proc/sys/net/ipv4/ip_forward Fazendo mascaramento de pacotes com SNAT Para que as estações clientes possam navegar na internet, o servidor tem que, além de rotear os pacotes das mesmas para as máquinas externas (internet), converter o endereço das estações internas, que possuem os respectivos endereços ip referentes à rede interna para um endereço real de internet, para que as máquinas externas também consigam se comunicar com as estações da rede interna. Esta técnica é conhecida como NAT (Network Address Translation) e, em Linux, isso pode ser feito utilizando iptables, que é uma ferramenta utilizada para fazer filtragem de pacotes e já está presente no kernel do Linux. Na verdade existem dois tipos de NAT: o SNAT (Source Network Address 3 de 6 06-12-2009 12:52
  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... Translation) , em que o endereço de origem do pacote é alterado depois do roteamento, e o DNAT (Destination Network Address Translation) , em que altera-se o endereço de destino antes do roteamento. Porém, no nosso caso, basta o SNAT: queremos apenas que todos os pacotes vindos da rede interna pareçam que têm como origem o nosso servidor com uma conexão PPP. Quando executamos o comando pppoeconf foram criadas uma ou mais interfaces de conexão pppoe com a internet. Podemos ver esse fato executando: $ ifconfig As interfaces de interesse, neste caso, são as do tipo pppX. Antes de mascarar os pacotes oriundos da rede interna, trocando os endereços de origem, precisamos descobrir qual é a interface que de fato é responsável pela conexão com a internet. Para isso utilizaremos a ferramenta Wireshark, que serve como analisadora de tráfego de rede, mostrando os pacotes que estão sendo enviados e recebidos por cada interface, sendo ela real (placas de rede) ou virtual. Para instalar o Wireshark no Ubuntu (ou qualquer distribuição Debian-based), basta digitar no terminal: # apt-get install wireshark Depois de instalar o Wireshark, inicie-o como root. Vá em "Capture", na barra de menus, e selecione "Interfaces". Aparecerá uma tela com as interfaces presentes no sistema e o número de pacotes que está passando por cada uma delas. Para descobrir qual interface ppp será utilizada no mascaramento, basta iniciar o navegador, com o wireshark ativo, navegar em algum site e, simultaneamente, verificar por qual interface ppp estão passando os pacotes. Após descobrir por qual interface ppp está se comunicando com a internet, podemos fazer o mascaramento da seguinte forma: # iptables -t nat -A POSTROUTING -o pppX -j MASQUERADE Onde X é o número da interface que foi descoberta no Wireshark. 4 de 6 06-12-2009 12:52
  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... O comando acima indica que será adicionada uma regra na chain POSTROUTING da tabela nat. Tal regra indica que os pacotes saindo de pppX terão o endereço automaticamente escolhidos devido ao parâmetro MASQUERADE. Isso é necessário uma vez que o IP normalmente não é fixo em conexões pppoe. Em caso de dúvidas no entendimento do comando acima, recomenda-se a leitura de artigos relacionados à ferramenta iptables. Configurando o servidor DHCP Se os passos anteriores foram executados corretamente e nenhum erro aconteceu, basta configurar as estações clientes com endereços IP de acordo com o endereço e a máscara de rede utilizada no servidor, informar os servidores de nomes e adicionar a rota de saída e as estações já estarão prontas para navegar na internet. Porém os procedimentos citados não são elementares para um usuário iniciante e leigo em assuntos relacionados a redes de computadores. Podemos facilitar a vida desses usuários configurando um servidor DHCP (Dynamic Host Configuration Protocol) . Este servidor se encarregará de atribuir um endereço IP para cada estação ativa na rede, além de informar os servidores de nomes e a rota padrão de saída para Internet (gateway). Existem vários servidores DHCP disponíveis. No Ubuntu, por exemplo, você pode instalar facilmente o dhcp3-server digitando no terminal: # apt-get install dhcp3-server Para configurar o servidor, bastar editar o arquivo dhcpd.conf, que se encontra no diretório raiz onde está o servidor DHCP que, normalmente é o /etc. No meu caso o arquivo dhcpd.conf está localizado no diretório /etc/dhcp3-server/. Uma configuração básica e funcional para o servidor pode ser feita da seguinte maneira: #-----------Arquivo dhcpd.conf----------- default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; #Mascara de rede utilizada na rede 5 de 6 06-12-2009 12:52
  • Compartilhando internet via rádio entre um servid... http://www.vivaolinux.com.br/artigos/impressora.... option broadcast-address 192.168.1.255; option routers 192.168.0.1; #Roteador: no nosso caso é o ip do servidor Linux option domain-name-servers 10.100.100.2, 10.100.100.4; #Servidores DNS #Intervalo de IPs válidos a serem atribuídos às estações. subnet 192.168.0.1 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; } Lembrando que os valores dos endereços IP, tando da própria rede quanto dos servidores DNS são apenas ilustrativos. O leitor deve substituí-los por valores condizentes com suas necessidades. Uma vez editado o arquivo, basta iniciar (reiniciar) o servidor DHCP: # /etc/init.d/dhcp3-server restart Agora basta colocar as estações Windows para obter endereço IP e DNS automaticamente. Estações Linux também podem obter endereços automaticamente: basta utilizar um cliente DHCP para isso. http://www.vivaolinux.com.br/artigo/Compartilhando-internet-via-radio-entre- um-servidor-Linux-e-clientes-Windows Voltar para o site 6 de 6 06-12-2009 12:52