ROS 自动切换 DNS 确保 Google 可用 - 脚本详解
在 ROS(RouterOS)上监测 Google 的连接状态并进行相应的 DNS 切换可以使用以下脚本:
:local googleStatus [/ping address=www.google.com count=1 interval=1]
:if ($googleStatus=0) do={
:local currentDNS [/ip dns get [find] servers]
:if ($currentDNS='10.0.0.1') do={
/ip dns set servers=119.9.9.9
:log info 'Switched DNS to 119.9.9.9'
}
} else={
:local currentDNS [/ip dns get [find] servers]
:if ($currentDNS!='10.0.0.1') do={
/ip dns set servers=10.0.0.1
:log info 'Switched DNS to 10.0.0.1'
}
}
上述脚本会执行以下步骤:
- 使用
/ping命令检查 Google 的连接状态,并将结果存储在googleStatus变量中。 - 如果
googleStatus的值为 0(即不可达),则继续执行以下步骤:- 获取当前 DNS 服务器的地址,并将其存储在
currentDNS变量中。 - 如果
currentDNS的值为 '10.0.0.1',则继续执行以下步骤:- 使用
/ip dns set命令将 DNS 服务器切换为 '119.9.9.9'。 - 记录日志,指示已将 DNS 切换为 '119.9.9.9'。
- 使用
- 否则,不执行任何操作。
- 获取当前 DNS 服务器的地址,并将其存储在
- 如果
googleStatus的值不为 0(即可达),则继续执行以下步骤:- 获取当前 DNS 服务器的地址,并将其存储在
currentDNS变量中。 - 如果
currentDNS的值不为 '10.0.0.1',则继续执行以下步骤:- 使用
/ip dns set命令将 DNS 服务器切换为 '10.0.0.1'。 - 记录日志,指示已将 DNS 切换为 '10.0.0.1'。
- 使用
- 否则,不执行任何操作。
- 获取当前 DNS 服务器的地址,并将其存储在
请注意,上述脚本仅是示例,可能需要根据实际情况进行调整。另外,确保将脚本保存为 ROS 的脚本文件,并在适当的时间间隔内执行脚本。
原文地址: https://www.cveoy.top/t/topic/bASf 著作权归作者所有。请勿转载和采集!