如何使用NetworkManager设置IPv4和IPv6 DNS服务的执行顺序

问题


我们再红帽企业 Linux 7/8操作系统中,希望设置一个网络管理器连接配置文件,以按以下顺序放置 DNS 服务器:

  • 分配 IPv6 地址的 DNS 服务器。
  • 另一个已分配 IPv4 地址的 DNS 服务器。

通过这样做,我们希望 DNS 客户端首先使用 IPv6 地址访问 DNS 服务器。如果它不响应,则客户端应访问另一个 DNS 服务器与 IPv4 地址。

我们假设 ipv4.dns 优先级和 ipv6.dns 优先级是符合以下扩展阅读内容。

扩展阅读


NetworkManager 根据以下规则命令文件中的 DNS 服务器:/etc/resolv.conf

  • 如果只有一个连接配置文件存在,则网络管理器将使用在该连接中指定的 IPv4和IPv6DNS服务器的顺序。
  • 如果激活了多个连接配置文件,则网络管理器会根据DNS优先级值对DNS服务器进行订购。如果设置 DNS 优先级,则 NetworkManager的行为取决于参数中设置的值。您可以在文件中的部分中设置此参数:dns[main]/etc/NetworkManager/NetworkManager.conf
    • dns=default或者,如果未设置参数:dns
      NetworkManager 根据每个连接中参数从不同的连接订购DNS服务器。ipv4.dns-priorityipv6.dns-priority
      如果未设置任何值,或者将 和 设置为 ,则网络管理器将使用全局默认值。配置请参考ipv4.dns-priorityipv6.dns-priority0
    • dns=dnsmasq或:dns=systemd-resolved
      当您使用这些设置之一时,NetworkManager 会为文件中的条目设置或作为条目。127.0.0.1dnsmasq127.0.0.53nameserver/etc/resolv.conf
      在NetworkManager连接中设置的搜索域和服务转发查询到该连接中指定的 DNS 服务器,并将查询转发到具有默认路由的连接的其他域。当多个连接具有相同的搜索域集时,将此域的查询转发到具有最低优先级值的连接中的 DNS 服务器集。dnsmasqsystemd-resolveddnsmasqsystemd-resolved

DNS 优先级参数的默认值

网络管理器对连接使用以下默认值:

  • 50用于VPN连接
  • 100用于其他连接

有效的 DNS 优先级值:

您可以将全局默认值和特定于连接的 参数设置为 和 之间的值。ipv4.dns-priorityipv6.dns-priority-21474836472147483647

  • 较低的值具有较高的优先级。
  • 负值具有排除具有较大值的其他配置的特殊效果。例如,如果存在至少一个具有负优先级值的连接,则 NetworkManager 仅使用具有最低优先级的连接配置文件中指定的 DNS 服务器。
  • 如果多个连接具有相同的 DNS 优先级,则网络管理器按以下顺序对 DNS 进行优先级排列:
    • VPN 连接
    • 与活动默认路由的连接。活动默认路由是默认路由的最低指标。

但是,根据我们测试,ipv[46].dns 优先级的值不会影响这两个DNS服务器的顺序。看来我们必须手动配置 /etc/resolv.conf。

  • 是否支持以下 DNS 客户端配置?
    • 指定 IPv4 和 IPv6 DNS 服务器,以及
    • 提供它们之间的特定排序。
  • NetworkManager 能否设置在单个连接配置文件中定义的 IPv4 和 IPv6 地址的 DNS 服务器的优先级顺序。
    • 如果是,请告诉我们怎么做。

解决方案


为TA充电
共{{data.count}}人
人已赞赏
笔记

WARNING: CPU: 0 PID: 0 at drivers/scsi/qla2xxx/qla_isr.c:2859

2021-3-26 20:55:49

笔记

Job nfs-server.service/start failed with result 'dependency'

2021-3-26 21:03:29

此心远送浑河岸,斟别酒,唱阳关,临别无语空长叹,酒已阑,曲未残,人初散,心长怀去后,杳鱼雁,对遥山,当时无计锁雕鞍,去后思量悔应晚,别时容易见时难!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索