Eu tenho um roteador doméstico que fornece acesso à internet para meu desktop e laptop. Ambos os computadores estão executando o Ubuntu GNU / Linux versão 12.04 e foram configurados para usar o DHCP na instalação. Então, o roteador e o DHCP estão funcionando corretamente para esses dois computadores.
Eu também tenho um computador desktop antigo com o Ubuntu 10.04. Essa área de trabalho mais antiga normalmente não está conectada à rede e não foi configurada para usar o DHCP.
Agora conectei um cabo de rede a ele e desejei ativar uma conexão de rede usando o DHCP. Na linha de comando, eu uso
sudo dhclient eth0
O resultado é que o seguinte é impresso:
Listening on LPF/eth0/...
Sending on LPF/eth0/...
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER of 192.168.2.106 from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER of 192.168.2.106 from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
Eu não sei muito sobre DHCP, mas parece-me que o roteador (192.168.2.1) mantém o endereço 192.168.2.106, e depois se recusa para reconhecê-lo. Pelo menos, isso é o que eu entendi de rfc2131 .
Preciso alterar a configuração do meu roteador ou da minha área de trabalho ou de ambos?
EDITAR
Seguindo as indicações dos comentários, adicionei o seguinte bloco
para o arquivo /etc/dhcp3/dhclient.conf
:
interface "eth0"
{
request subnet-mask;
}
mas ainda tenho os mesmos erros acima. Em particular, ainda vejo
DHCPREQUEST of 192.168.2.106 on eth0 to 255.255.255.255 port 67
que significa que subnet-mask
no meu arquivo de configuração é ignorado.
EDIT 2
Problema resolvido: aparentemente dhclient
não estava lendo o arquivo padrão /etc/dhcp3/dhclient.conf
. Eu resolvi o problema por:
dhclient
com a opção -cf
(especificando o arquivo de configuração explicitamente). require subnet-mask
em vez de request
: desta forma, tenho certeza (AFAIU) de que o cliente está usando uma máscara de sub-rede obtida do roteador. Muito obrigado pelas dicas que me apontaram na direção certa.