Назад | Перейти на главную страницу

Параметр неработающего домена в resolv.conf

Я вставил

domain test 

в resolv.conf, а затем ожидали, что

# getent ahosts srv
# getent ahosts srv.test
1.1.1.1         STREAM srv.test
1.1.1.1         DGRAM  
1.1.1.1         RAW    

оба дадут одинаковые результаты.

Есть идеи, почему этого не происходит?

Спасибо!

Редактировать:

/ etc / nsswitch

hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname 

Запись srv.test хранится в / etc / hosts.

Команда getent делает системный вызов getaddrinfo() и будет пробовать каждую службу, определенную в /etc/nsswitch.confОднако само разрешение DNS - это вызов более низкого уровня gethostbyname() и настраивается /etc/resolv.conf.

Короче говоря, вы не можете определить полное имя хоста только в /etc/hosts так как getaddrinfo() не использует поисковые домены для поиска файлов хостов. Вы можете создать псевдоним хоста в /etc/hosts путем определения srv как;

1.1.1.1     srv.test srv