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

Cisco - NAT заставляет nslookup возвращать локальный IP

Немного предыстории:

У меня есть сервер в моей локальной сети, который статически настроен NAT для своего общедоступного IP-адреса в моем Cisco 871. Остальная часть той же локальной подсети статически настроена NAT для другого общедоступного IP-адреса для разделения трафика. Авторитетный общедоступный сервер имен для моего домена имеет все соответствующие и правильные записи для сервера. Кроме того, информация полностью распространилась по всему миру несколько недель назад.

Проблема:

При выполнении nslookup моего домена с любого компьютера в той же физической локальной сети, что и сервер, независимо от подсети (у меня две подсети), я возвращаю локальный IP-адрес сервера вместо его общедоступного IP-адреса. nslookup возвращает правильный (общедоступный) IP-адрес при выполнении из-за пределов этой сети.

Что я знаю до сих пор:

Я знаю, что проблема мгновенно исчезнет, ​​как только я удалю статический NAT для сервера (см. Жирную строку в конфигурации ниже). Я не использую CBAC для трафика DNS или чего-либо подобного. Я и мои коллеги серьезно сбиты с толку.

Вот соответствующие фрагменты (адреса намеренно изменены) из моей конфигурации:

Может кто-нибудь помочь мне понять, почему это происходит?

чтобы отключить DNS Doctoring, попробуйте следующую команду:

no ip nat service alg udp dns

Это называется «DNS Doctoring» - он пытается помочь вам, предоставляя локальному клиенту локальный адрес вместо адреса NAT:

Ссылка на FAQ по NAT

Это происходит потому, что код межсетевого экрана IOS (очень похожий на PIX или ASA) проверяет DNS по умолчанию, поэтому, чтобы отключить его, введите «no inspect dns». Предположительно поведение брандмауэра IOS срабатывает, когда вы начинаете использовать статические NAT.

Ссылка на подробности PIX / ASA о DNS Doctoring

Возможно, вы захотите опубликовать немного информации о своей структуре разрешения DNS. Например, клиенты -> Сервер A -> Интернет-провайдер A. Похоже, вы создаете «петлю», когда NAT для сервера находится там, где последняя внутренняя система DNS, которая обращается к внешнему серверу, смотрит на ваш сервер. публичный IP вместо вашего провайдера ??

Чтобы немного уточнить. Когда NAT отсутствует, ваш маршрутизатор обеспечивает разрешение или пересылает его провайдеру. Но с NAT трафик отправляется обратно на сам сервер.