我看不到具体要解决的系统,但是如果您使用的是resolvconf
,请尝试以root(su -
或sudo -i
)身份进行以下操作:
echo 'nameserver 10.165.74.2' >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u
该文件中有一个警告,指出手动更改将被覆盖;但在上下文中,该消息适用于/etc/resolv.conf
,不适用于/etc/resolvconf/resolv.conf.d/head
。
这应该将所需的名称服务器放在列表的第一位。当然,如果这在您的操作系统上有效,则可以从NetworkManager中删除10.165.74.2。
本地解析器dnsmasq
也是前进的绝妙途径。使用dnsmasq
,可以利用对DNS和DHCP的更多控制。例如,在这种情况下,dnsmasq
可以基于具有其server
选项的指定域名来查询特定名称服务器。请从dnsmasq.conf
下面查看与您的目标有关的摘录。
# Add other name servers here, with domain specs if they are for
# non-public domains.
server=/our-company-domain.com/10.165.74.2
更新资料
感谢您提及操作系统。在CentOS 7上,有很多方法。在GUI中,单击应用程序>系统工具>设置>网络。选择要配置的连接。
关闭自动DNS和供应名称服务器。应用配置。
下次NetworkManager启动该连接时,它将写入自定义值。(在进行测试时,因为有两个网络连接,所以我先关闭了网络,然后又重新打开了。)
根据文档,
- 提供了用于NetworkManager nmtui的简单的基于curses的文本用户界面(TUI)。
- 提供了命令行工具nmcli,以允许用户和脚本与NetworkManager进行交互。请注意,nmcli可以在无GUI的系统(例如服务器)上使用,以控制NetworkManager的所有方面。它与GUI工具处于同等地位。
特别地,nmcli
文档看起来非常好。