惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

博客园 - lsgxeva

SD 卡 / T F卡(Micro SD)检测工具解析:如何用硬件工具确保存储介质可靠性? 第一个案例策略 不用#ifdef写跨平台代码 Windbg常用调试命令 全频段阻塞 Practical Clean Architecture in Typescript, Rust & Python 摄像头配置 ClickToRunSvc logiccircuit help Python 模块 NumPy 影像处理 AI协作 Python 函数和类 Python 入门 VisionLink-RT VisionLink-AI-Glasse RK3588 firefly net n2n config OpenWrt 集成 openNDS 进行 强制门户(Captive Portal) 认证 OpenWrt 集成 easycwmpd 成为 TR-069协议中的设备端(CPE) eh.h acu100 bridge vlan config 卫星天线(KA 0.85m 4W_BUC)使用 SatBox331-20 Modem 的性能情况 OpenSpec OPSX 完整指南 Claude Skill Creator 2.0 完整上手攻略 Auto-Memory + CLAUDE.md Conductor 完整上手攻略 GitNexus 完整上手攻略 code-review-graph 完整上手攻略 Claude Code Hooks 完整开发者指南 Openwrt switch vlan配置 llm-course
routeros RB750GR3 配置双WAN口
lsgxeva · 2026-03-31 · via 博客园 - lsgxeva

routeros RB750GR3 配置双WAN口

来源 https://mp.weixin.qq.com/s/yzkPizj3qJBK6AVGBjBAQw

一、前言

routeros 设备:RB750GR3

系统版本:7.22

内网:10.10.10.0/24

需求:双WAN口,WAN1:4G/5G  WAN2:Starlink ,因为Starlink速度比较快,局域网优先使用WAN2,如果WAN2线路断开,或者没有互联网服务,则切换到WAN1。当WAN2链路恢复,则线路自动切会WAN2。

以下配置满足「Starlink(WAN2)为主优先使用,故障自动切 4G/5G(WAN1),恢复自动回切」的需求,全程适配 DHCP 动态网关,支持外网连通性检测(避免仅网关通但外网断的假在线问题)。

先确认物理连接:

ether1 接 4G/5G CPE,命名为WAN1_4G

ether2 接 Starlink PoE 适配器 LAN 口,命名为WAN2_Starlink

ether3~ether5 接内网设备 / 交换机,加入默认 LAN 桥bridge

内网网段10.10.10.0/24,网关10.10.10.1(已配置可跳过基础部分)

二、操作步骤

第一步:基础接口与 IP 配置

1.1 重命名接口(便于识别)

# 重命名WAN口/interface/ethernet/set ether1 name=WAN1_4G/interface/ethernet/set ether2 name=WAN2_Starlink# 确认ether3-5加入LAN桥(默认已加入,缺失则执行)/interface/bridge/port/add bridge=bridge interface=ether3/interface/bridge/port/add bridge=bridge interface=ether4/interface/bridge/port/add bridge=bridge interface=ether5

1.2 配置内网 IP 与 DHCP(已配置可跳过)

# 配置内网网关/ip/address/add address=10.10.10.1/24 interface=bridge comment="内网网关"# 配置内网地址池/ip/pool/add name=dhcp_pool ranges=10.10.10.100-10.10.10.200# 配置内网DHCP服务器/ip/dhcp-server/add address-pool=dhcp_pool interface=bridge name=dhcp_lan disabled=no/ip/dhcp-server/network/add address=10.10.10.0/24 gateway=10.10.10.1 dns-server=10.10.10.1

1.3 配置双 WAN DHCP 客户端

关键:关闭自动添加默认路由和自动获取 ISP DNS,避免干扰自定义路由

# WAN1 4G DHCP客户端/ip/dhcp-client/add interface=WAN1_4G add-default-route=no use-peer-dns=no use-peer-ntp=no comment="4G WAN DHCP客户端"# WAN2 Starlink DHCP客户端/ip/dhcp-client/add interface=WAN2_Starlink add-default-route=no use-peer-dns=no use-peer-ntp=no comment="Starlink WAN DHCP客户端"

执行后用/ip/dhcp-client/print确认两个 WAN 状态为bound,已获取 IP 和网关。

1.4 配置公共 DNS(避免切换 WAN 时解析故障)

/ip/dns/set servers=1.1.1.1,223.5.5.5 allow-remote-requests=yes

第二步:防火墙配置

2.1 双 WAN 源 NAT(必须配置,否则内网无法上网)

/ip/firewall/nat/add chain=srcnat out-interface=WAN1_4G action=masquerade comment="4G WAN源NAT"/ip/firewall/nat/add chain=srcnat out-interface=WAN2_Starlink action=masquerade comment="Starlink WAN源NAT"
2.2 基础安全过滤规则(可选,建议配置)
# 清空默认规则(新设备执行,已有规则可自行调整去除#)/ip/firewall/filter/remove [find]# 允许已建立的连接/ip/firewall/filter/add chain=input action=accept connection-state=established,related,untracked/ip/firewall/filter/add chain=forward action=accept connection-state=established,related,untracked# 允许内网访问路由和外网/ip/firewall/filter/add chain=input action=accept in-interface=bridge/ip/firewall/filter/add chain=forward action=accept in-interface=bridge# 拒绝其他所有入站/转发,防止WAN侧攻击/ip/firewall/filter/add chain=input action=drop/ip/firewall/filter/add chain=forward action=drop

2.3 禁用 FastTrack(可选,建议禁用)

默认 FastTrack 会加速现有连接,导致切换 WAN 时已有连接延迟切换,建议禁用:

