我有一台 Archlinux 机器。IP 设置为固定值,通过以下方式配置网络管理器。当我告诉 NetworkManager 使用此配置进行连接时,它会成功更新我的/etc/resolv.conf
:
# Generated by NetworkManager
search mydomain
nameserver 10.123.255.254
很好。但几分钟后DHCP服务器覆盖它,最终看起来像这样:
# Generated by dhcpcd
# /etc/resolv.conf.head can replace this line
nameserver 192.168.0.254
nameserver 8.8.8.8
nameserver 8.8.4.4
现在我有两个问题:首先,我不知道为什么 dhcpcd 会更新文件。我甚至不知道它为什么运行,因为我有一个固定的 IP。此外,我使用 禁用了它systemctl stop dhcpcd && systemctl disable dhcpcd
。
我的另一个问题是,我不知道这些名称服务器地址来自哪里。这些是我的旧 DHCP 服务器的旧值,但此服务器不再可用。我已经使用 wireshark 嗅探了包含此配置的数据包,但我找不到任何类似的东西。更新:此部分已解决,见下文
知道什么地方出了问题吗?
编辑:也许您想查看我的 NetworkManager 连接详细信息:
[802-3-ethernet]
duplex=full
mac-address=aa:bb:cc:dd:ee:ff
[connection]
id=fixed
uuid=12345678-abcd-abcd-abcd-012345abcdef
type=802-3-ethernet
timestamp=1396699414
[ipv6]
method=ignore
[ipv4]
method=manual
dns=10.123.255.254;
dns-search=ait;
address1=10.123.44.44/16,10.123.255.254
更新2014-05-16:
问题又出现了。但是今天我在 NetworkManager 日志中看到了以下两个警告:
NetworkManager[423]: <warn> /sys/devices/virtual/net/tun0: couldn't determine device driver; ignoring...
NetworkManager[423]: <warn> Dispatcher failed: (32) Unit dbus-org.freedesktop.nm-dispatcher.service failed to load: No such file or directory.
也许这有帮助?
我发现了名称服务器地址的来源:它们是在中配置的/etc/resolv.conf.tail
。
答案1
几乎每次有用户问到奇怪的问题时,ArchLinux 论坛成员都会这样祈祷:“你的系统是最新的吗?”。
不。我的系统没有更新。刚刚运行pacman -Syyu
,重新启动,哇哦!现在它可以正常运行。
因此,我提醒自己:当出现异常时,请务必更新您的系统!:-)
更新太糟糕了。网络管理员刚刚又开始这么做了,所以对我来说,这个(我自己的)答案现在无效。