Debian
如何知道 resolv.conf 條目來自哪裡?
我使用 resolvconf 來管理名稱伺服器,因為我的 OpenVPN 需要它。但是,我注意到它生成的名稱伺服器資訊並非我想要的那樣:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 173.31.45.181 nameserver 192.168.1.1 nameserver 8.8.8.8 search lan 8.8.8.8
當我沒有連接到 VPN 時,這裡的每個指令都是不受歡迎的,除了
nameserver 8.8.8.8
. 我怎麼知道為什麼 resolvconf 放置一個特定的條目?有沒有辦法辨別什麼程序想要nameserver 192.168.1.1
在那裡?我試過man resolvconf
了,但它沒有提供答案。
/etc/resolv.conf
是從目錄中的部分建構的/run/resolvconf/interface
(目前 Debian 和 Ubuntu 上的實際位置)[/etc/resolvconf/run](http://manpages.debian.org/cgi-bin/man.cgi?query=resolvconf&sektion=8)/interface
(舊位置,仍然通過 Debian 上的符號連結存在)。每個部分都以其關聯的介面命名。當它們不是靜態的時,
/etc/resolvconf/run/interface
通常從 中的靜態配置/etc/network/interfaces
、從 中執行的腳本/etc/network/if-*.d
或通過設置網路連接的服務(例如 NetworkManager、wicd 或 OpenVPN)設置條目。例如,OpenVPN 附帶一個/etc/openvpn/update-resolv-conf
通常由 OpenVPN 客戶端配置呼叫的腳本。