Dns
為什麼 nslookup 對設置為私有地址的 DNS 記錄失敗?
設置
在某些網路上,我可以用來
nslookup
解析指向私有 IP 地址的域名:@work> nslookup my192.ddns.net Server: 10.1.2.3 Address: 10.1.2.3#53 Non-authoritative answer: Name: my192.ddns.net Address: 192.168.20.20
但是,在我的家庭網路上,同樣的查詢失敗了:
@home> nslookup my192.ddns.net Server: 192.168.0.1 Address: 192.168.0.1#53 Non-authoritative answer: *** Can't find my192.ddns.net: No answer
什麼有效
我發現如果我更改 A 記錄以
my192.ddns.net
使其指向公共 IP 範圍,它將正常工作:@home> nslookup my192.ddns.net Server: 192.168.0.1 Address: 192.168.0.1#53 Non-authoritative answer: Name: my192.ddns.net Address: 172.217.12.238
在家裡,如果我為 nslookup 指定 DNS 伺服器,或者
nslookup
按預期將筆記型電腦的 DNS 伺服器設置為 Google 的作品:@home> nslookup my192.ddns.net 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: my192.ddns.net Address: 192.168.20.20
但我想繼續使用我的家庭路由器作為我的主 DNS,以便它可以解析本地網路名稱。我只是希望它在嘗試查找指向私有範圍地址的 DNS 記錄時不會失敗(例如
192.168.20.20
:)家庭網路
我在家用路由器上執行LEDE(以前稱為OpenWRT),它執行
dnsmasq
. 我查看了DNS 的文件,甚至設置了系統,以便它用來解析地址的 DNS 伺服器是 Google 的 (8.8.8.8
) - 但它仍然失敗,我似乎無法弄清楚原因。問題
這裡發生了什麼,我該如何解決?
這是 的一個特點
dnsmasq
。人們dnsmasq
稱之為“重新綁定保護”,您可以在dnsmasq
手冊中看到它作為--stop-dns-rebind
命令行選項和在 LEDE doco 作為rebind_protection
選項。它預設為開啟。將其關閉,或將您希望使用的域添加到白名單
rebind_domain
域集中。它聲稱要防止的攻擊是攻擊者利用您的 WWW 瀏覽器將自動下載並執行來自世界各地的攻擊者提供的程序這一事實,使 xyr 域名似乎在外部IP 地址和 LAN 內部的一個,允許您的機器成為 LAN 上具有該 IP 地址的另一台機器與一些攻擊者執行的內容伺服器之間的管道。