Dns
DNS 白名單域
我正在嘗試設置幾個 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(但請注意,如果您的目標不是過濾,還有其他配置)。