Domain-Name-System
Bind9 根據請求的伺服器(自己的)IP 地址解析
我有一個 bind9 DNS 伺服器,上面分配了兩 (2) 個 IP 地址。我們稱它們為 IP#1 和 IP#2。我需要一種方法來了解客戶端正在使用哪個 IP 地址,並在其 nslookup 中以不同的結果進行響應。我將嘗試用下面的兩個例子來解釋。
使用者“X”使用 NS 伺服器 IP#1 對 domainname.com 進行 nslookup。伺服器應該返回一個特定的地址。
使用者“Y”使用 NS 伺服器 IP#2 對 domainname.com 執行相同的 nslookup。伺服器應該為他返回一個不同的地址。
任何關於從哪裡開始尋找的指導都會有很大的幫助。
請參閱https://ftp.isc.org/isc/bind9/cur/9.18/doc/arm/html/reference.html#view-statement-grammar上的綁定“視圖”功能
您可以將特定區域內容與特定視圖匹配,並且可以根據使用的目標 IP 地址(即您的伺服器 IP 地址)定義視圖。
view view_name [ class ] { match-clients { address_match_list } ; match-destinations { address_match_list } ; match-recursive-only yes_or_no ; [ view_option ; ... ] [ zone_statement ; ... ] } ;
view 語句是 BIND 9 的一個強大功能,它允許名稱伺服器根據提問者的不同來回答 DNS 查詢。它對於實現拆分 DNS 設置而無需執行多個伺服器特別有用。
每個視圖語句定義了一個客戶端子集可以看到的 DNS 名稱空間的視圖。如果客戶端的源 IP 地址與視圖的 match-clients 子句的 address_match_list 匹配,並且其目標 IP 地址與視圖的 match-destinations 子句的 address_match_list 匹配,則客戶端匹配視圖。
雖然存在並使用了此功能,但請注意,除了在各種視圖之間同步數據的所有問題之外,它使故障排除變得更加複雜。所以要格外小心。