Dns

DNS 白名單域

  • March 30, 2015

我正在嘗試設置幾個 DNS 伺服器來僅解析指定的域。我的第一次嘗試是執行 DNSmasq 並創建一個手動的域/IP 列表,如下所示:

no-resolv
address=/whatsapp.com/192.155.212.202

但是像 google、twitter、whatsapp、facebook 等大型服務使用多個 IP 範圍並以不同的方式(子域、協議、地理位置、客戶端的設備類型等)分發它們,這會造成一些麻煩。

我認為最簡單的方法是這樣說:

將這些域的 DNS 查詢轉發到 resolv.conf 並阻止其他任何內容

有沒有辦法做到這一點?

您正在尋找server=指令而不是address=指令。不幸的是,您必須指定您的實際 DNS 伺服器,它不會從中獲取它們resolv.conf(因為您使用 no-resolv 來防止這種情況)。

server=/whatsapp.com/8.8.8.8
server=/whatsapp.com/8.8.4.4
server=/example.com/8.8.8.8
server=/example.com/8.8.4.4
⋮

您可能想用腳本生成它。當然,您可以使用普通的 DNS 伺服器而不是 Google 公共 DNS。

或者,您可以使用 BIND(但請注意,如果您的目標不是過濾,還有其他配置)。

引用自:https://unix.stackexchange.com/questions/193427