Почему мой файл / etc / hosts не читается?

Мой файл /etc/hosts выглядит следующим образом:

 # 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 

Я добавил node1 и node2 и, естественно, IP 0.0.0.0 заменяется IP узла.

Я бы предположил, что это работает отлично, но это не так. Я думал, SSH просто игнорирует файл 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 

Однако я не могу пинговать эти серверы по их имени:

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

Это довольно ясно, я делаю что-то действительно глупо здесь … но что?

Дополнительная информация: этот сервер запускает Ubuntu 14.04.2 LTS и размещается на DigitalOcean. Сервер это происходит на сервере Ansible.

Поскольку @William все еще ошибается (!), Мы идем:

Формат строк в /etc/hosts – это адрес, а имя (и) второй

 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 

или где несколько имен отображаются по одному и тому же адресу

 0.0.0.0 node1 node2 node3 stitch626 

ДОБАВЛЕН, благодаря напоминанию fpmurphy1:

Первое имя (если используется более одного) используется как каноническое или «официальное» имя для gethostbyaddr т. Д., Поэтому, если у вас есть доменное имя, назначенное этому компьютеру / адресу, оно обычно является самым ясным и наиболее полезным для размещения Полноценного доменного имени (FQDN) в качестве имени.

Как было предложено @ dave_thompson_085, сначала нужно задать IP-адрес для первого и имя хоста после этого.

Пример:

 0.0.0.0 node1 0.0.0.0 node2