ubuntu系统使用 nmcli 来创建/添加网桥

2021-09-01 09:43:07 浏览数 (1)

ubuntu系统中如何使用 nmcli 来创建/添加网桥?本篇文章为大家分享一下ubuntu系统中 使用nmcli 来创建/添加网桥的具体步骤,有需要的小伙伴可以参考一下。

如何使用 nmcli 来创建/添加网桥

使用 NetworkManager 在 Linux 上添加网桥接口的步骤如下:

  1. 打开终端
  2. 获取当前连接状态: nmcli con show
  3. 添加新的网桥: nmcli con add type bridge ifname br0
  4. 创建子网卡: nmcli con add type bridge-slave ifname eno1 master br0
  5. 打开 br0: nmcli con up br0

让我们从细节层面看看如何创建一个名为 br0 的网桥。

获取当前网络配置

你可以通过 NetworkManager 的 GUI 来了解本机的网络连接:

Getting Network Info on Linux

也可以使用如下命令行来查看:

代码语言:javascript复制
 $ nmcli con show$ nmcli connection show --active

View the connections with nmcli

我有一个使用网卡 eno1 的 “有线连接”。我的系统还有一个 VPN 接口。我将要创建一个名为 br0 的网桥,并连接到 eno1

如何创建一个名为 br0 的网桥

代码语言:javascript复制
 $ 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

Create bridge interface using nmcli on Linux

你也可以禁用 STP:

代码语言:javascript复制
 $ sudo nmcli con modify br0 bridge.stp no$ nmcli con show$ nmcli -f bridge con show br0

最后一条命令展示了禁用 STP 后的网桥参数:

代码语言:javascript复制
 bridge.mac-address:                     --bridge.stp:                             nobridge.priority:                        32768bridge.forward-delay:                   15bridge.hello-time:                      2bridge.max-age:                         20bridge.ageing-time:                     300bridge.multicast-snooping:              yes

如何打开网桥

你必须先关闭 Wired connection 1 ,然后打开 br0

代码语言:javascript复制
 $ sudo nmcli con down "Wired connection 1"$ sudo nmcli con up br0$ nmcli con show

使用 ip 命令 来查看 IP 信息:

代码语言:javascript复制
 $ ip a s$ ip a s br0

Build a network bridge with nmcli on Linux

附录: 如何在 KVM 上使用 br0

现在你可以使用 KVM/VirtualBox/VMware workstation 创建的 VM(虚拟机)来直接连接网络而非通过 NAT。使用 vi 或者 cat 命令为虚拟机创建一个名为 br0.xml 的文件:

代码语言:javascript复制
 $ cat /tmp/br0.xml

添加以下代码:

代码语言:javascript复制
   br0    

如下所示运行 virsh命令:

代码语言:javascript复制
 # virsh net-define /tmp/br0.xml# virsh net-start br0# virsh net-autostart br0# virsh net-list --all

输出:

代码语言:javascript复制
  Name State Autostart Persistent---------------------------------------------------------- br0 active yes yes default inactive no yes

阅读 man 页面获取更多信息:

代码语言:javascript复制
 $ man ip$ man nmcli

0 人点赞