
Um dos meus sistemas headless recebe um endereço IP estático por meio /etc/network/interfaces
de uma Ethernet com fio. Ele está conectado a um roteador que também é um servidor DHCP. Depois de alguns dias, o endereço estático é eliminado e substituído por um endereço DHCP. Por que isso aconteceria?
- Se eu fizer uma reinicialização
sudo ifdown eth0 && sudo ifup eth0
ousudo service networking restart
reinicialização, o sistema assumirá seu endereço estático novamente, mas alguns dias depois, o endereço IP mudará para um endereço dinâmico. - Não há outro sistema na rede com (acidentalmente) o mesmo endereço estático.
- O NetworkManager não está em execução no sistema.
- Configurei o sistema para me enviar um e-mail assim que o endereço mudar, mas os horários em que isso ocorre parecem completamente aleatórios. O tempo de concessão do DHCP é de 24h, mas isso não parece estar correlacionado e, de qualquer forma, isso não deve importar para um endereço estático.
- Meu /etc/network/interfaces é este:
auto el iface lo inet loopback auto eth0 iface eth0 inet estático endereço 192.168.124.104 porta de entrada 192.168.124.253 máscara de rede 255.255.255.0
É um pouco confuso.
O que faria com que um sistema desistisse de seu endereço estático e solicitasse um endereço DHCP? O que procurar, em qual arquivo de log?
Responder1
Recentemente me deparei com esse problema e depois de alguma investigação descobri que /etc/dhcp/dhcp.conf precisava de um bloco para ser adicionado (ou descomentado) semelhante a este:
alias {interface "eth0"; endereço fixo 10.1.1.1; opção máscara de sub-rede 255.0.0.0; }
Espero que isto ajude!
Atenciosamente, Glendon Gross
Responder2
Hmmm, estranho... Não tenho certeza se isso importa, mas por uma questão de limpeza eu colocaria o netmask
parâmetro diretamente após "endereço" e não depois de "gateway". Você também deve desinstalar/desativar o pacote ( isc-
) dhcp-client
do host e tomar cuidado com o ipv6 e o resolveconf
pacote. Antes disso: uma maneira de descobrir o que está acontecendo é implementar uma regra de firewall que aceite e registre todo o tráfego de e para as portas DHCP (servidor 67 UDP e cliente 68 UDP) ou crie logs para o estado dos dispositivos, o dhcp-client
ou farejar seu tráfego.
Uma solução alternativa (ou solução alternativa) é configurar reservas DHCP para alguns de seus hosts ou um tempo de concessão infinito para seus endereços DHCP. Para mim isso funciona muito bem e a vantagem é o gerenciamento centralizado. Se o seu servidor DHCP for o seu modem/roteador, você provavelmente poderá configurá-lo na interface da Web (no tempo de locação ou na reserva) e em alguns roteadores você pode até marcar a caixa de seleção "endereço fixo". Se você configurou seu próprio servidor (Ubuntu?) você precisa editar o dhcpd.conf
arquivo adicionando algumas linhas como esta:
host Accountant {
hardware ethernet 00:1F:6A:XX:XX:XX;
fixed-address 192.168.124.104;
}
Responder3
Eu sei que isso é antigo, mas me deparei com um problema semelhante com o qual estava lutando. Também abri um caso com a Canonical para pedir ajuda.
Desde então, resolvi meu problema e voltei a esta postagem na esperança de que isso possa ser útil para alguém que possa se deparar com isso. Meu problema no final acabou sendo 'wicd-daemon'. Não tenho certeza de como ou por que o pacote foi instalado, mas foi o principal responsável pela eliminação do meu endereço estático e por causar outros problemas de rede para mim.
Um sintoma do meu problema era que o dhclient seria inicializado se eu desconectasse o cabo de rede e o conectasse novamente. Semelhante ao problema relatado aqui, eu obteria um endereço IP diferente. Se eu configurasse minha NIC manualmente, tudo bem, mas algum tempo aleatório depois, ele obteria um IP diferente (devido ao dhclient em execução em segundo plano, ao que parece). Verifique se o dhclient está em execução. Quanto ao motivo pelo qual o dhclient está em execução, isso é outro problema. Abaixo descrevo o que resolveu o dhclient para mim, que acabei traçando vários caminhos (avahi, ntpd, ifup, ...). No meu caso, foi wicd-daemon.
O problema veio à tona originalmente em testes quando eu estava trocando de rede que exigia a movimentação física do cabo de rede. Isso causou problemas de rede para mim, o que não deveria ter acontecido. Também demorou um pouco para descobrir o problema, pois não esperava que meu IP estático tivesse caído ou mudado.
No final, a limpeza do wicd-daemon e do python-wicd resolveu o problema. Meu sistema agora mantém o endereço IP estático mesmo quando o cabo de rede é desconectado. Também não vi o dhclient inicializar, então acho que o problema também se resolveu. Eu segui outros caminhos também, olhando para o avahi, que parecia ter influência nos problemas que eu estava tendo, também olhei para o ntpd (estranho, eu sei, mas estava aparecendo nos syslogs ao mesmo tempo, outros problemas provavelmente o NTPD não teve nada a ver com isso, mas estava produzindo registros suspeitos). Percorri várias tocas de coelho até que por acaso me deparei com um processo wicd em execução enquanto fazia outros testes.
Resumindo, verifique se o dhclient está rodando e se você tem um gerenciador de rede como o wicd rodando em seu sistema. Pode ser o que está causando problemas com seu endereço estático.
Responder4
Só queria acrescentar que, se você tiver várias interfaces, certifique-se de definir a interface correta em seu /etc/network/interfaces
arquivo.
Para mim, o problema foi auto lo
definido no início do arquivo. Mas na verdade, em vez disso, precisava haver auto eth0
.
Uma vez definido corretamente, meu IP estático é mantido na reinicialização.
Espera que isso ajude alguém.