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

Аномалия запроса DNS

Эксперты, у меня проблема с настройкой DNS серверов, схема сети представлена ​​на рисунке:

Проблема проявляется в следующем:

  1. Два DNS-сервера обслуживают как внутренние, так и внешние запросы; первый - это контроллер домена, второй - почтовый и веб-сервер;

  2. Сервер, обслуживающий внешние запросы, находится в локальной сети и имеет адрес 192.168.1.11; для обслуживания экстрасети маршрутизатор обеспечивает статический NAT-адрес-адрес;

  3. Клиенты в локальной сети используют контроллер домена в качестве DNS-сервера, и у него есть соответствующая зона (она является официальной для зоны), где имена преобразуются в локальные адреса;

  4. Сервер для запросов экстрасети разрешает имена во внешние адреса, протестирован извне нормально. Если выполнить запрос из дома, например

    dig @8.8.8.8 mail.company com.
    

    тогда он дает правильный ответ:

    ;; ANSWER SECTION:
    mail.company.com.           0       IN      A       111.111.111.111
    

Однако при подключении к локальной сети возникает странная аномалия:

dig @8.8.8.8 mail.company.com.

;; ANSWER SECTION:
mail.company.com.           0       IN      A       192.168.1.11

Такой ответ для nslookup:

nslookup -type=A -class=IN mail.company.com. 8.8.8.8

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative:

Name:    mail.company.com
Address:  192.168.1.11

Независимо от внешнего сервера, предназначенного для обслуживания DNS-запросов (Google DNS, Open DNS, ISP DNS), каждый из них возвращает адреса LAN.

Это выглядит нормально для 192.168.1.101 (контроллер домена), но не для внешних серверов. Очистка кеша резолвера, смена DNS-серверов на клиентском ПК не помогает: внешние DNS-серверы отправляют обратно локальные адреса, что невозможно. Те же DNS-серверы по запросу извне (из дома или другого офиса) возвращают правильные внешние адреса.

Примечательно, что при отправке прямого запроса на мой сервер, обслуживающий внешние запросы, я получаю правильный ответ:

Server:  ns.company.com.
Address:  192.168.1.11

Name:    mail.company.com.
Address:  111.111.111.111

Собственно, прошу помощи, чтобы помочь мне решить проблему.

Итак, прежде всего, когда вы запрашиваете внешние DNS-серверы, не забывайте, что они кэшируют результаты. Одно из значений SOA вашей зоны - это продолжительность кэширования результата. Лучший способ проверить - напрямую запросить ваш DNS-сервер.

Во-вторых, помните, что 8.8.8.8 - это произвольный адрес, поэтому вы никогда не сможете точно знать, к какому реальному DNS-серверу вы обращаетесь.

Что происходит, когда вы из своей локальной сети копаете @ 192.168.1.11 -tA mail.company.com

Если вы получите правильный ответ, то я подозреваю, что все, что вам нужно сделать, это подождать, пока внешние DNS-серверы, с которыми вы тестировали, истекли в их кеш-памяти.

Удачи