我已经创建了桥并向该桥br0
添加了接口eth0
eth1
nmcli con add ifname br0 type bridge con-name br0
nmcli con add type bridge-slave ifname eth0 master br0
nmcli con add type bridge-slave ifname eth1 master br0
nmcli con modify br0 bridge.stp no
nmcli con down eth0
nmcli con down eth1
nmcli con mod br0 ipv4.addresses "192.168.1.100/24"
nmcli con mod br0 ipv4.method manual
nmcli con down br0
nmcli con up br0
systemctl restart NetworkManager.service
完成这些步骤后,我的配置如下所示
# nmcli dev status
DEVICE TYPE STATE CONNECTION
br-10 bridge connected br-10
br0 bridge connected br0
docker0 bridge connected docker0
eth0 ethernet connected bridge-slave-eth0
eth1 ethernet connected bridge-slave-eth1
lo loopback unmanaged --
wlan0 wifi unmanaged --
什么nmcli
命令可以显示分配给给定网桥的接口?因为br0
已经命名了连接,所以它很清楚,bridge-slave
但是呢br-10
?我特别询问nmcli
命令,因为我见过使用 4 个接口创建网桥nmcli
但brctl show
只列出 2 个接口(实际插入电缆的接口)的情况,所以我想brctl show
在这种情况下不应该依赖它。
答案1
您可以尝试以下方法;
bridge link | grep master
答案2
您可以使用nmcli device show
。该-f
选项允许您指定以逗号分隔的字段列表:
nmcli -f GENERAL.DEVICE,GENERAL.TYPE,BRIDGE.SLAVES device show bridge_device_name
(这里唯一相关的字段是BRIDGE.SLAVES
)。
默认情况下并非显示所有字段:该-f
选项的默认值为common
。要查看所有内容,请使用
nmcli -f all device show [device_name]