这是 Debian Buster。我需要 NetworkManager 才能运行 OpenShift。
我的主接口插在 Linuxbridge 上br1,在 /etc/network/interfaces 中配置:
auto br1
iface br1 inet static
bridge_ports eno1
address 192.168.1.27
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.16, 1.1.1.1
根据文档,NetworkManager 应该离开br1独自的。当我安装 NetworkManager 时,甚至显示了一条这样的消息。然而,br1由NM管理。我可能可以忍受这一点,但想知道为什么文档和现实不同。
接下来,NM 将 /etc/resolv.conf 中的名称服务器设置为 127.0.0.1。我试图用 来改变这一点nmcli c mod br1 ipv4.dns 192.168.1.16
。日志确认using nameserver 192.168.1.16#53(via br1)
,但 /etc/resolv.conf 仍设置为 127.0.0.1。我也在dns=none
/etc/NetworkManager/NetworkManager.conf中进行了设置,但没有效果。是的,我确实重新启动了服务。
我应该采取哪些措施来正确设置名称服务器,并说服 NetworkManager 它不应该管理网桥?
答案1
我的主要问题是名称解析,一种解决方案是使 /etc/resolv.conf 不可变。我不必走那么远,因为重新启动后 NetworkManager 似乎不再触及 /etc/resolv.conf 。
感谢用户@AB,我不受br1
管理宣布它在 /etc/NetworkManager/NetworkManager.conf 中。之前我跑步nmcli dev set br1 managed no
没有任何效果。最初,我对 NetworkManager.conf 手册页中的这句话感到担心:
NetworkManager 控制默认路由,因此由于接口被忽略,NetworkManager 可能会将默认路由分配给其他某个接口
但是,默认路由设置正确(如 /etc/network/interfaces 中配置)。
这些都没有改善我对 NetworkManager 及其难以理解的逻辑的看法。