Jim*_*rne 12 networking dns dhcp
如何向使用 DHCP 配置的网络连接添加其他 DNS 搜索域?
在工作中,我们有几个子域(test.example.com、dev.example.com 等),而且每次我需要访问其中一个子域中的服务器时,我已经厌倦了将子域放在一边-域。
这是一个完整的解决方案,至少适用于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...
Run Code Online (Sandbox Code Playgroud)
(sudo -e /etc/dhcp/dhclient.conf
如果您信任默认编辑器,也可以使用)
如果您在任何类型的拥有自己的 DNS 服务器的“专业”网络上,和/或如果您在所述网络和工作站上设置了自己的 DNS 服务,那么您可能还想发表评论-出这一行:
# domain-name, domain-name-servers, domain-search, host-name,
Run Code Online (Sandbox Code Playgroud)
--这样做可以让您使用自己的域名服务器,使您的个性化域名搜索工作更加顺畅,这可能比使用其他人为您设置的任何内容都更好。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
Run Code Online (Sandbox Code Playgroud)
(您也可以sudo /etc/init.d/networking restart
与旧的 rc 脚本一起使用)
小智 7
在更新的 Ubuntu 版本中,网络管理器允许您添加额外的搜索域和 DNS 服务器,同时仍然使用来自 DHCP 的值。
如果您没有使用网络管理器,Sorin 的回答和 Ib33X 的回答是正确的。如果您使用的是网络管理器,那么网络管理器似乎完全控制了 resolv.conf 文件的生成(这最终是网络系统用于 dns 查找的内容)。更改 dhcpclient.conf 无效。
但是,如果您使用的是网络管理器,则有一个(不完美的)解决方案:
通过检查 resolve.conf 文件,记下 DHCP 设置的 DNS 服务器:
猫 /etc/resolv.conf
右键单击网络管理器指示器并选择编辑连接...
这种方法的缺点是您必须同时指定 DNS 服务器和搜索域名。仍然无法从 DHCP 中提取 DNS 服务器地址。
此外,必须为每个连接更改设置。我不知道有什么方法可以更改所有连接的设置。然而,这通常是一个优势。例如,您可能需要为家庭无线网络和工作无线网络设置不同的设置。