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

5 секунд для имени хоста -f и странного DNS-запроса

Мой вопрос касается странного поведения hostname -f в моей системе Gentoo Linux.

Симптом:

rt01 ~ # time hostname -f
rt01.domain.net

real    0m5.007s
user    0m0.001s
sys     0m0.000s

С помощью strace я вижу, что выполняются следующие шаги:

Настройка iptables на этом компьютере не позволяет ему подключаться к любому DNS-серверу. Так что это - намеренно - заблокировано на данном этапе. Я ожидаю, что этот шаг не потребуется при следующей конфигурации:

/etc/host.conf

# This keyword specifies how host lookups are to be performed. It
# should be followed by one or more lookup methods, separated by
# commas.  Valid methods are bind, hosts, and nis.
#
order hosts, bind

/ etc / hosts

# IPv4 and IPv6 localhost aliases
127.0.0.1       rt01.domain.net rt01 localhost
<public ip>     rt01.domain.net rt01
::1             localhost

/etc/conf.d/hostname

# Set to the hostname of this machine
hostname="rt01"

Может кто-нибудь объяснить мне, почему hostname -f пытается подключиться к DNS-серверу. Я думал, что информации, предоставленной / etc / hosts, должно быть достаточно.

Порядок разрешения DNS-запросов зависит от содержимого /etc/nsswitch.conf. В частности, порядок опций в строке для hosts

Например, эта строка заставит ваш компьютер запросить сервер перед проверкой локальных файлов:

hosts:          dns files

Страница руководства: http://man7.org/linux/man-pages/man5/nsswitch.conf.5.html