两个接口的DNS服务器的顺序如何设置?

两个接口的DNS服务器的顺序如何设置?

我的主板有两个网络接口。它们都使用 DHCP 获取 IP 地址和 DNS。默认路由是按度量排序的,但 DNS 服务器收到的顺序dhcpcd是相反的。我的默认路由表:

Destination     Gateway         Genmask  Flags Metric  Ref    Use Iface
0.0.0.0        192.168.8.1     0.0.0.0    UG       5      0         0       eth0
0.0.0.0        10.67.145.17    0.0.0.0    UG       10     0         0       eth2

解析.conf:

domain lan
nameserver 211.136.17.107 ---- (eth2)
nameserver 211.136.20.203 ---- (eth2)
nameserver 192.168.8.1    ---- (eth0)

eth0是以太网,eth2是4G。

我希望默认路由和 DNS 服务器的顺序相同,是否有任何配置选项?

答案1

嗯...根据whois,211.136.17.107 属于 211.136.16.0/21 网段,属于中国移动。

如果您使用基于 Debian 或 Ubuntu 的发行版,您可以安装该resolvconf软件包并修改该/etc/resolvconf/interface-order文件,以表明您特别想要eth0首先获得 的记录,然后是eth2.

如果没有resolvconf可用的,您可能需要检查所使用的挂钩脚本dhcpcd并修改它们以根据需要对 DNS 服务器地址进行排序。钩子脚本使用script关键字 in进行配置dhcpcd.conf;如果未指定,默认值通常类似于/usr/lib/dhcpcd/dhcpcd-run-hooks(检查您的man dhcpcd.conf可能的特定于发行版的修改)。

或者,您可以通过为不会自动以正确方式路由的名称服务器添加自定义路由来解决该问题。由于名称服务器 192.168.8.1 也是您的默认网关,因此它必须位于您的本地网段中,因此会自动为其首选正确的接口。但对于 211.136。名称服务器,添加类似的路由

ip route add 211.136.16.0/21 via 10.67.145.17 dev eth2

应停止尝试通过错误的界面联系他们。请注意,关键字后面的 IP 地址via是 eth2 上 DHCP 指定的网关地址,因此您可能需要创建/修改 dhcpcd 挂钩脚本来在配置 eth2 时创建该路由,而使用 DHCP 服务指定的网关地址对它进行硬编码。

相关内容