使用 NetworkManager 在 Linux 上添加网桥接口的步骤如下:
- 打开终端
- 获取当前连接状态:
nmcli con show
- 添加新的网桥:
nmcli con add type bridge ifname br0
- 创建子网卡:
nmcli con add type bridge-slave ifname eno1 master br0
- 打开 br0:
nmcli con up br0
让我们从细节层面看看如何创建一个名为 br0 的网桥。
获取当前网络配置
$ nmcli connection show --active
NAME UUID TYPE DEVICE
Wired connection 1 1e8a0670-7e49-3304-bb9e-b5787ef9bd5a ethernet ens33
这里显示我有一个使用 ens33
网卡的有线连接。我将要创建一个名为 br0
的网桥,连接到 ens33
。
创建一个名为 br0 的网桥
$ sudo nmcli con add ifname br0 type bridge con-name br0
Connection 'br0' (8a7724d7-4925-415e-ab20-2400ff367775) successfully added.
$ sudo nmcli con add type bridge-slave ifname ens33 master br0 # 注意改设备名称
Connection 'bridge-slave-ens33' (5faf78e8-92f2-424f-a7c3-95b83a1bf572) successfully added.
$ nmcli connection show
NAME UUID TYPE DEVICE
br0 8a7724d7-4925-415e-ab20-2400ff367775 bridge br0
Wired connection 1 1e8a0670-7e49-3304-bb9e-b5787ef9bd5a ethernet ens33
bridge-slave-ens33 5faf78e8-92f2-424f-a7c3-95b83a1bf572 ethernet --
我们可以禁用 STP:
$ sudo nmcli con modify br0 bridge.stp no
$ nmcli con show
$ nmcli -f bridge con show br0
最后一条命令展示了网桥参数:
bridge.mac-address: --
bridge.stp: no
bridge.priority: 32768
bridge.forward-delay: 15
bridge.hello-time: 2
bridge.max-age: 20
bridge.ageing-time: 300
bridge.group-forward-mask: 0
bridge.multicast-snooping: yes
bridge.vlan-filtering: no
bridge.vlan-default-pvid: 1
bridge.vlans: --
如何打开网桥
你必须先关闭 Wired connection 1(也就是网桥连接的网络),然后打开 br0:
$ sudo nmcli con down "Wired connection 1"
$ sudo nmcli con up br0
$ nmcli con show
使用 ip 命令来查看 IP 信息:
$ ip a s
$ ip a s br0