|
hosts – это текстовый файл, содержащий базу данных доменных имен и используемый при их трансляции в сетевые адреса узлов, т.е. перевод DNS имени в ip-адрес.
Как правило при выполнении DNS запрос первоначальное обращение идет к файлу hosts, т.е. он имеет более высокий приоритет по отношению к DNS-серверам, указанных в сетевых настройках.
В отличие от полноценного сервера DNS, содержимое файла hosts контролируется администратором компьютера, т.е. корректировка файла выполняется вручную.
Файл hosts размещен:
1 | /etc/hosts |
Файл имеет следующий формат:
{IP} {Название хоста}.{Домен} {Алиас}
где
- {IP} — IP адрес узла,
- {Название хоста} — имя узла (в домене),
- {Домен} — собственно домен,
- {Алиас} определяет дополнительное имя узла.
Для того, чтобы избежать путаницы, лучше оставлять алиас таким же, как и название хоста с доменом, однако, с ним можно делать забавные вещи, например, строка:
1 | 216.239.37.99 www.google.com g |
создаст алиас для google.com , теперь, открыв браузер, например Firefow можно нажать F6, g, Enter и попасть на сайт google.com. Конечно же, для этого есть более простые инструменты (например, тот же firefox), но и эта функция тоже может быть полезна, например разработчикам и/или тестировщикам веб-сервисов.
Для редактирования файл hosts, необходимо выполнить команду:
1 | sudo nano /etc/hosts |
Содержимое файла будет выглядеть следующим образом:
1 2 | 127.0.0.1 localhost 127.0.1.1 vm-test |
Ниже добавляем нужную запись:
1 | 172.16.0.93 vm-mail-01 |
Проверяем командой пинг (ping):
1 | ping vm-mail-01 |
Ну и собственно ответ на вопрос: Почему Ubuntu игнорирует /etc/hosts?
Посмотрите, что у вас в /etc/nsswitch.conf — именно он задаёт порядок опроса сервисов имён (не только доменных имён — так же порядок опроса сервисов по разрешению имён пользователей, сервисов и т. д. — всего, что имеет имя).
Если в настройка nsswitch.conf указано:
1 | hosts: files dns |
то сперва будет анализироваться hosts, а потом выполнятся dns-запрос. Если там другой порядок или есть какие-то ещё параметры, то и обработка запроса будет по-другому. И тут man nsswitch.conf никто не отменял.
P.S.
А программа host (как и nslookup) никогда не смотрит в hosts. Она делает именно запрос к dns-серверу, т. к. предназначена именно для отладки dns-сервера, а не тестирования разрешения имён в системе.
Вы также можете ознакомиться с другими статьями:
17th Май 2016
|
Теги:
|