Networkmanager

來自 resolvconf.conf 的 name_servers= 沒有前置,它們單獨使用

  • January 11, 2022

我啟用rc-manager=resolvconfNetworkManager.conf,現在 resolvconf 用於維護 resolv.conf。目前,我只有一個有線連接,我的 dhcp 伺服器返回 2 個搜尋域和 4 個名稱伺服器,並且使用預設的 resolvconf 配置,它們都被添加到resolv.conf.

我有一個獨立的dnsmasq,根據RESOLVCONF.CONF(5)

 name_servers
         Prepend name servers to the dynamically generated list.  You should 
         set this to 127.0.0.1 if you use a local name server other than libc.

所以我在 中取消了註釋name_servers=127.0.0.1resolvconf.conf但是現在,當我在 NetworkManager 中啟用連接時,只有搜尋域會resolv.conf根據 DHCP 設置進行更新。至於名稱伺服器,文件中始終只有一行:

nameserver 127.0.0.1

為什麼不resolvconf將其他四個名稱伺服器附加到它?

這是從 NetworkManager 擷取的 args 和 stdin:

/usr/bin/resolvconf -a NetworkManager <<'EOF'
# Generated by NetworkManager
search domain1.com,domain2.com reallin.basin
nameserver 10.14.33.139
nameserver 10.14.33.140
nameserver 192.168.149.11
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 192.168.110.11
EOF

實際上,我不想啟用resolvconf. 我想要的只是將 127.0.0.1 添加到由 NetworkManager 從 DHCP 添加的名稱伺服器之前,但我不知道如何使用rc-manager=symlink預設設置來執行此操作。

為了使它工作,我必須添加其他設置:

resolv_conf_local_only=NO

令人驚訝的是,預設情況下它是 YES。

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