brctl show 命令中未显示网桥 ext_br

brctl show 命令中未显示网桥 ext_br

我在裸机服务器上安装了 Ubuntu 18。由于接口位于 ens3、ens4 等中,我按照 Google 的步骤创建一个文件并在其中包含 mac 地址,将它们映射到 eth0、eth1 等。

nano /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", 
ATTR{address}=="xxxxxxxxxxxxx", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", 
ATTR{address}=="xxxxxxxxxxxxx", NAME="ext_br"

etc.netplan/01-config

ethernets:
    eth0:
    dhcp4: no
    dhcp6: no
    addresses:
    # - 192.168.5.116/16
        - 2001:bc8:454:2000::16/48
    #gateway4: 192.168.5.1
    #nameservers:
    #addresses: [8.8.8.8]

bridges:
    ext_br:
    interfaces: [eth0]
    addresses: [192.168.5.116/16]
    gateway4: 192.168.5.1
    nameservers:
    addresses: [8.8.8.8]
    parameters:
        stp: true
    dhcp4: no
    dhcp6: no

我可以看到 ext_br 显示的 ip 没有 eth0

root@:/etc/netplan# ifconfig ext_br
ext_br: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.116  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::21d:9ff:fe1b:de57  prefixlen 64  scopeid 0x20<link>
        ether 00:xx:xx:xx:Xx:Xx  txqueuelen 1000  (Ethernet)
        RX packets 4103146  bytes 5348057568 (5.3 GB)
        RX errors 0  dropped 74  overruns 0  frame 0
        TX packets 2625831  bytes 1011504018 (1.0 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如果我发出brctl show命令,我就看不到列出的桥梁。

我正在尝试创建一个虚拟机,它必须通过相同的桥接接口访问互联网。

有人能帮忙吗?我遗漏了什么?谢谢你的帮助。

答案1

无需使用 udev 规则重命名接口,因为使用的默认名称已经是持久的,无需任何 udev 规则。除非​​您有其他软件必须能够将您的接口称为 eth0(不太可能,因为您要将其添加到网桥而不是直接为 ip 流量配置它),否则建议使用 ens3 等默认名称。

这也会更清楚地暴露出您的配置中存在的问题,即您似乎正在通过 udev 将物理接口重命名为 ext_br 并将其视为网桥。网桥不是以这种方式工作的,它们是纯粹的虚拟设备,您只能通过密钥向其添加物理接口interfaces:

目前尚不清楚 ifconfig 是否实际上是您发布的 netplan 配置的结果,因为该配置显示了几个缩进错误、IP 地址差异等。ext_br 接口的状态可能是您配置的某些早期迭代的结果,而当前配置无法应用。

您应该删除将接口重命名为 ext_br 的 udev 规则,重新启动,然后再次尝试您的 netplan 配置。

相关内容