请注意,本文编写于 2141 天前,最后修改于 10 天前,其中某些信息可能已经过时。
最近迷上了玩Minecraft
我不太喜欢玩其他人的服,于是自己开着玩;
然后一开开了三四个,榨干了主服务器的资源😂
要不再添置一台服务器吧
然后我就搬出了吃灰很久的一台机子
当我准备插网线的时候发现....
😂淦!这辣鸡路由的口给我插满了
嘛...能用交换机解决的问题都不是大问题!
可当我准备下单的时候突然想起来,这台服务器可是双网口的呀!
root@Lolipop:~# ifconfig
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.2.3.55 netmask 255.0.0.0 broadcast 10.255.255.255
inet6 fe80::2e0:4cff:fefc:eba6 prefixlen 64 scopeid 0x20<link>
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 17487997 bytes 2520968230 (2.3 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14582469 bytes 2298402522 (2.1 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2e0:4cff:fefc:eba7 prefixlen 64 scopeid 0x20<link>
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 3340396 bytes 1565396495 (1.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5142490 bytes 3783706643 (3.5 GiB)
TX errors 34 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 836055 bytes 82236816 (78.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 836055 bytes 82236816 (78.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions
秉承着不能浪费的传统,一个大胆的想法浮现了出来。
劳资要拿它来做交换机
0x00 实现原理
首先放上一张网络拓补图(低配
说白了,就是
- 交换机得连上网,保留服务器的基本功能
- 建立网桥,使得客户机能直接透过网桥连回路由(非NAT
0x01 开干
工欲善其事,必先利其器!
开始之前,要做好以下几项工作
- 记录下每个网口对应的名称,不要搞混。(我这边是
enp1s0
和enp2s0
接上外设、显示器/采集卡。这步很重要,因为建桥的时候会断网,不能完全依赖SSH!
以下操作仅适用于Debian系列的操作系统
首先,执行apt install bridge-utils net-tools -y
安装对应环境
键入brctl show
检查桥接程序是否安装正常
root@Lolipop:~# brctl show
bridge name bridge id STP enabled interfaces
可见,此处没有任何网桥;说明环境已经安装完毕。
0x02 搭桥
此处我编写了一个脚本(其实就是把所有的指令整合到一起
可以根据注释来更改适合自己的设置。
brctl addbr br0 #添加网桥,br0为网桥的名称
brctl addif br0 enp1s0 #添加需要搭桥的网卡1(enp1s0)
brctl addif br0 enp2s0 #添加需要搭桥的网卡2(enp2s0)
ifconfig br0 10.2.3.55 #为网桥机配置IP (10.2.3.55)
ifconfig enp1s0 up #开启卡1 (enp1s0)
ifconfig enp2s0 up #开启卡2 (enp2s0)
route add default gw 10.2.3.3 #为网桥机配置默认网关,若不需要网桥机联网可以忽略
这样一来,桥就搭起来了。
把脚本跑起来之后插上网线看看效果吧!
简直完美!✌
0x03 注意事项
brctl
的操作是临时的,只要一重启桥就塌了,可以利用rc.local
等方式开机启动- 不要照搬我的配置
- 注意网卡的名称
- 记得up所有网卡