3

Это гость виртуальной машины Linux (Ubuntu 13.10) в хосте и среде Windows. При выполнении DNS-запроса возвращаются только полные доменные имена, а короткие имена - нет (см. Ниже). Это почему?

Мое hostname -f возвращает полное доменное имя моей виртуальной машины с правильным доменным именем, а в моем /etc/resolv.conf уже есть search mycompany.com . Но все же короткие имена не работают.

$ dig mySvr01 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> mySvr01
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27616
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;mySvr01.                  IN      A

;; Query time: 4 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Mar 31 07:33:47 PDT 2014
;; MSG SIZE  rcvd: 41

$ dig mySvr01.mycompany.com 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> mySvr01.mycompany.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7162
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
; mySvr01.mycompany.com.     IN      A

;; ANSWER SECTION:
mySvr01.mycompany.com. 3600 IN      A       10.192.78.38
mySvr01.mycompany.com. 3600 IN      A       10.192.78.66

;; Query time: 1 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Mar 31 07:33:44 PDT 2014
;; MSG SIZE  rcvd: 86

2 ответа2

5

Команда dig не использует путь поиска DNS для поиска хостов, она просто ищет полное доменное имя в DNS. Это связано с тем, что dig запрашивает серверы имен напрямую, а не с помощью метода nsswitch (который обеспечивает функциональность пути поиска).

Как видите, не-fqdn не разрешается с помощью dig: mtak@gen1:~$ dig svc1 +short mtak@gen1:~$ dig svc1.int.mtak.nl +short 10.100.0.11 Вы можете проверить, работает ли DNS Путь поиска работает правильно с помощью команды host: mtak@gen1:~$ host svc1 svc1.int.mtak.nl has address 10.100.0.11

4

Это особенность поведения dig по умолчанию. Он игнорирует директивы search и domain в /etc/resolv.conf, если вы не скажете им использовать их:

+[no] search Использовать [не использовать] список поиска, определенный директивой searchlist или domain в resolv.conf (если есть). Список поиска не используется по умолчанию.

Вы можете добавить «+search» в $ HOME/.digrc, чтобы он автоматически искал короткие имена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .