我最近在一台有 2 个以太网端口的虚拟机上安装了 Ubuntu 20.04。我试图绑定这 2 个以太网端口,但找不到正确的方法。例如,有人说不用 netplan,有人说用 netplan,有人说用网桥绑定,等等。
我是这个领域的新手,有没有办法做一个简单的粘合?
更新:我达到了这一点:
network:
version: 2
renderer: networkd
ethernets:
eth1:
dhcp4: false
eth2:
dhcp4: false
bonds:
bond0:
dhcp4: false
interfaces:
- eth1
- eth2
parameters:
mode: balance-rr
mii-monitor-interval: 100
bridges:
br0:
dhcp4: true
interfaces:
- bond0
我无法获取 的 IP 。如果我仅使用而不br0
使用 ,也会发生同样的情况。bond0
br0
谢谢
答案1
正如您的屏幕截图所示,您有三个以太网:eth0, eth1, eth2
。eth0
有一个 IP,因此您可以对此进行一些配置(即通过ifupdown
配置/etc/network/interfaces
)。
我希望eth1, eth2
不要连接到同一个交换机和网络,为了使其工作,它需要更多的设置。
您应该检查是否有任何其他工具(例如ifupdown
未用于调出eth1, eth2
和bond0
)br0
。
不要将这些工具与 netplan 一起使用。禁用eth1, eth2
ifaces – 删除auto
带有 的行eth1, eth2
,只添加一行:iface eth1 inet manual
for each。或者重命名或删除文件/etc/network/interfaces
。
如果重命名或者删除/etc/network/interfaces
,则应将配置添加eth0
到 netplan 配置中。
例如,在我的配置中,我有em1, em2
以太网。bond0
它们在一起,br0
在顶部bond0
。br0
通过 DHCP 获取 IP。br0
需要从此服务器上的虚拟机访问网络。我的配置:
network:
version: 2
renderer: networkd
ethernets:
em1:
dhcp4: no
dhcp6: no
em2:
dhcp4: no
dhcp6: no
bonds:
bond0:
dhcp4: no
dhcp6: no
interfaces:
- em1
- em2
macaddress: "xx:xx:xx:xx:2b:62"
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
transmit-hash-policy: layer2+3
bridges:
br0:
dhcp4: yes
dhcp6: yes
macaddress: "xx:xx:xx:xx:2b:62"
interfaces:
- bond0
您可以删除带有 的部分,bridges
并将其设置dhcp4: yes, dhcp6: yes
为bond0
。这应该也可以工作,并且bond0
应该从 DHCP 获取 IP。
我还为其制作了一个工作配置ifupdown2
(可能是因为旧的ifupdown
无法处理 ifaces 依赖性,但ifupdown2
可以)。
答案2
根据您和我自己的配置,我可以想象这样的事情可以起作用:
network:
version: 2
renderer: networkd
ethernets:
eth1:
dhcp4: false
eth2:
dhcp4: false
bonds:
bond0:
dhcp4: false
interfaces:
- eth1
- eth2
parameters:
mode: balance-rr
mii-monitor-interval: 100
bridges:
br0:
dhcp4: true
gateway4: your.gate.way.addr
interfaces:
- bond0