在 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'
    }
}

上述脚本会执行以下步骤:

  1. 使用 /ping 命令检查 Google 的连接状态,并将结果存储在 googleStatus 变量中。
  2. 如果 googleStatus 的值为 0(即不可达),则继续执行以下步骤:
    • 获取当前 DNS 服务器的地址,并将其存储在 currentDNS 变量中。
    • 如果 currentDNS 的值为 '10.0.0.1',则继续执行以下步骤:
      • 使用 /ip dns set 命令将 DNS 服务器切换为 '119.9.9.9'。
      • 记录日志,指示已将 DNS 切换为 '119.9.9.9'。
    • 否则,不执行任何操作。
  3. 如果 googleStatus 的值不为 0(即可达),则继续执行以下步骤:
    • 获取当前 DNS 服务器的地址,并将其存储在 currentDNS 变量中。
    • 如果 currentDNS 的值不为 '10.0.0.1',则继续执行以下步骤:
      • 使用 /ip dns set 命令将 DNS 服务器切换为 '10.0.0.1'。
      • 记录日志,指示已将 DNS 切换为 '10.0.0.1'。
    • 否则,不执行任何操作。

请注意,上述脚本仅是示例,可能需要根据实际情况进行调整。另外,确保将脚本保存为 ROS 的脚本文件,并在适当的时间间隔内执行脚本。

ROS 自动切换 DNS 确保 Google 可用 - 脚本详解

原文地址: https://www.cveoy.top/t/topic/bASf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录