Answers:
这是一个至少可以使用的完整解决方案12.04
:
sudo nano /etc/dhcp/dhclient.conf
# add next line (alternatively you can use append instead of prepend)
prepend domain-name "example.com other.example.com";
# before: request subnet-mask...
(sudo -e /etc/dhcp/dhclient.conf
如果您信任默认编辑器,也可以使用)
如果您使用的是拥有自己的DNS服务器的任何“专业”网络,并且/或者如果您在上述网络以及工作站上都设置了自己的DNS服务,那么您可能还需要发表评论-在这行外:
# domain-name, domain-name-servers, domain-search, host-name,
-这样一来,您就可以使用自己的域名服务器,从而使个性化的域名搜索工作更加顺畅,这可能比使用别人为您设置的任何内容都要好。EG:我在网络192.168.10.0上;该公司有名称服务器192.168.10.10和192.168.10.11-但是,我运行了自己的名称服务器,并在192.168.10.20上拥有了更广泛的名称列表(根据需要将其转发到192.168.10.10和.11)。我所有的网络配置都声明了192.168.10.20和8.8.8.8和8.8.4.4(Google域名服务器),但是DHCP将倾向于覆盖该首选项,将192.168.10.10作为默认服务器。最后...不要求DHCP提供这些方面的服务可以延长网络寿命。
现在重新启动网络:
sudo service networking restart
(您也可以使用sudo /etc/init.d/networking restart
旧的rc脚本)
如果您不使用网络管理器,那么Sorin的答案和Ib33X的答案都是正确的。如果您使用的是网络管理器,则网络管理器似乎完全控制了resolv.conf文件的生成(最终这是网络系统用于dns查找的内容)。更改dhcpclient.conf无效。
但是,如果使用网络管理器,则有一个(不完善的)解决方案:
通过检查resolve.conf文件,记下DHCP设置的DNS服务器:
猫/etc/resolv.conf
右键单击“网络管理器”指示器,然后选择“ 编辑连接...”。
这种方法的缺点是必须同时指定DNS服务器和搜索域名。仍然无法从DHCP中提取DNS服务器地址。
此外,必须为每个连接更改设置。我不知道如何更改所有连接的设置。但是,这通常是一个优势。例如,您可能需要为家庭无线网络和工作无线网络设置不同的设置。
在这种情况下,请尝试以下操作:当用户从dhcp服务器获取IP地址时,它将获取多个DNS服务器
/etc/dhcp3/dhcpd.conf:
ddns-update-style none;
忽略客户端更新;
权威性;
默认租赁时间1209600;
最大租赁时间1814400;
选项local-wpad代码252 =文本;
选项域名服务器10.0.0.15、8.8.8.8、192.168.1.1;
选项时间偏移0