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

Поиск DNS на DNS-сервере работает, но неверный IP-адрес на клиентах

Я пытаюсь настроить DNS-сервер для изменения нескольких доменов в моей локальной сети - сначала с помощью bind9, затем с помощью dnsmasq. С обоими программами у меня возникла одна и та же проблема: при выполнении nslookup / dig на самом DNS-сервере я получаю правильно измененные совпадения IP.

Однако при поиске на машинах, использующих DNS-сервер, он возвращает неправильный (исходный) IP-адрес хоста вместо измененного.

На самой днс

nslookup mydomain.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   mydomain.com
Address: <correctly modified host ip>

На устройствах с очищенными кешами (mac / android):

nslookup mydomain.com
Server:     <dns server ip>
Address:    <dns server ip>#53

Non-authoritative answer:
Name:   mydomain.com
Address: <original host ip>

Вопрос в том, почему запись на сервере правильная, а на клиентах ошибочная?

Проблема была очень глупой и очевидной: у моего хостера был активен блок UDP на машине.

Я предполагаю, что Mac и Android используют резервный DNS-сервер на случай, если один из них недоступен? Это объяснило бы неправильные (правильные) результаты.

Однако на Linux-машине nslookup / dig с использованием нового DNS-сервера приводил к тайм-ауту.

На распространение вашей измененной DNS-записи в Интернет требуется время. Новая запись будет автоматически заменена, когда срок вашей старой записи истечет, как определено в TTL. Вам нужно подождать, пока истечет TTL.