/ip/firewall/filter/disable [find action=fasttrack-connection]

第三步:WAN2 连通性检测配置(核心,避免误检测)

我们用8.8.8.8作为检测目标,强制检测流量仅走 WAN2,确保检测结果真实反映 Starlink 的外网连通性(哪怕 Starlink 网关能通但卫星断网也能检测到)。

3.1 新建检测专用路由表

/ip/route/table/add name=check_wan2 fib comment="Starlink检测专用路由表"

3.2 给检测路由表配置默认网关

/ip/route/add dst-address=0.0.0.0/0 gateway=192.168.100.1 table=check_wan2 comment="检测路由表默认网关(Starlink)"# 此处192.168.100.1是Starlink默认网关,后续DHCP脚本会自动更新,无需手动修改

3.3 强制检测流量走 WAN2

/ip/firewall/mangle/add chain=output dst-address=8.8.8.8 protocol=icmp action=mark-routing new-routing-mark=check_wan2 comment="强制8.8.8.8检测流量走Starlink"
如果运营商禁 ICMP ping,可改用 TCP 检测:将 Netwatch 类型改为 TCP + 端口,同时把上述规则的protocol=icmp改为protocol=tcp dst-port=443即可。

第四步:DHCP 动态网关同步脚本(解决 DHCP 网关变化问题)

因为 WAN 口是 DHCP 获取地址,网关可能变动,所以给 DHCP 客户端加脚本,自动同步网关到自定义路由。

4.1 WAN2 Starlink DHCP 脚本

Winbox 操作:打开IP > DHCP Client,双击 Starlink 对应的条目,切换到Script标签,粘贴以下脚本:

:local newgw $"gateway-address":if ($newgw != "") do={  # 同步主路由网关  /ip/route/set [find comment="主路由 Starlink"] gateway=$newgw  # 同步检测路由表网关  /ip/route/set [find comment="检测路由表默认网关(Starlink)"] gateway=$newgw  :log info "Starlink网关更新为: $newgw"}

4.2 WAN1 4G DHCP 脚本

同样打开 4G 对应的 DHCP 客户端,粘贴以下脚本:

:local newgw $"gateway-address":if ($newgw != "") do={  # 同步备路由网关  /ip/route/set [find comment="备路由 4G"] gateway=$newgw  :log info "4G网关更新为: $newgw"}
 

第五步:配置主备静态默认路由

手动添加两条默认路由,自主控制优先级:

# 主路由:Starlink,优先级更高(distance越小优先级越高)/ip/route/add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=1 comment="主路由 Starlink"# 备路由:4G,优先级更低/ip/route/add dst-address=0.0.0.0/0 gateway=192.168.8.1 distance=2 comment="备路由 4G"# 此处网关初始值无需修改,DHCP脚本会自动更新为正确值
 

第六步:配置 Netwatch 自动切换(核心切换逻辑)

Netwatch 监控8.8.8.8的连通性,故障时自动禁用主路由,恢复时自动启用主路由。

6.1 添加 Netwatch 检测规则

/tool/netwatch/add host=8.8.8.8 interval=5s timeout=2s down-count=3 up-count=2 comment="监控Starlink连通性"

参数说明(可按需调整):

interval=5s:每 5 秒检测一次

timeout=2s:ping 超时 2 秒算失败

down-count=3:连续 3 次失败(累计 15 秒)才判定为 Starlink 故障,避免误切

up-count=2:连续 2 次成功才判定为恢复,避免抖动

6.2 配置故障切换脚本(Down 脚本)

Winbox 打开Tools > Netwatch,双击刚才添加的规则,切换到Down标签,粘贴:

# 禁用Starlink主路由,让4G备路由生效/ip/route/disable [find comment="主路由 Starlink"]# 可选:清理连接表,所有连接立即走备路由(会断现有连接,不需要可删除)/ip/firewall/connection/remove [find]:log warning "Starlink故障,已切换到4G备份链路"

6.3 配置恢复切回脚本(Up 脚本)

切换到Up标签,粘贴:

# 启用Starlink主路由,恢复更高优先级/ip/route/enable [find comment="主路由 Starlink"]# 可选:清理连接表,所有连接立即切回主路由(会断现有连接,不需要可删除)/ip/firewall/connection/remove [find]:log info "Starlink恢复,已切回主链路"

三、测试验证

  1. 正常状态验证:执行/ip/route/print,看到主路由 Starlink前有A(激活)标志,traceroute 1.1.1.1第一跳为 Starlink 网关,说明走主链路。

  2. 故障切换测试:拔掉 Starlink 网线 / 断电,等待 15 秒左右,查看日志/log/print会提示切换到 4G,路由表中备路由 4G变为激活状态,测试上网正常。

  3. 恢复回切测试:恢复 Starlink 连接,等待 Starlink 上线后 10 秒左右,日志提示切回主链路,路由表主路由恢复激活。

四、操作步骤

  1. Starlink 为桥接模式 / PPPoE 拨号:将 WAN2 的 DHCP 客户端改为 PPPoE 客户端,同样关闭add-default-routeuse-peer-dns,PPPoE 脚本中获取网关的变量改为$"remote-address"即可。

  2. 检测 IP 不可用:可将检测 IP 改为223.5.5.5/114.114.114.114等公共 IP,同步修改 Mangle 规则和 Netwatch 的目标 IP 即可。

  3. 需要更短切换时间:可将interval改为 2s,down-count改为 5,实现 10 秒内切换,但不建议间隔太短,避免丢包误切。

========= End