飞牛网口桥接配置工具
解决飞牛 fnOS 系统重启后网口桥接配置丢失的问题。
功能特性
- ✅ 菜单式交互 - 输入序号即可选择操作,无需记忆命令
- ✅ 智能网口选择 - 通过序号选择网口,支持多选
- ✅ 虚拟网口自动过滤 - 只显示物理网口,避免混淆
- ✅ 主网桥 OVS 检测 - 自动检测
xxx-ovs 格式的网桥
- ✅ 防断网保护 - 取消桥接时自动跳过主网口
- ✅ Emoji/ASCII 自动适配 - 根据终端环境智能切换显示符号
- ✅ 完整的取消桥接功能 - 一键恢复网口原始状态
- ✅ 交互式配置模式(适合新手)
- ✅ 快速配置模式(适合批量部署)
- ✅ 自动创建 systemd 自启动服务
- ✅ 重启后配置不会丢失
- ✅ 支持多网口同时桥接
- ✅ 状态查看和测试功能
- ✅ 一键卸载清理
快速开始
上传脚本
将 fn_bridge.sh 上传到飞牛 NAS。
赋予执行权限
sudo -i
chmod +x fn_bridge.sh
⚠️ 重要提示:如果运行时出现 cannot execute: required file not found 错误,
这是 Windows 换行符导致的,执行以下命令修复:
sed -i 's/\r$//' fn_bridge.sh
方法一:菜单模式(强烈推荐)
直接运行脚本即可进入菜单模式:
./fn_bridge.sh
然后根据屏幕显示的菜单,输入对应操作的序号即可:
==========================================
飞牛网口桥接配置工具 v1.2.1
==========================================
作者: YUNXI
请选择操作:
1. 查看网络和 OVS 信息
2. 配置网口桥接
3. 取消网口桥接
4. 查看当前状态
5. 测试自启动脚本
6. 卸载自启动服务
7. 显示帮助信息
0. 退出脚本
请输入操作序号 [0-7]:
方法二:交互式配置命令
./fn_bridge.sh setup
方法三:快速配置模式
./fn_bridge.sh quick enp1s0-ovs enp2s0 enp3s0
参数说明:
- 第一个参数:主网桥名称
- 后面的参数:要桥接的网口列表(多个用空格分隔)
命令列表
| 命令 |
说明 |
./fn_bridge.sh 或 ./fn_bridge.sh menu |
菜单模式(默认) |
./fn_bridge.sh setup |
交互式配置模式 |
./fn_bridge.sh quick <网桥> <网口...> |
快速配置模式 |
./fn_bridge.sh remove |
取消网口桥接 |
./fn_bridge.sh status |
查看当前状态 |
./fn_bridge.sh test |
测试执行自启动脚本 |
./fn_bridge.sh uninstall |
卸载自启动服务 |
./fn_bridge.sh info |
显示网络和OVS信息 |
./fn_bridge.sh help |
显示帮助信息 |
功能说明
1. 查看网络和 OVS 信息
显示当前系统的网络接口列表和 OVS 网桥配置,自动过滤虚拟网口,只显示物理网口。
2. 配置网口桥接
- 智能检测可用的 OVS 网桥(
xxx-ovs 格式)
- 通过序号选择主网桥
- 显示可用的物理网口列表,标注「已桥接」和「主网口」
- 通过序号选择要桥接的网口,支持多选(如:
2 3 4)
- 自动创建自启动服务
3. 取消网口桥接
⚠️ 重要:此功能会从网桥中移除端口,但会自动跳过主网口,避免断网!
- 可选择取消单个网桥或全部网桥的桥接配置
- 自动跳过主网口,保护网络连接
- 恢复网口原始状态
- 清理自启动服务和脚本文件
4. 查看当前状态
- 显示 systemd 服务运行状态
- 显示自启动脚本内容
- 显示当前 OVS 网桥和端口配置
5. 测试自启动脚本
手动执行自启动脚本,验证配置是否正确生效。
6. 卸载自启动服务
⚠️ 注意:仅卸载自启动服务,不会取消当前网口桥接配置!
如需完全取消桥接,请使用「3. 取消网口桥接」功能。
如何查看网桥名称?
执行命令:
ovs-vsctl show
通常网桥名称格式为:网口名称-ovs,例如:
如何查看所有网口名称?
执行命令:
ip -br link show
常用命令
查看当前桥接状态
ovs-vsctl show
手动添加网口到网桥
ovs-vsctl add-port enp1s0-ovs enp2s0
手动从网桥删除网口
ovs-vsctl del-port enp1s0-ovs enp2s0
查看自启动服务状态
systemctl status fn-bridge.service
查看服务日志
journalctl -u fn-bridge.service
禁用自启动服务
systemctl disable fn-bridge.service
注意事项
- OVS 虚拟化设置:确保只在一个网口上开启了 OVS 虚拟化,其他网口的 OVS 需要关闭
- 延迟执行:脚本会在系统启动后延迟 30 秒执行,确保网络服务完全启动
- 调整延迟:如果桥接后远程访问有问题,可以延长脚本中的
sleep 时间(编辑 /usr/local/bin/fn-bridge-start.sh)
- 取消桥接:使用「取消网口桥接」功能时,会自动跳过主网口,保护网络连接不会断开
故障排除
脚本无法运行:required file not found
原因:脚本在 Windows 上创建,使用了 Windows 换行符 (CRLF),Linux bash 无法解析。
解决方案:
# 方法一:使用 sed 转换(推荐,系统自带)
sed -i 's/\r$//' fn_bridge.sh
# 方法二:使用 dos2unix(如果已安装)
dos2unix fn_bridge.sh
转换后再运行:
chmod +x fn_bridge.sh
./fn_bridge.sh
如何避免:
- 在 Linux 上直接使用
nano 或 vim 编辑脚本
- Windows VS Code 右下角选择
LF(而非 CRLF)后保存
配置后无法访问 NAS
- 连接键盘显示器到 NAS,本地登录
- 检查网口配置:
ovs-vsctl show
- 临时删除桥接:
ovs-vsctl del-port 网桥名称 网口名称
重启后配置不生效
- 检查服务状态:
./fn_bridge.sh status
- 查看服务日志:
journalctl -u fn-bridge.service
- 手动执行测试:
./fn_bridge.sh test
终端显示乱码
脚本会自动检测终端 UTF-8 支持情况,不支持时自动降级为 ASCII 符号。
- UTF-8 支持:使用 ✅ ❌ ℹ️ 💡 🌉 🔒 👋 ⚠️ 等 Emoji
- 不支持 UTF-8:自动使用 [OK] [ERR] [INFO] [TIP] 等 ASCII 符号
作者
YUNXI
版本:v1.2.1
飞牛分享【飞牛网口桥接】,点击链接下载文件,在App打开可转存到NAS:https://myunxi.top/s/fcc80ee94f5045dc91,密码:yunxi