收起左侧

飞牛多网口不支持桥接(多网口桥接),那我就自己来(脚本**5分钟)

0
回复
20
查看
[ 复制链接 ]

3

主题

10

回帖

0

牛值

江湖小虾

一、背景

我是使用软路由装的飞牛,具有4个2.5g网口,日常只用一个口,然后就像把其他口桥接出去当交换机,翻遍了官方都没有这个功能需求,于是有大神根据深度系统来进行网口自定义,缺点就是重启会失效,当然也有大神通过虚拟机来实现,那样也太过繁琐。于是用开机脚本成为最佳解决方案

二、前期准备

软件 :MobaXterm_Personal

**下载地址:**https://wwtr.lanzoue.com/ilvMq0k3m2ng
密码:18bd

来源:吾爱破解大神分享

2.1、开启ssh

2.2、wan口(进口),开启ovs

三、脚本写入,赋权

一、打开软件

按ok完成创建,输入对应用户名和密码(密码是暗文),然后回车

二、提升权限,写入脚本

# 使用sudo -i 提升权限,然后输入密码确认
sudo -i

# 创建脚本文件
nano /etc/NetworkManager/dispatcher.d/90-portstobridge
# nano编辑器脚本内容
#!/bin/bash
# 飞牛NAS 4网口 OVS自动桥接 终极版
# 严格过滤:只添加物理以太网口(enp/eno/eth),排除无线/Docker/虚拟/乱码设备

# 自动获取OVS网桥名
OVS_BRIDGE=$(ovs-vsctl list-br)
[ -z "$OVS_BRIDGE" ] && exit 0

# 仅当网桥启动时执行
if [ "$1" != "$OVS_BRIDGE" ] || [ "$2" != "up" ]; then
    exit 0
fi

# 已存在端口
EXIST_PORTS=$(ovs-vsctl list-ports $OVS_BRIDGE)

# 【严格过滤】只匹配物理网口 enp3s0/enp4s0/enp5s0/enp6s0
PHY_NICS=$(ip link | grep -E 'enp|eno|eth' | grep -v 'UNCONFIGURED' | awk -F': ' '{print $2}' | awk '{print $1}' | sort | uniq)

# 循环添加未加入的物理网口
for NIC in $PHY_NICS; do
    if ! echo "$EXIST_PORTS" | grep -qw "$NIC"; then
        ovs-vsctl add-port $OVS_BRIDGE $NIC
        echo "[$(date)] 添加成功:$NIC -> $OVS_BRIDGE" >> /var/log/ovs-safe.log
    fi
done

三. 保存退出

Ctrl+O → 回车 → Ctrl+X

四. 赋权 + 重启服务

chmod +x /etc/NetworkManager/dispatcher.d/90-portstobridge
systemctl restart NetworkManager

四、检验

ovs-vsctl show

五、设置接口地址

建议使用的接口设置一下地址为手动,设置ipv4就可以了

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则