我最近重新安装了 openSUSE 13.1 系统,当然一切都不像以前那样了……所以我家里有一个 Wifi,它工作得很好。连接到办公室的 Wifi 时,IP 地址可以正常使用,但不会更新 /etc/resolve.conf 中的 DNS 信息,我在家里已经将其更改为包含一些 openDNS 服务器。
dhcpcd 在我的旧安装上运行良好,但不再存在,而替换的 dhclient 不再更改 /etc/resove.conf。
所以最后我的问题是:如何强制我的计算机从 DHCP 服务器获取 DNS 配置?
谢谢!
答案1
我刚刚在 Tumbleweed 更新后也遇到了这个问题。要修复它,请删除/etc/resolv.conf
并重新启动。下次登录时,您将从 DHCP 解析。看起来文件优先于 DNS。
-编辑-
只是为了扩大答案。
/etc/resolv.conf
在我的系统更新之前,此文件并不存在。它是在更新后立即创建的,并且是空的。
如果我添加nameserver 8.8.8.8
它,甚至nameserver 192.168.100.1
,DNS就可以再次工作。
此文件由 NetworkManager 读取。我不确定 Wicked 是否也使用它。
DNS 搜索顺序似乎受到 里面的行的影响/etc/nsswitch.conf
。
答案2
您的 /etc/dhcp/dhclient.conf 文件应包含以下行:
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.fqdn, dhcp6.sntp-servers;
我想这是不言而喻的。