我正在运行 Fedora 31,在使用 NetworkManager 时遇到了问题。我尝试将两个以太网接口绑定在一起,然后将该绑定放在网桥中,但绑定通过 DHCP 获取 IPv4 地址,无状态获取 IPv6 地址。这意味着网桥没有获取我为其配置的地址,因此无法正常工作。
我将以太网接口添加到配置中......
nmcli con add type ethernet ifname enp6s0 master bond0
nmcli con add type ethernet ifname enp0s31f6 master bond0
然后我将他们添加为奴隶......
nmcli dev mod bond0 +bond.options "active_slave=enp6s0"
nmcli dev mod bond0 +bond.options "active_slave=enp0s31f6"
我创建了桥梁,并使契约成为桥梁的奴隶......
nmcli con add type bridge ifname brbond0
nmcli con add type bridge-slave ifname bond0 master brbond0
我为桥接接口设置了 IPv4 和 IPv6 设置...
nmcli con mod bridge-brbond0 ifname brbond0 ip4 192.168.1.4 gw4 192.168.1.1 ipv4.dns "192.168.1.7 192.168.1.8"
nmcli con mod bridge-brbond0 ipv6.method auto
然后我按顺序提出了债券和桥梁......
nmcli con up bond-bond0
nmcli con up bridge-brbond0
正如您所看到的,bond0 接口有一些我需要摆脱的默认值......
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ae:d1:55:b4:20:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.211/24 brd 192.168.1.255 scope global dynamic noprefixroute bond0
valid_lft 3360sec preferred_lft 3360sec
inet6 2001:XXXX:XXXX:XXXX:XXXX:d3a2:dcd1:7f75/64 scope global dynamic noprefixroute
valid_lft 86267sec preferred_lft 14267sec
inet6 fe80::1e7:fb60:1d99:dabd/64 scope link noprefixroute
valid_lft forever preferred_lft forever
并且桥接接口没有其配置......
16: brbond0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether ee:98:f9:dc:e3:c8 brd ff:ff:ff:ff:ff:ff
我在 Google 上没能找到如何使用nmcli
来删除接口的默认设置bond0
。我需要为我的 KVM/QEMU virt-manager 客户机在桥上绑定。
有一些指南涉及编辑network-scripts
,但这不是我想要做的。我想解决这个问题nmcli
并学到一些东西。
答案1
问题是必须将 bond0 设备转换为桥接从设备。我刚刚创建了桥接。因此,只需修改 bond0 接口即可。为此,您需要桥接 uuid。
nmcli con edit bond-brbond0
> set connection.slave-type bridge
> set connection.master 88c688aa-9f03-45e2-979e-7f4456a7635b
> verify fix
> save
完成此操作并启动桥接后,系统现在可以正常工作,我可以使用 KVM/QEMU,并且无需编辑 ifcfg 文件即可解决问题。