terça-feira, julho 05, 2011

Configurando a rede via linha de comando

Uma curiosidade no Windows XP é que toda a configuração da rede pode ser feita via linha de comando, através do prompt do MS-DOS, como no Linux. Na prática, não existe nenhuma grande vantagem sobre configurar pelo Painel de controle, mas não deixa de ser um truque interessante, que vale à pena aprender.
Ao configurar a rede via DHCP, você pode checar rapidamente qual endereço IP está sendo usado por cada micro usando o comando "ipconfig" dentro do prompt do MS-DOS:


Para configurar a rede, especificando manualmente os endereços, você usaria:
C:> netsh int ip set address name="Conexão Local" source=static 192.168.0.22
255.255.255.0 192.168.0.1 1
... onde o "Conexão Local" é o nome da conexão de rede (da forma como aparece no painel de Conexões de rede do Painel de controle), seguido pelo endereço IP, máscara e gateway da rede. Não se esqueça do número "1" no final, que é um parâmetro para a configuração do gateway.
Para configurar o DNS, você usaria:
C:> netsh int ip set dns "Conexão Local" static 200.204.0.10
Para configurar os endereços e DNS via DHCP, você pode usar os comandos:
C:> netsh int ip set address name="Conexão Local" source=dhcp
C:> netsh int ip set dns "Conexão Local" dhcp
O endereço obtido via DHCP precisa ser renovado periodicamente, o que é feito de forma automática. Mas, em algumas situações, o sistema pode falhar em renovar o endereço (o que é relativamente comum ao acessar via cabo, por exemplo) fazendo com que seu micro seja desconectado da rede. Nestes casos, você pode forçar a renovação do endereço IP clicando com o botão direito sobre o ícone da conexão, dentro do painel de controle e acessando a opção "Reparar", ou usando os dois comandos abaixo no prompt do MS-DOS:
C:> ipconfig /release
C:> ipconfig /renew
Um exemplo de configuração de rede completa para um dos micros da rede, que vai acessar a internet através do micro que está compartilhando a conexão, seria:
IP: 192.168.0.2
Máscara: 255.255.255.0
Gateway: 192.168.0.1 (o endereço do micro compartilhando a conexão)
DNS: 200.204.0.10, 200.204.0.138
O micro que está compartilhando a conexão por sua vez vai ter duas placas de rede, uma para a internet e outra para a rede local, por isso vai ter uma configuração separada para cada uma. A configuração da internet é feita da forma normal, de acordo com o tipo de conexão que você usa, enquanto a configuração da rede interna segue o padrão que vimos até aqui.
Neste exemplo, estou usando dois endereços de servidores DNS externos na configuração do cliente, mas é possível instalar um servidor DNS na máquina que está compartilhando a conexão, incluindo inclusive nomes para as máquinas da rede local. Neste caso, você pode usar o endereço do gateway também como DNS:


Note que, neste caso, os micros da rede local utilizam uma faixa de endereços privada (192.168.0.x no exemplo), uma faixa de endereços que não existe na internet. O único que possui um endereço IP válido na internet é o roteador, que por isso é o único que pode ser acessado diretamente de fora. Ele fica responsável por interligar as duas redes, permitindo que os micros da rede interna acessem a internet.
Este método de compartilhamento de conexão é chamado de "NAT" (Network Address Translation). Ao receber um pacote de um dos micros da rede local endereçado à internet, o servidor substitui o endereço da estação (192.168.0.2, por exemplo) pelo seu endereço de internet (200.220.134.54, por exemplo) e o envia ao destinatário. Ao receber resposta, o servidor novamente troca o endereço de internet do destinatário pelo seu (do servidor) IP de rede local. A estação acha que está conversado diretamente com o servidor e não enxerga os demais hosts da internet enquanto eles (os demais hosts) enxergam apenas seu servidor e não os demais micros da rede local, que permanecem invisíveis.