Cisco

Cisco - NAT 導致 nslookup 返回本地 IP

  • October 5, 2015

一點背景

我的 LAN 上有一台伺服器靜態 NAT 到我的 Cisco 871 中的公共 IP。同一本地子網的其餘部分靜態 NAT 到不同的公共 IP,以分離流量。我的域的權威公共名稱伺服器具有該伺服器的所有相關且正確的記錄。此外,該資訊幾週前已完全傳播到世界其他地方。

問題

從與伺服器位於同一物理 LAN 上的任何機器上執行我的域的 nslookup 時,無論子網(我有兩個子網)如何,我都會返回伺服器的本地 IP,而不是其公共 IP。nslookup 在從該網路外部執行時返回正確的(公共)IP。

到目前為止我所知道的

我知道一旦刪除伺服器的靜態 NAT,問題就會消失(請參閱下面配置中的粗線)。我沒有將 CBAC 用於 DNS 流量或任何類似性質的東西。我和我的同事們都非常困惑。

以下是我的配置中的相關片段(故意更改的地址):

  • ip nat 池辦公室 65.xx162 65.xx162 網路遮罩 255.255.255.240
  • ip nat 池來賓 65.xx164 65.xx164 網路遮罩 255.255.255.240
  • ip nat inside source list 1 pool office 過載
  • ip nat inside source list 2 pool guest 超載
  • ip nat inside source static tcp 192.168.1.1 22 介面 FastEthernet4 41234
  • ip nat inside source static tcp 192.168.1.69 22 介面 FastEthernet4 44321
  • ip nat inside source static tcp 192.168.1.12 3389 interface FastEthernet4 51234
  • ip nat inside source static 192.168.1.9 65.xx163
  • !
  • 訪問列表 1 許可 192.168.1.0 0.0.0.255
  • 訪問列表 1 拒絕任何
  • 訪問列表 2 許可 192.168.100.0 0.0.0.255
  • 訪問列表 2 拒絕任何

有人可以幫我理解為什麼會這樣嗎?

它被稱為“DNS Doctoring”——它試圖通過為本地客戶端提供本地地址而不是 NAT 地址來幫助您:

與 NAT 常見問題的連結

這樣做是因為 IOS 防火牆程式碼(很像 PIX 或 ASA)預設檢查 DNS,因此要禁用它會發出“不檢查 dns”。據推測,當您開始使用靜態 NAT 時,IOS 防火牆行為就會啟動。

與 DNS Doctoring 上的 PIX/ASA 詳細資訊連結

要禁用 DNS 醫生,請嘗試以下命令:

no ip nat service alg udp dns

引用自:https://serverfault.com/questions/17170