xianjian-rd
OpenWrt/iStoreOS 软路由上的流量采集、WAN SSH 与双口透明桥配置说明。
xianjian-rd
xianjian-rd 是一套运行在 OpenWrt/iStoreOS 软路由上的流量采集与远程管理方案。软路由可以使用独立 WAN 口联网,再把另外两个物理网口组成无 IP 的透明桥。业务数据正常穿过透明桥,采集程序获得数据包副本后,通过 WAN 上传到指定服务器。
结构简介
上游设备
|
桥接口 A ---- br-monitor ---- 桥接口 B
|
数据包副本
|
xianjian-router
|
独立 WAN 口
|
接收服务器
- WAN 口负责联网、SSH 管理和数据上传。
- 两个桥接口只负责二层透明转发,不配置 IP、DHCP、网关或 NAT。
- 原始业务数据包继续正常转发,采集程序处理的是内核提供的副本。
- 透明桥脚本不会自动修改
xianjian-router的抓包接口。
一、开放 WAN SSH
用途:启用 Dropbear,并允许从 wan 防火墙区域连接 TCP 22。
curl -fsSL https://blog.pophcc.com/dl/enable-wan-ssh.sh | sh
该脚本无需参数,可以重复执行。执行后会重启 Dropbear 和防火墙,并显示 WAN 与 SSH 监听状态。
注意:如果 WAN 直接连接公网,开放 SSH 会增加暴露风险。应使用强密码或 SSH 密钥,并尽可能限制允许访问的来源地址。
二、安装 xianjian-router
首次安装:
wget -O /tmp/xianjian-install.sh http://101.133.172.75:19080/install.sh &&
echo '50d3a56423decada73c15d31612cb69278df421b6f789c571702fd977d2efdb6 /tmp/xianjian-install.sh' | sha256sum -c - &&
sh /tmp/xianjian-install.sh
管理命令:
# 更新程序
xianjian-router update
# 查看版本
xianjian-router version
# 查看运行状态、接口和收发统计
xianjian-router status
安装命令没有额外参数。脚本先下载到 /tmp,只有 SHA-256 校验通过后才会执行。
iStoreOS 25.12 兼容处理
如果旧安装脚本出现以下错误:
openssl (no such package)
说明 APK 软件源中的包名应为 openssl-util。在原始安装脚本已经通过 SHA-256 校验后执行:
sed -i 's/apk add python3 tcpdump openssl$/apk add python3 tcpdump openssl-util/' /tmp/xianjian-install.sh
sh /tmp/xianjian-install.sh
xianjian-router version
xianjian-router status
三、配置双口透明桥
兼容范围:OpenWrt/iStoreOS 21.02 或更新版本,使用 UCI、netifd 和 config device 管理 bridge。设备至少需要三个物理以太网口:一个 WAN 口和两个桥接口。
先做只读检查
wget -O /tmp/setup-transparent-bridge.sh https://blog.pophcc.com/dl/setup-transparent-bridge.sh &&
echo '951924018a793ec2995ac1f3d983d7f8a09148ca0639009f262d188c21ea3770 /tmp/setup-transparent-bridge.sh' | sha256sum -c - &&
sh /tmp/setup-transparent-bridge.sh --check
--check 会完成以下检查,但不会修改正式网络配置:
- 读取 OpenWrt/iStoreOS 版本。
- 检查 UCI、netifd 和必要系统命令。
- 识别真实物理以太网接口。
- 综合
wan、wan6和 IPv4 默认路由识别并排除 WAN。 - 确认排除 WAN 后至少还有两个可用接口。
- 在
/tmp隔离副本中完整模拟 UCI 建桥并验证结果。
正式创建透明桥
wget -O /tmp/setup-transparent-bridge.sh https://blog.pophcc.com/dl/setup-transparent-bridge.sh &&
echo '951924018a793ec2995ac1f3d983d7f8a09148ca0639009f262d188c21ea3770 /tmp/setup-transparent-bridge.sh' | sha256sum -c - &&
sh /tmp/setup-transparent-bridge.sh
执行流程:
- 从候选列表选择第一个桥接口编号。
- 选择第二个不同的接口编号。
- 确认接口后输入大写
YES。 - 脚本创建
br-monitor并重新加载网络。 - 确认 SSH 和网络正常后,在 120 秒内输入大写
KEEP。
如果没有输入 KEEP、网络重载失败或桥设备未创建成功,脚本会自动恢复执行前的 /etc/config/network。备份文件保存在 /root/network-before-br-monitor-*。
接线说明
配置完成后,两个桥接口无需设置任何地址:
待观察链路上游 -> 桥接口 A
待观察链路下游 -> 桥接口 B
WAN 口继续单独连接可上网网络。不要把 WAN 口接入透明桥,也不要把两个桥口同时接回同一个普通交换网络形成环路。
常见检查
# 查看接口和地址
ip -br link
ip -br addr
# 查看透明桥配置
uci show network
# 查看采集服务状态
xianjian-router status
如果 WAN 使用 DHCP,网络重新加载后地址可能发生变化。远程操作前应确认能够从本地控制台恢复,或者先记录上游 DHCP 分配情况。
读者反馈
你希望这篇文章补充什么?
可以留下你想看的功能、改进建议或后续教程方向。我会定期整理。
最新建议
还没有建议,你可以抢个沙发。
为了去重统计,只保存 IP、浏览器信息和本机指纹的哈希,不保存明文 IP。