Domain-Name-System

無法訪問 iptables 後面的 BIND DNS 伺服器

  • July 14, 2011

這一行在 iptables

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT

我需要的不僅僅是埠 53 嗎?它使用 telnet 回复,但 nslookup 給出了超時。

如前所述,請參閱https://www.rfc-editor.org/rfc/rfc5966。要正確支持 DNS,您需要允許 TCP 和 UDP 使用埠 53。不這樣做會導致更高的數據包碎片,特別是在引入 IPv6 和 DNSSEC 時(請注意,自 9.2 以來的所有 BIND 版本都會表明它支持 DNSSEC,即使您尚未配置 DNSSEC(除非您將其編譯出來)) . 當人們過濾掉碎片時,這尤其糟糕。

DNS 在UDP 53 而不是 tcp 53 上執行,將您的 iptables 規則更改為:

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

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