У меня dnsmasq запущен на сервере (его IP-адрес 10.10.31.22), допустим, его имя хоста mydns
вот dnsmasq.conf:
domain-needed
bogus-priv
local=/argonath.mydomain.com/
interface=eth0
listen-address=127.0.0.1
no-hosts
addn-hosts=/etc/dnsmasq.hosts
expand-hosts
domain=argonath.mydomain.com
А вот и dnsmasq.hosts:
10.10.31.8 mithrandir
Обратите внимание: я использую dnsmasq только для DNS, а не для DHCP.
Теперь у меня есть Linux и окно Windows, оба используют сервер dnsmasq для своих DNS. В окне Linux, если я сделаю nslookup mithrandir
Я получил:
Server: 10.10.31.22
Address: 10.10.31.22#53
Name: mithrandir
Address: 10.10.31.8
И в окнах я получаю это:
Server: UnKnown
Address: 10.10.31.22
*** UnKnown can't find mithrandir: Non-existent domain
тем не мение nslookup mithrandir.argonath.mydomain.com
в окне окна работает:
Server: UnKnown
Address: 10.10.31.22
Name: mithrandir.argonath.jhgfs.com.au
Address: 10.10.31.8
Мой первый вопрос, почему я не вижу mydns
в разделе "Сервер" для окна Linux? Тогда, конечно, мой второй вопрос: почему окна не работают? Я предполагаю, что это связано с тем, что сервер неправильно сообщает свое имя. Что я неправильно настроил?
Разобрался. Windows добавляет суффикс домена в конце запросов, поэтому на самом деле он запрашивал mithrandir.companydomain.com
(Это внутри компании, где все рабочие станции размещены в домене company.com).
После того, как это не удалось, Windows попробовала mithrandir.com, который пошел в более широкую сеть и вернулся как несуществующий.
Не знаю, как решить проблему, но, по крайней мере, я знаю, что это проблема с рабочей станцией Windows, а не с моей конфигурацией dnsmasq.