局域网内多个 dhcp 服务器分发 dns 的问题

2020-09-19 14:06:34 +08:00
 MLawliet
局域网内跑了一台 openwrt(192.168.20.241)做旁路由,开了 dhcp 和 dnsmsaq, 现在想根据 MAC 给需要 fq 的设备分配网关 /dns 为 openwrt ip

主路由 192.168.20.1

网络是 ipv4+ipv6 双栈

/etc/config/dhcp 设置如下

config host
option mac 'AA:CC:88:B5:55:22'
option name 'Nexus6P'
option dns '1'
option tag 'custom_gw'
option ip '192.168.20.130'

config tag 'custom_gw'
list dhcp_option '3,192.168.20.241'
list dhcp_option '6,192.168.20.241'
option force '1'


现在现象是上面这个设备获取到了 192.168.20.241 的网关,和 192.168.20.241 的 ipv4 dns, 这正常,但他还获取到一个 ipv6 的 dns,这个地址是主路由的 ipv6 地址( Android 里能看到 dns 有两个)

设备在请求 dns 时候,好像默认是先走 ipv6,这样导致 openwrt 的 dns 没起作用。

我想问的是,当一个局域网中有多个 dhcp 时,不是哪个服务器先响应就用哪个么,可是为什么上面的情况好像是同时接受了两个 dhcp 给的 dns ? 如何让 openwrt 的 dns 优先?或者 openwrt 如何设置能分配 ipv6 的 dns 来替换掉现在获取的主路由 ip?

我是想 openwrt 关掉后,局域网的设备仍然能从主路由获取 ip,所以需要同时开着两个 dhcp
1147 次点击
所在节点    问与答
4 条回复
Tianao
2020-09-19 14:12:28 +08:00
DHCP 是 DHCP,DHCPv6 是 DHCPv6,SLAAC 是 SLAAC,楼主需要先搞清楚这些 v6 的参数是怎么获取到的。可以首先肯定的是,不是通过 IPv4 的 DHCP 。
SenLief
2020-09-19 14:14:00 +08:00
好像旁路由的 ipv6 一直有问题的,我的旁路由没有开 dhcpv6
baobao1270
2020-09-19 23:40:02 +08:00
1 、DHCP 和 DHCPv6 是分开的,一楼已经说了
2 、十分建议一个网络只设置一个 DHCP 服务器
3 、如果人在国内,强烈建议关掉 IPv6 以提升网速
MLawliet
2020-09-20 10:33:28 +08:00
@Tianao 感谢提醒,这些我又了解了下,不过现在还是没有能解决我问题的方案
@baobao1270 我是想能实现开着旁路由就走旁路由,关了就走主路由,所以目前看必须得开两个 dhcp,关掉 ipv6 可以实现,但又有新问题:我这儿没有公网 ipv4,局域网有台设备需要外网访问,又不想走中转。。

看来只能把去掉当前主路由,把 openwrt 提升为主路由了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708533

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX