Nenhuma rota para hospedar depois de mudar a interface para ip estático

3

Eu instalei um servidor Linux (Ubuntu) dentro da minha rede local, inicialmente ele é automaticamente configurado para usar a interface DHCP. Estou me conectando a este servidor de outro computador usando o nome de host desse servidor. Tudo bem, meu roteador está configurado para usar o DHCP dentro da minha rede doméstica e fornece um IP automaticamente para cada computador. Mas quando eu me conecto a este host usando SSH, ele me avisa que eu deveria aceitar uma impressão digital de cada IP recém-atribuído do servidor, e isso é um pouco chato. Então eu configurei para usar um endereço IP estático editando o arquivo /etc/network/interfaces assim:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1

Tudo funciona bem, exceto que não consigo me conectar a esse servidor usando seu nome de host. Quando ping ing eu vejo que ele é roteado para o último endereço IP atribuído que foi dado pelo DHCP dinamicamente e, claro, Destination Host is Unreachable . Eu sei que posso codificá-lo no meu arquivo /etc/hosts , mas eu quero saber - porque funciona bem com o DHCP e não com estática.

Aparentemente, não entendo algo. Obrigado antecipadamente!

    
por Dan K.K. 11.12.2012 / 19:03

2 respostas

3

Você precisa atribuir seu roteador como seu primeiro servidor DNS na configuração da interface ao usar ip estático. Então, se você está usando o Ubuntu 12.04 você deve adicionar, por exemplo:

dns-nameservers 192.168.1.1

Em seguida, reinicie sua rede:

/etc/init.d/networking restart

Verifique Como eu configuro meu DNS estático em interfaces? para mais informações sobre a configuração do DNS.

    
por 11.12.2012 / 20:17
1

Quando você estava usando o DHCP para o servidor, ele estava registrando seu nome de host com seu servidor DNS toda vez que obtinha um novo endereço IP. Agora que seu IP é estático, ele não interage com o servidor DHCP e, portanto, o servidor DHCP não pode passar o nome do host para o DNS.

Você precisará fazer isso diretamente. Se o seu roteador (supondo que é o seu servidor DNS) suportá-lo em seu web gui, então você poderá atualizar o arquivo hosts do roteador com o nome do host do servidor.

Se isso não acontecer, mas o servidor DNS no roteador aceitar atualizações da rede local (em oposição a apenas o servidor DHCP), você poderá fazer isso:

sudo apt-get install dnsutils
nsupdate
> update add hostname.domainame 86400 a 192.168.1.101
> send

O "nome de domínio" é qualquer que seja o sufixo DNS local. A desvantagem dessa abordagem é que o roteador perderia a configuração se reinicializado, portanto você desejaria que seu servidor enviasse essa atualização periodicamente por meio de um script e cron.

Se o servidor DNS não aceitar atualizações locais - o que provavelmente não será sua melhor opção, e a melhor solução a longo prazo, será a de executar o DNS a partir do servidor, e não do roteador.

O bind é o servidor DNS mais usado para o Linux, embora haja alternativas mais leves.

Talvez uma alternativa mais simples seria reverter o servidor para usar o DHCP, mas configure o roteador para alocar o mesmo endereço IP a cada vez. Muitos roteadores suportam essa funcionalidade e significa que o nome do host deve voltar a ser registrado a cada vez.

    
por 11.12.2012 / 21:44