有部分人虽然增加 2.5G 或者万兆网卡但并不会购买万兆或 2.5g 交换机,使用网口直联的方式来访问 NAS 达到加速的目地,但是这种方式毕竟多一条网线用起来比较麻烦 。 加上一般人的书房也只有一个网络口加一台 nas 的话不加交换机用起来特别麻烦,所以特地做了一个这个教程供大家参考使用 。

操作教程
- 注意:操作前,拔掉准备连接电脑的网口网线 。 避免造成网络回路,这样会造成网络风暴故障(交换机回路)
- 开群晖 ssh 命令并获取 root 权限不会的可以参考:群晖使用 SSH 终端连接并获取 root 权限
- 打开 Open vSwitch 功能
勾选 启用 Open VSwitch 点 确定,如果有安装 VMM 套件这里会变成灰色并默认打勾(Virtual Machine Manager 虚拟机套件)
- 使用删除 ovs_eth 绑定网口
注意:一般群晖 eth0 对应的是局域网 1 、eth1 对应局域网 2 以此类推 也可以用 ifconfig 查默认的网桥连接情况 。 群晖双网口的情况下默认 eth0 和 eth1 两个接口分别连接 ovs_eth0 和 ovs_eth1 两个网桥 。
假设:我们现在局域网 1 为板载的千兆口而局域网 2 为 usb2.5g 网口,我们计划局域网 1 口连接路由器(连接外网)局域网 2 连接电脑(电脑通过 NAS 网口获取网络上网)
那么输入以下命令删除 群晖 局域网 2(eth1)的网桥绑定,要删除什么绑定自行更换红字部分最后的数字部分ovs-vsctl del-br ovs_eth1 - 将 eth1 加入 ovs_eth0 网桥中
蓝色ovs_eth0为要加入的网桥,红色eth1为想要加入网桥的网口 。 实际以你网口情况为准自行修改ovs-vsctl add-port ovs_eth0 eth1 - 如果有多个网卡也只要重复第 4 和第 5 条删除和添加绑定即可
- 显示当前网络状态
ovs-vsctl showeth0 和 eth1 全部在 ovs_eth0 内,两个网口处于同一个交换机内 。 将 eth1 和电脑相连,这样电脑从路由器获取到 IP 地址 。
- 实际上上面的的步骤只是测试验证方案可行 。 群晖重启之后正常情况下是会恢复默认网桥绑定的,所以我们还得要加一个开机的计划任务让它可以每次开机都自动绑定网桥 。如果你非常自信的确认所有网口之间的绑定关系,可以直接设置好 Open vSwitch 之后从这一步直接开始就行 。 如果你不想桥接网口的话把这个脚本删除掉即可!
用户得选root 名称随便起
把下面的脚本命令粘贴过去
假设:我们现在局域网 1 为板载的千兆口而局域网 2 为 usb2.5g 网口,我们计划局域网 1 口连接路由器(连接外网)局域网 2 连接电脑网口(电脑通过 NAS 网口获取网络上网)如果你是正版群晖原生是两个网口的 USB2.5g 网卡是局域网 3 可以拉到最后面有写,原生双网口的正版群晖
sleep 31
#!sleep 后面的数字代表的是启动延迟,如果你是 USB 网卡最好加一下延迟时间否则,否则可能驱动没有加载你就把网口删除了 。 具体要延迟多少秒自己调 。 下面的网口对应 eth 关系也自行修改,正常情况下 eth0 对应局域网 1,eth1 对应局域网 2 以此类推 。
ovs-vsctl del-br ovs_eth1
ovs-vsctl add-port ovs_eth0 eth1
至此教程就差不多了,但是由于端口绑定有加开机延迟启动,如果电脑同时重启可能会造成电脑不能正常获取 ip 的情况,这边建议电脑设置固定 ip 以减少这种情况的发生 。 还有侨接好之后两个网口就是交换机效果类似接口是不分方向的,你也可以用 usb 网卡连接路由器,只是此处我们主要是提升电脑和群晖之间的连接速度所以教程里面写的都是 USB 网卡连接电脑 。
假设:机器是正版群晖原生双千兆网口 局域网 1 为板载的千兆口而局域网 3 为 usb2.5g 网口,我们计划局域网 1 口连接路由器(连接外网)局域网 3(USB 网卡)连接电脑网口(电脑通过 NAS 网口获取网络上网)
sleep 31
#!sleep 后面的数字代表的是启动延迟,如果你是 USB 网卡最好加一下延迟时间否则,否则可能驱动没有加载你就把网口删除了 。 具体要延迟多少秒自己调 。 下面的网口对应的 eth 关系也自行修改,正常情况下 eth0 对应局域网 1,eth1 对应局域网 2 以此类推 。
ovs-vsctl del-br ovs_eth2
ovs-vsctl add-port ovs_eth0 eth2
假设:你想把所有网卡都做成交换机单 局域网 1 连接上联路由器,其它网品连接其它内网设备,以下最多支持 10 个网口 。10 口以内直接复制这个脚本就行 。
sleep 31
#!sleep 后面的数字代表的是启动延迟,如果你是 USB 网卡最好加一下延迟时间否则,否则可能驱动没有加载你就把网口删除了 。 具体要延迟多少秒自己调 。 下面的网口对应的 eth 关系也自行修改 。,正常情况下 eth0 对应局域网 1,eth1 对应局域网 2 以此类推 。
ovs-vsctl del-br ovs_eth1
ovs-vsctl del-br ovs_eth2
ovs-vsctl del-br ovs_eth3
ovs-vsctl del-br ovs_eth4
ovs-vsctl del-br ovs_eth5
ovs-vsctl del-br ovs_eth6
ovs-vsctl del-br ovs_eth7
ovs-vsctl del-br ovs_eth8
ovs-vsctl del-br ovs_eth9
ovs-vsctl add-port ovs_eth0 eth1
ovs-vsctl add-port ovs_eth0 eth2
ovs-vsctl add-port ovs_eth0 eth3
ovs-vsctl add-port ovs_eth0 eth4
ovs-vsctl add-port ovs_eth0 eth5
ovs-vsctl add-port ovs_eth0 eth6
ovs-vsctl add-port ovs_eth0 eth7
ovs-vsctl add-port ovs_eth0 eth8
ovs-vsctl add-port ovs_eth0 eth9