更改默认搜索名称

更改默认搜索名称

我的Ubuntu12服务器虚拟机正在从 DHCP 服务器(实际上是我的名为 Fritz Box 的 WLAN 路由器)接收其 IP 地址。因此所有域名都解析为machinename.fritz.box.原因似乎resolv.conf/etc.

但是我如何将此搜索名称更改为任意名称,例如xyz.mydomain?它清楚地说不编辑文件。机器本身设置ubuntu.xyz.mydomain如下hostname。我想要的是machine1假设是machine1.xyz.mydomainand NOT(!) machine1.fritz.box

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.1
search fritz.box # shall be xyz.mydomain

答案1

resolvconf是一个管理resolv.conf文件的程序,以便多个源可以添加和删除条目而不会互相绊倒。每个网络接口的管理器都会向其提供resolv.conf该接口的文件,然后它将它们全部合并在一起。

resolvconf旨在由网络脚本或 DHCP 客户端运行,但您也可以自己运行。您所做的条目必须与界面相关联; “ lo”接口非常适合用于本地管理的条目,因为它始终处于运行状态,不是动态管理的,并且其条目优先于其他接口。所以:

echo 'search xyz.mydomain' | resolvconf -a lo

将添加xyz.mydomain到搜索列表的开头。这将持续到您运行为止resolvconf -d lo。 (如果您使用网络脚本来关闭接口,网络脚本也可能会运行此命令lo。)

您可以通过让网络脚本为您处理它来使其更加持久。在 Ubuntu 或其他 Debian 系列发行版上,/etc/network/interfaces按如下方式编辑文件:

iface lo inet loopback         # This line already present
    dns-search xyz.mydomain    # Add this line beneath it

欲了解更多信息:

答案2

做到这一点的最佳方法是正确配置您的 WLAN 路由器,即为您的主机提供正确的完全限定域名 (FQDN)。

如果 WLAN 路由器为 myhome.org 域中的主机提供服务,则将其配置为 wlan-router.myhome.org。它可能使用自己的域名作为分发给客户的价值。

完整的 DHCP 具有为客户端系统设置此值的选项:

option domain-search "example.com", "sales.example.com", "eng.example.com";

尽管有可能,但您不太可能在 WLAN 路由器中设置这些 dhcp 选项。

如果你真的遇到困难,你可以编辑 resolv.conf,每次运行 dhcp 客户端时它都会被破坏。您可以编写一个脚本来每次更新它,但这并不理想,并且如果这是一个移动系统(例如笔记本电脑),可能会让您感到悲伤。

答案3

如果不知道如何在路由器中更改它,一种方法是在虚拟机中设置静态 IP。

修改/etc/network/interfaces如下。

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.0.X
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.0.1
    dns-search xyz.mydomain

更改192.168.0.X为要分配给 VM 的 IP 地址。它应该在 dhcp 范围之外。

dns-nameserversdns-search设置您的/etc/resolv.conf.

相关内容