2026年10月23日 星期五

RouterOS Recursive Routing

Recursive Routing 「遞迴路由」

為什麼需要「遞迴路由」?
在設定雙 WAN 備援時,如果只在預設路由上設定 check-gateway=ping
並指向 ISP 的閘道器 (例如數據機 IP),
路由器只會檢查「自己到數據機」這一段連線是否正常。
一旦發生「數據機沒壞,但 ISP 機房端光纖斷裂」的情況,
路由器仍會誤判主線路正常,導致斷線。
MikroTik 官方採用 Recursive Routing (遞迴路由) 解決這個盲點:

1. 指定外部監控目標: 挑選穩定且可以 Ping 主機 (例如 8.8.8.8 與 8.8.4.4),
強制指定它們分別透過 ISP1 與 ISP2 的實體閘道器連線。

2. 將預設路由指向監控目標: 把預設路由 (0.0.0.0/0) 的 gateway 設為 8.8.8.8 而非 ISP 閘道器,
路由器會自動「遞迴查找」前往 8.8.8.8 的真實下一跳 (即 ISP1 閘道器)

3. 透過 scope 與 target-scope 控制查找範圍
scope: 代表該條路由本身的「距離層級」
target-scope: 代表這條路由允許去查找 scope 值小於或等於此數值的其他路由作為下一跳。
在 RouterOS v7 中,遞迴路由的 target-scope 必須嚴格大於或等於底層主機路由的 scope
(官方範例將底層監控路由設為 scope=10,預設路由設為 target-scope=11)


參數項目主要線路(ISP1)備援線路(ISP2)說明
外網介面(Interface)ether1ether2連接兩家 ISP 的實體或邏輯埠
ISP 閘道器(Gateway)10.111.0.110.112.0.1ISP 配發的上游閘道器 IP
路由優先權(Distance)1(優先使用)2(備援待命)數值越小優先權越高
第一組監控主機(Google DNS)8.8.8.88.8.4.4用於基礎連通性偵測
第二組監控主機(OpenDNS)208.67.222.222208.67.220.220用於雙主機防誤判(進階設定)


NAT rule
/ip/firewall/nat
add chain=srcnat action=masquerade out-interface=ether1
add chain=srcnat action=masquerade out-interface=ether2

指定外部監控目標
/ip/route/
add dst-address=8.8.8.8 scope=10 gateway=10.111.0.1
add dst-address=8.8.4.4 scope=10 gateway=10.112.0.1

將預設路由指向監控目標
/ip/route/
add distance=1 gateway=8.8.8.8 target-scope=11 check-gateway=ping
add distance=2 gateway=8.8.4.4 target-scope=11 check-gateway=ping

進階強化: 加入第二組監控主機防止單一目標誤判
/ip/route
add dst-address=208.67.222.222 gateway=10.111.0.1 scope=10
add dst-address=208.67.220.220 gateway=10.112.0.1 scope=10
add distance=1 gateway=208.67.222.222 target-scope=11 check-gateway=ping
add distance=2 gateway=208.67.220.220 target-scope=11 check-gateway=ping

注意事項:
監控目標要避開內網設備可能的連線目標
官方的設定範例,8.8.8.8 與 208.67.222.222 已經被靜態路由強制綁定在 ISP1,
當 ISP1 斷線,切換至 ISP2 時,內網設備將暫時無法連上 8.8.8.8 與 208.67.222.222
所以內網設備 DNS 就不能指定 8.8.8.8 及 208.67.222.222

ref. Failover (WAN Backup)


沒有留言:

RouetOS 7.25 set minimal supported WinBox version to 4.3

2026-10-23 釋出的 RouterOS 7.25 強制使用 WinBox 4.3 以上的版本 使用舊版 WinBox 3.43 會出現 ERROR: router requires newer winbox, please upgrade RouterOS 7.24.5 ...