路由器只有两个lan口,我的小主机有四个网口,利用bridge-utils把其他网口桥接起来,当交换机用。

安装bridge-utils

1
apt install bridge-utils

编辑配置文件

1
vi /etc/network/interfacec

注释掉网口的配置,改成如下样子

1
2
3
4
5
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

添加桥接

1
2
touch /etc/network/interfaces.d/br0
vi /etc/network/interfaces.d/br0

写入如下内容

1
2
3
4
auto br0
iface br0 inet dhcp
bridge_ports enp2s0 enp3s0 enp4s0 enp5s0
bridge_stp on

建立bridge后的状态是让网络接口eth0进入混杂模式(promiscuous mode,接收网络中所有数据包),网桥br0进入转发状态(forwarding state),而且br0和eth0有相同的MAC地址,一般也会得到和eth0相同的IP。“brctl stp br0 on”是打开br0的STP协议,STP是生成树协议(Spanning Tree Protocol),它主要是为了避免在建有bridge的以太网LAN中出现桥回路(bridge loop)。如果不打开STP,则可能出现回路从而导致建有bridge的主机网络不畅通。

重启网络

1
systemctl restart networking.service