Linux
在 Linux 上使用命名的條件 DNS 轉發
我有一個以 DNS 解析命名的 Centos 5.2 伺服器——它不保存任何自己的資訊,只轉發所有請求。從named.conf:
options { [...] forwarders { 1.1.1.1; 1.1.1.2; }; };
named.conf 中的所有其他行都保留為預設值。
我想更改配置,以便將 newdomain.com 下的任何請求傳遞到 22.22.22.22,而對任何其他地址的請求傳遞到 1.1.1.1 或 1.1.1.2
如何在此伺服器上配置 DNS 來執行此操作?
呵呵,在自己動手之前,我對之前的答案投了贊成票。
對,所以,如果您編輯
named.conf
並添加以下內容:zone "newdomain.com" { type forward; forward only; forwarders { 22.22.22.22; }; };
現在您將無法輕鬆地進行反向查找,您必須修改以下區域語句以使域的 IP 地址有意義(這最初是 192.168.80.0/24 的反向)。
zone "80.168.192.in-addr.arpa" { type forward; forward only; forwarders { 22.22.22.22; }; };
進行更改後,您應該
- 檢查您是否沒有修改配置文件:
named-checkconf
- 告訴 bind 重新載入它的配置:(
rndc reload
更喜歡/etc/init.d/bind reload
)請記住,這將返回域的非權威答案。解決這個問題的方法(並在遠端 DNS 出現問題時提供更好的本地記憶體)將充當區域的從屬。
編輯以添加
forward only;
語句。這將導致查詢在嘗試轉發器中指定的伺服器後失敗,而不是失敗然後嘗試標準查找。還進行了編輯以將 /etc/init.d/bind reload 更改為rndc reload
在評論中的建議之後。