У меня есть сервер под управлением Debian etch. Это работает qmail и отправляет почту. Почтовый сервер работает правильно, но странно то, что сам сервер не может разрешать имена хостов. Я могу использовать nslookup и копать правильно.
#ping google.com
ping: unknown host google.com
#dig google.com
; <<>> DiG 9.2.4 <<>> google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64443
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 209.85.229.104
google.com. 300 IN A 209.85.229.105
google.com. 300 IN A 209.85.229.106
google.com. 300 IN A 209.85.229.147
google.com. 300 IN A 209.85.229.99
google.com. 300 IN A 209.85.229.103
;; AUTHORITY SECTION:
google.com. 134830 IN NS ns1.google.com.
google.com. 134830 IN NS ns2.google.com.
google.com. 134830 IN NS ns3.google.com.
google.com. 134830 IN NS ns4.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 105732 IN A 216.239.32.10
ns2.google.com. 105732 IN A 216.239.34.10
ns3.google.com. 105732 IN A 216.239.36.10
ns4.google.com. 105732 IN A 216.239.38.10
;; Query time: 172 msec
;; SERVER: 212.175.236.100#53(212.175.236.100)
;; WHEN: Sun Dec 20 00:39:35 2009
;; MSG SIZE rcvd: 260
Есть момент, в котором я подозреваю, есть ли установленный пакет, который не используется другим приложением под названием resolvconf. И это создает символическая ссылка к оригиналу resolv.conf файл.
Мой список iptables пуст.
Ваш /etc/nsswitch.conf
файл должен содержать подобное, чтобы разрешить поиск по DNS.
hosts: files dns
Dig - это утилита DNS, поэтому она проверяет DNS. qmail также может игнорировать nsswitch.conf. Большинство других программ, которые используют стандартные вызовы DNS в библиотеке C, соблюдают его. Если ваш dows не содержит в себе dns, вполне нормально, что поиск DNS не работает для большинства вещей.