RouterOS 如何切换 DNS 服务器

232 天前
 lnc1995

DHCP 中设置的是 AdguardHome 的地址,现在通过 Netwatch 想在 Adg 挂了的时候,切换 DNS 。 查到的办法都是 DHCP 中 DNS 设置为 ROS 的地址才可以,有没有什么办法在我这种 DHCP 配置下,切换 DNS 呢?

2141 次点击
所在节点    路由器
36 条回复
Yien
232 天前
dhcp dns 设置配置一个备用的 dns 不可以吗?
lnc1995
232 天前
@Yien 这样的话会导致 DNS 泄漏 所以没办法
supemaomao
232 天前
DHcp 里面不是可以设置多个 DNS 服务器吗?如果必须只设置一个且满足切换,就做两个 DNS 服务器,使用 vrrp 虚拟一个 IP 地址,做主备切换。
Kite6
232 天前
ros 可以写个脚本,判断一下 adg 是否存活,不存活的话改掉 dns 就行
Yien
232 天前
@Kite6 这样看起来也可以,不知道客户机会不会即时生效。
herozzm
232 天前
在 `tools` - `Netwatch`


Up
```
/ip dns cache flush
/ip dns set servers=192.168.1.2
```

Down
```
/ip dns set servers=""
/ip dns set servers=192.168.1.100
```
hefish
232 天前
用带 chatgpt 的 routeros 即可。。。
lnc1995
232 天前
@Kite6 这是不行的 ROS 下的客户端这时候获取的还是 ADG 的地址
lnc1995
232 天前
@herozzm 这是不行的 ROS 下的客户端这时候获取的还是 ADG 的地址
lnc1995
232 天前
@supemaomao 感觉这个好像有点可行性 关键是这个 VRRP 可以把 223.5.5.5 这种虚拟吗?我也没接触过 VRRP ,我想要的还是用公共 DNS 做后备切换,自建的一个就够用了。不知道你说的 VRRP 可不可以做到这点
supemaomao
232 天前
@lnc1995 既然你要用公共做后备,在 DHCP 下发的时候为什么不能下发两个 DNS 服务器,首选你的 adg ,第二个 223 。vrrp 的方案大致适用场景是这样,假如 你现在,DHCP 下发 DNS 服务器是 192.168.1.3 这个默认是 adg ,如果 adg 挂了,网络就挂了。用 vrrp 以后用 1.5 ( vppr 网卡 ip )在 1.3 与 1.1 (假设这是 ros 的 ip )中做一个负载。DHCP 下发设置 1.5 ,正常情况下 adg 不挂,用 1.3 的 adg 解析,如果 adg 挂了 会通过 1.1 的 ROS 做 DNS 服务器。
herozzm
232 天前
@lnc1995 将 DHCP 下发的 dns 设置成 ros 的 ip 即可
lnc1995
232 天前
@supemaomao 感觉符合我的需求,我来研究研究。不下发两个主要是 DNS 泄漏问题
lnc1995
232 天前
@herozzm 就是不想设置成 ROS 地址来着 这样 ADG 没法统计客户端
herozzm
232 天前
同理啊,你在 up 和 down 里面设置脚本修改 dhcp 设置即可
Yien
232 天前
脚本配合
```
/ip dhcp-server lease remove [find]
```
试试
jinqzzz
232 天前
nat 转发 ros:53 到 adg 可以正常统计
jinqzzz
232 天前
VRRP 什么的都可以试试,你这么简单的网络,方法简直太多了
neroxps
231 天前
emmm netwatch 用 ping 确认并不能百分百确认 dns 是否存活,因为 ag 挂了也会导致故障。
建议用脚本向目的 dns 查询,如果查询成功就存活,查询失败三次就切换。
1 做 dnat ,将所有目的地址是 53 的 udp 目的地址改写为 ros 地址,挟持所有 dns 流量。
2 ros 做 dns server

不需要做什么 vrrp 。
neroxps
231 天前
具体实现的脚本如下,可以参考我的脚本。

https://github.com/neroxps/RouterOS-Script/blob/master/Clash_dns_check.rsc

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

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

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

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

© 2021 V2EX