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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - lsgxeva

OpenSpec OPSX 完整指南 Claude Skill Creator 2.0 完整上手攻略 Auto-Memory + CLAUDE.md Conductor 完整上手攻略 GitNexus 完整上手攻略 code-review-graph 完整上手攻略 Claude Code Hooks 完整开发者指南 Openwrt switch vlan配置 llm-course Claude Code 入门教程 MT5专业交易面板 Quectel Modem Wiki sdxlemur 高通5G平台(SDX55\SDX62\SDX65):ping包异常问题排查指南 - lsgxeva - 博客园 高通SDX62平台 MBIM搜网、查询信号等功能异常 Win11数字许可证激活 BirdSat VS100K info wireshark筛选语句详解 linux基线整改方法 windows基线整改方法 NanoPi_R5C ArcBox Config win10远程桌面其他电脑出现如下错误,由于数据加密错误,这个会话讲结束,请重新连接到远程计算机 如何评价杨立昆认为大模型只是对海量文本的模式进行复杂拟合,根本不懂意义? IQ200Board default access problem Win10 输入法卡顿 adaptive_relaxed_optimized 如何下载安装App Store应用旧版本教程 小米澎湃OS 关闭广告 Scrum 模型
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