将多网卡的Linux主机变为交换机
废物利用.jpg
众所周知,我有一块 RTL 的四口千兆网卡

在此之前,这块网卡是用来给软路由扩充网口的,软路由跑的系统是 OpenWrt。
然鹅,在前几天 OpenWrt 在一次刷写系统镜像而崩溃之后,我便放弃了软路由的想法
甚至还留下了一个 4096 字节的烂尾草稿


但没办法,我已经没继续玩软路由的想法了(另一方面是因为,我家的路由器是小米AX6000,本身性能就已经足够了),便给这台机子装了个 Debian。
但俗话说得好:「饱暖思x欲」
因为这台机子放置的位置只有一个网口,而平时我还有在这边使用笔记本的需求(并且 Wi-Fi 的覆盖很差)

因此只能通过用「特殊方法」来曲线救国了
环境
必要的软件包
| 1 | sudo apt install net-tools bridge-utils | 
先通过 ifconfig 查出网卡

找到桥接网卡的接口,如 enp2s0 、enp3s0 ,拿个小本本抄下来
创建桥接网卡
| 1 | sudo brctl addbr br0 | 
然后通过 ifconfiig 查看是否有桥接网卡的生成

操作
修改网络接口配置
| 1 | sudo nano /etc/network/interfaces | 
先把跟这些网卡有关的参数删掉或者注释掉,推荐注释,以免出现问题

然后以桥接 enp2s0、enp3s0 这两张网卡为例,加入以下内容
| 1 | auto lo br0 | 
启动桥接
| 1 | sudo ifconfig br0 up | 
之后,便可以看到,桥接网卡已经可以正常工作了,并且成功获取到了上级网关所下发的 IP(也就是跟接一个交换机的效果一样)

跑个测速

真不错(
删除桥接网卡下的某张物理网卡
当某张物理网卡想要更改用途(即不想桥接,但又不想删除桥接网卡),便可以通过这种方式来删除,以物理网卡为 enp3s0 、桥接网卡为 br0 为例
| 1 | sudo brctl delif br0 enp3s0 | 
删除桥接网卡
| 1 | sudo ifconfig br0 down |