Arch-Linux
為什麼 NetworkManager 在連接到 VPN 時將 .in-addr.arpa 域推送到 dnsmasq?
我正在嘗試在 ArchLinux 機器上設置NetworkManager/dnsmasq組合併連接到 VPN (OpenVPN)。它似乎按預期工作,除了日誌中與 相關的一堆奇怪條目
dnsmasq
,例如using nameserver 10.1.0.1#53 for domain 0.8.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 0.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 1.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 2.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 3.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 4.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 5.1.10.in-addr.arpa using nameserver 10.1.0.1#53 for domain 6.1.10.in-addr.arpa ...
有大約 50 個這樣的域。為什麼
NetworkManager
將這些域推送到dnsmasq
它們以及它們應該如何使用?
in-addr.arpa 和 ip6.arpa 域用於*反向 DNS。*也就是說,當您有一個 IP 地址並想要查找描述它的域名時。
您不能要求 DNS 為您提供指向該地址的所有域。由於 DNS 資訊分佈在不同的機構之間,這或多或少是不可能的;沒有一個伺服器知道所有域。(曾經有一個用於反向查詢的 DNS 操作碼,但我認為它從未被使用過。)
相反,反向 DNS 被實現為 in-addr.arpa 下特定域下的正常查詢。
例如,如果要對 進行反向查找
10.1.5.7
,請將其轉換為如下所示的域名:7.5.1.10.in-addr.arpa
然後為此發出 PTR 查詢。(地址本身是反向的,以匹配 DNS 委託中從右到左的層次結構。)# dig -x 10.1.5.7 ;; ANSWER SECTION 7.5.1.10.in-addr.arpa. PTR fileserver01.example.com.
因此,每當您的 VPN 伺服器聲明特定 IP 地址範圍的路由時,它也會對對應於該地址範圍的反向 DNS 後綴執行相同的操作。這使您可以快速確定(例如,每當您使用
netstat
查看活動連接時)例如 10.1.5.7 屬於您的文件伺服器“fileserver01.example.corp”。我假設這些域是由 VPN 伺服器手動聲明的,因為我從未見過 dnsmasq 或 NetworkManager 自動執行此操作。