Bom, como eu disse no primeiro post da série de rede completa ponto a ponto, neste post nós vamos ligar duas máquinas em rede, fazer um PING entre elas e então compartilharemos nossa internet.
Vamos lá, do início.
Estou supondo que você, assim como eu, tenha acabado de formatar duas máquinas. Em uma instalei o Arch Linux e na outra instalei o Windows 7.
Feito isso antes de começar um cabo de rede cross será necessário. Apenas para lhes explicar, a diferença entre um cabo de rede normal e um cross é simples, um cabo de rede normal serve para ligar computadores a Swiches, Hubs ou outros roteadores, já um cabo de rede cross, serve apenas para ligar uma máquina à outra.
Você pode conseguir um cabo de rede com qualquer um que saiba clipa-lo, ou mesmo na internet tem explicações de como clipar um, não convém a este blog colocar à explicação de como fazer um cabo de rede cross por que nem eu sei como se faz isso, mas no google tem e é facinho.
Após colocar o cabo de rede cross nas duas máquinas o que rola é o seguinte.
Na máquina Linux, configure o IP para 192.168.0.1 e Mascara de Rede para 255.255.255.0.
No Arch nós fazemos isso alterando o arquivo /etc/rc.conf, na sessão de rede deste arquivo.
#Static IP example
eth0=”eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255″
#eth0=”dhcp”
INTERFACES=(eth0)
Ou seja no arquivo rc.conf, a região de rede que é parecida com o bloco de código acima deve estar aparentemente igual ao que eu coloquei.
Veja, na primeira linha: eth0=”eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255″, configuramos o IP, a Máscara de rede e o broadcast.
Lembre de comentar esta linha: #eth0=”dhcp”, pois caso ela não seja comentada, ela sobre-escreverá suas configurações de rede.
Bom, caso na sua distribuíção não tenha o arquivo rc.conf, e momentaneamente você não sabe onde alterar para que sua configuração de rede se torne permanente, você pode temporariamente alterar na mão a configuração de rede com o comendo.
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
Mas você terá que escrever esta linha de código sempre que reiniciar a máquina, então larga a mão de ser vagabundo e vai procurar no google onde que configura a rede na suas distribuição.
A, só para confirmar. Aqui eu coloquei sempre eth0 porque é a placa de rede que o meu cabo está ligado, caso você ligue em alguma outra placa de rede, substitua eth0 por eth1, eth2 ou sei lá qual eth você ligou.
Feito isso vamos para a máquina Windows.
Nas configurações de rede escolha a conexão de rede que deve ter reconhecido o cabo de rede e altere o IP dela para 192.168.0.2 e a Mascará de rede para 255.255.255.0.
Aplique e confirme as configurações.
É bem provável que o Windows esteja dizendo que esta rede não foi identificada e que não tem acesso.
Isto é balela, com certeza o Windows faz um PING para algum site dele na internet e como não tem resposta porque nossa rede ainda não tem internet ele julga que toda a rede está fora do ar.
A prova dos 9 para ver se a rede funcionou é o seguinte.
Abra o CMD do Windows, para quem não sabe é o modo de comando do Windows, se você digitar cmd no executar você o verá.
No CMD faça um PING para a máquina Linux:
ping 192.168.0.1
Se o resultado for algo como isto:
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time=101ms TTL=124
Reply from 192.168.0.1: bytes=32 time=100ms TTL=124
Reply from 192.168.0.1: bytes=32 time=120ms TTL=124
Reply from 192.168.0.1: bytes=32 time=120ms TTL=124
Obviamente alguns valores podem mudar, o idioma também. Mas se o resutado for algo como isto sua rede está um sucesso.
Agora é a hora de fazer o mesmo com o Linux, no Terminal do Linux digite:
ping 192.168.0.2
O resultado também é algo como isto:
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=128 time=0.319 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=128 time=0.226 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=128 time=0.222 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=128 time=0.220 ms
Mas caso não seja, e o seu ping não retornar nada, lembre-se de desativar o Firewall do Windows, este safado me parou e eu levei um tempão pra lembrar dele.
E caso também não vá desabilite programas antivirus, firewalls particulares e outros, pois este ping DEVE funcionar.
Supondo que o seu ping dos dois lados foi um sucesso vamos finalmente compartilhar a internet.
Só para lhes explicar um pouco mais, a minha internet vem de um Modem 3G da Vivo o qual eu expliquei como instalar no Linux neste Blog mesmo.
Meu modem está conectado no Arch Linux e através do IPTables que é o firewall do Linux redirecionaremos a internet para a máquina Windows ou 192.168.0.2 se preferir.
Primeiramente instale o IpTables caso ainda não o tenha instalado. No Arch Linux fazemos
pacman -S iptables
Isto feito vamos configurar o compartilhamento de internet.
Após intalar o IPTables, inicie-o.
Em /etc/rc.d faça ./iptables restart
É provável que o iptables retorne um erro:
/etc/iptables/iptables.rules is missing!
Isto é porque não existem um arquivo iptables.rules em /etc/iptables. Então o procedimento é bem simples, vá ao endereço informado em /etc/iptables e crie o arquivo iptables.rules com este conteúdo:
# Empty iptables rule file
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
Isto é, um arquivo iptables.rules vazio de regras.
Então no terminal, como linha de comando digite o comando
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -j MASQUERADE
Pelo que eu lí este comando faz o IPTables criar um NAT, isto é uma “cópia” de sua conexão no ip informado.
Agora é bem simples, no Windows nas configurações de rede coloque o IP indicado no comando acima como Gateway.
É importante também colocar algum DNS para você poder navegar na internet, como DNS você coloca qualquer DNS de qualquer provedor por aí.
Confirme e Aplique as alterações e é bem provável que as duas máquinas estejam na internet agora.
Então, caso esteja certinho a configuração e as duas máquinas com internet, você roda o comando
/etc/rc.d/iptables save
Desta forma o IPTables pegará a última configuração feita nele mesmo, que no caso foi o nosso comando e a passará para o arquivo /etc/iptables/iptables.rules.
Desta forma você não precisa ficar escrevendo o comando acima toda a vez que reiniciar a máquina.
Lembre também de colocar o IPTables dentro dos DAEMONS no arquivo rc.conf para que ele reinicie automaticamente ao reinicar a máquina.
DAEMONS=(syslog-ng dbus hal fam network netfs crond slim alsa iptables)
No Windows apenas mais uma configuração é necessária, mais acima eu disse para vocês desabilitarem o firewall do Windows 7. Fizemos isto apenas para um teste de nossa rede, agora é a hora de reabilitarmos o mesmo, e para que ele não barre novamente nossa pequena rede vamos ao Firewall dele e criaremos uma regra.
Veja:
Em Painel de Controle – Sistema e Segurança – Firewall do Windows – Configurações Avançadas e em Regras de Entrada, criaremos uma Nova Regra.
O Tipo de Regra é Personalizada, se aplicará a todos os programas e qualquer protocolo.
Na escolha dos IP’s que mudaremos um pouco:
Em endereços de IP locais selecione a opção Estes endereços de IP e adicione o IP 192.168.0.2 (Adicionamos o IP da máquina Windows que esta regra se aplicará. Obviamente caso o IP mude a rede também muda e a regra também).
E em IPs remotos a que a regra se aplica, colocamos o 192.168.0.1.
Na tela seguinte colocamos permitir conexão como a ação a ser tomada e ela se aplicará para Domínio, Particular e Público.
Apenas dê um nome a esta regra, a minha eu chamei de nbLeonardo-Linux, e coloque a descrição que desejar e confirme.
A partir de agora com o firewall habilitado o Linux consegue pingar no windows.
Bom Eu não domino tanto o assunto de redes portanto conto com a ajuda de vocês com suas dúvidas e sugestões.
Obrigado