我的电脑上有两张网卡。我想用 netplan 创建两个网桥,以便将这些桥接网络添加到基于内核的虚拟机 (KVM)。两张网卡都连接到可以访问互联网的同一路由器。
我使用以下网络配置netplan
:
network:
version: 2
renderer: networkd
ethernets:
eth-host0:
match:
macaddress: xxx:97:02
dhcp4: false
dhcp6: false
eth-host1:
match:
macaddress: xxx:08:61
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [eth-host0]
addresses: [192.168.0.9/24]
gateway4: 192.168.0.1
mtu: 1500
nameservers:
addresses: [8.8.8.8]
parameters:
stp: true
forward-delay: 4
dhcp4: true
dhcp6: false
br1:
interfaces: [eth-host1]
addresses: [192.168.1.9/24]
gateway4: 192.168.0.1
mtu: 1500
nameservers:
addresses: [8.8.8.8]
parameters:
stp: true
forward-delay: 4
dhcp4: true
dhcp6: false
当我发出命令时
sudo netplan apply
我收到以下错误“验证默认路由一致性时遇到问题。请设置多个路由表并改用routing-policy
。错误:IPv4 的默认路由声明冲突(表:main,度量:default),首先在 br0 中声明,但也在 br1 中声明”
如果我删除默认网关,则应用通过,但我的虚拟机上没有任何网络。
如何在同一台计算机上正确配置两座网桥?
答案1
我不是 Netplan 专家,但您可以尝试gateway4: 192.168.0.1
从 br1 中删除它(但将其保留在 br0 上)。
如果这不起作用,请尝试将其添加到br1
:
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
table: 101
routing-policy:
- from: 192.168.1.9/24
table: 101
netplan apply
顺便说一句,在运行run之前netplan generate
。然后您将在应用之前看到错误。我曾几次因为简单的错误而失去与服务器的连接 :-)
通常我还必须重新启动才能完全应用更改。
答案2
我设法在一台机器上配置了两个网桥,该机器是多个 KVM VM 的主机,我将桥接(虚拟)网络设备传递给这些虚拟机。
我在连接到互联网的路由器上运行 DHCP 服务器。路由器的 LAN 地址为 192.168.0.1,因此相同的地址将是默认网关。我在路由器上运行的 DHCP 服务器端根据每个虚拟机的 MAC 为其分配永久地址。
network:
version: 2
renderer: networkd
ethernets:
eth0:
match:
macaddress: private:01
set-name: tplink-usb3.0
dhcp4: true
dhcp6: false
optional: true
mtu: 1500
nameservers:
addresses: [8.8.8.8]
eth-host0:
match:
macaddress: private:02
dhcp4: false
dhcp6: false
eth-host1:
match:
macaddress: private:03
dhcp4: true
dhcp6: false
bridges:
br0:
interfaces: [eth-host0]
mtu: 1500
nameservers:
addresses: [8.8.8.8]
parameters:
stp: true
forward-delay: 4
dhcp4: true
dhcp6: false
br1:
interfaces: [eth-host1]
mtu: 1500
nameservers:
addresses: [8.8.8.8]
parameters:
stp: true
forward-delay: 4
dhcp4: true
dhcp6: false
在此配置中,两个网桥的 IP 地址无关紧要。我所做的唯一一件事是在两个网桥上启用了 dhcp4。结果,KVM(我使用 libvirt 设置 VM 的配置)为每个 VM 分配新的 MAC 地址,路由器端的 DHCP 服务器为每个 VM 分配新的 IP 地址和网关。然后在路由器端我可以将动态 IP 地址设置为永久 IP 地址。
上述配置有效。