Por que meu arquivo / etc / hosts não está sendo lido?

0

Meu arquivo /etc/hosts é assim:

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
127.0.1.1 ansible-server ansible-server
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

node1 0.0.0.0
node2 0.0.0.0

Eu adicionei o node1 e node2 e, naturalmente, o IP 0.0.0.0 é substituído pelo IP do nó.

Eu diria que isso funciona perfeitamente bem, mas não funciona. Eu pensei que o SSH simplesmente ignorasse o arquivo hosts :

root@ansible-server:~# ssh root@node1
ssh: Could not resolve hostname node1: Name or service not known
root@ansible-server:~# ssh root@node2
ssh: Could not resolve hostname node2: Name or service not known

No entanto, não consigo pingar esses servidores pelo nome deles:

root@ansible-server:~# ping node1
ping: unknown host node1
root@ansible-server:~# ping node2
ping: unknown host node2

É bem claro que estou fazendo algo realmente estúpido aqui ... mas o que?

Informações adicionais: este servidor executa o Ubuntu 14.04.2 LTS e é hospedado no DigitalOcean. O servidor está ocorrendo em um servidor Ansible.

    
por William Edwards 06.08.2015 / 10:28

1 resposta

10

Como o @William ainda errou (!) aqui vamos nós:

O formato das linhas em /etc/hosts é o primeiro endereço e o nome (s) segundo

0.0.0.0 node1 
0.0.0.0 node2 
192.168.1.1 myroutermaybe
8.8.8.8 googledns # in case DNS doesn't work for DNS???
127.0.0.1 localhost 

ou onde vários nomes mapeiam para o mesmo endereço

0.0.0.0 node1 node2 node3 stitch626 

ADICIONADO, graças ao lembrete de fpmurphy1:

O primeiro nome (se mais de um) é usado como o nome canônico ou "oficial" para gethostbyaddr etc, então se você tem um nome de domínio atribuído a esta máquina / endereço, geralmente é mais claro e mais útil colocar o nome de domínio totalmente qualificado (FQDN) como o primeiro nome.

    
por 06.08.2015 / 11:00

Tags