swe*_*web 4 networking bridge ubuntu netplan
我安装了 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"
Run Code Online (Sandbox Code Playgroud)
在阅读了 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
Run Code Online (Sandbox Code Playgroud)
从 IP 地址可以看出,服务器托管在 Hetzner 上。
在 Ubuntu 16.04 上,网桥与 ifupdown 配合良好,但现在 Ubuntu 18.04 使用 Netplan 而不是 ifupdown,我需要知道如何在 Netplan 中配置网桥。
如果您没有在 Netplan 的网桥配置中明确设置 MAC 地址,则它是随机的。
如果我没记错的话,Hetzner 会将您分配的 IP 地址限制为服务器的 MAC 地址,因此您可能需要将网桥的 MAC 地址设置为物理接口的 MAC 地址。
要获取物理接口的 MAC 地址,请运行以下命令:
cat /sys/class/net/enp4s0/address
Run Code Online (Sandbox Code Playgroud)
(enp4s0如果需要,替换为适当的接口名称。)
在您的 Netplan 配置文件中,在网桥接口名称下添加 MAC 地址,如下所示:
macaddress: xx:xx:xx:xx:xx:xx
Run Code Online (Sandbox Code Playgroud)
对您而言,您的 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
Run Code Online (Sandbox Code Playgroud)
通过删除受影响的接口(Netplan 使用新 MAC 地址重新创建它所必需的)并运行 Netplan 来应用配置:
sudo ip link delete br0
sudo netplan apply
Run Code Online (Sandbox Code Playgroud)
现在您应该有一个具有正常主机连接功能的网桥。
| 归档时间: |
|
| 查看次数: |
2284 次 |
| 最近记录: |