如何在Linux上使用nmcli(NetworkManager)添加网桥
时间:2020-01-09 14:16:49 来源:igfitidea点击:
如何在Debian Linux 9 Stretch、Linux上使用nmcli为NetworkManager创建或添加网桥?
桥接器不过是将两个本地网络连接到一个网络中的设备。
它适用于数据链路层,即OSI模型的第2层。
网络桥通常与虚拟化和其他软件一起使用。
禁用NetworkManager进行简单桥接,尤其是在Linux便携式计算机/台式机上没有任何意义。
nmcli工具可以创建持久性网桥配置,而无需编辑任何文件。
本教程显示了如何使用网络管理器命令行工具nmcli来创建网桥接口。
如何使用nmcli创建/添加网桥
当您要使用网络管理器时,在Linux上添加网桥接口的过程如下:
- 打开终端应用
- 获取有关当前连接的信息:``nmcli con show`
- 添加一个新桥:``nmcli con add type bridge ifname br0`
- 创建一个从属接口:``nmcli con add type bridge-slave ifname eno1 master br0`
- 打开br0:
nmcli con br0
让我们看看如何创建一个桥接,详细地命名为br0。
获取当前的网络配置
您可以从网络管理器GUI的设置中查看连接:另一个选项是执行以下命令:
$ nmcli con show $ nmcli connection show --active
如何创建一个名为br0的桥
$ sudo nmcli con add ifname br0 type bridge con-name br0 $ sudo nmcli con add type bridge-slave ifname eno1 master br0 $ nmcli connection show
您也可以禁用STP:
$ sudo nmcli con modify br0 bridge.stp no $ nmcli con show $ nmcli -f bridge con show br0
最后一条命令显示网桥设置,包括禁用的STP:
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.multicast-snooping: yes
如何打开网桥界面
您必须关闭有线连接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
可选:如何在KVM中使用br0
现在,您可以将使用KVM/VirtualBox/VMware工作站创建的VM(虚拟机)直接连接到网络,而无需使用NAT。
使用vi命令或cat命令为KVM创建名为br0.xml的文件:
$ cat /tmp/br0.xml
追加以下代码:
<network> <name>br0</name> <forward mode="bridge"/> <bridge name="br0" /> </network>
运行virsh命令,如下所示:
# virsh net-define /tmp/br0.xml # virsh net-start br0 # virsh net-autostart br0 # virsh net-list --all
输出示例:
Name State Autostart Persistent --------------------------------------------------------- br0 active yes yes default inactive no yes