我安装了 Ubuntu 18.04,想要有一个桥接接口,而不是直接使用主接口进行 KVM 虚拟化:
这是安装后的 Netplan 默认配置,运行良好:
----
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
addresses: [ 176.9.199.230/27 ]
gateway4: 176.9.199.225
nameservers:
addresses:
- "8.8.8.8"
阅读完 Netplan 的文档后,我尝试了桥接模式的以下设置:
---
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: no
dhcp6: no
bridges:
vmbr0:
dhcp4: no
dhcp6: no
interfaces: [ enp4s0 ]
addresses: [ 176.9.199.230/27 ]
gateway4: 176.9.199.225
nameservers:
addresses:
- "127.0.0.1"
parameters:
stp: false
forward-delay: 1
hello-time: 2
max-age: 12
从 IP 地址可以看出,该服务器托管在 Hetzner 上。
在 Ubuntu 16.04 上,网桥与 ifupdown 配合得很好,但现在 Ubuntu 18.04 有 Netplan 而不是 ifupdown,我需要知道如何在 Netplan 中配置网桥。
答案1
如果您没有在 Netplan 中的桥接配置中明确设置 MAC 地址,则 MAC 地址是随机的。
如果我没记错的话,Hetzner 将分配给您的 IP 地址限制为服务器的 MAC 地址,因此您可能需要将网桥的 MAC 地址设置为物理接口的 MAC 地址。
要获取物理接口的 MAC 地址,请运行以下命令:
cat /sys/class/net/enp4s0/address
(enp4s0
如果需要,请用适当的接口名称替换。)
在您的 Netplan 配置文件中,在桥接接口名称下添加 MAC 地址,如下所示:
macaddress: xx:xx:xx:xx:xx:xx
对于您来说,您的 Netplan 配置应该如下所示:
---
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: no
dhcp6: no
bridges:
vmbr0:
macaddress: xx:xx:xx:xx:xx:xx
dhcp4: no
dhcp6: no
interfaces: [ enp4s0 ]
addresses: [ 176.9.199.230/27 ]
gateway4: 176.9.199.225
nameservers:
addresses:
- "127.0.0.1"
parameters:
stp: false
forward-delay: 1
hello-time: 2
max-age: 12
通过删除受影响的接口(Netplan 需要使用新的 MAC 地址重新创建它)并运行 Netplan 来应用配置:
sudo ip link delete br0
sudo netplan apply
现在您应该拥有一个具有正常主机连接功能的桥。