I recently installed Ubuntu 20.04 on a VM with 2 ethernet ports. I'm trying to bond those 2 ethernet ports, but I can't find the right way. For example, someone says without netplan, others with netplan, bond with bridge, etc.
I'm new in this, is there a way to do a simple bonding?
Update: I reached this point:
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
And I can't get the IP for br0
. The same happens if I only use bond0
without br0
.
Thanks
Основываясь на вашей и моей собственной конфигурации, я могу представить, что может сработать что-то вроде этого:
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
Как на скриншоте, у вас есть три ethernet: 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
для каждого .
Или переименуйте или удалите файл /etc/network/interfaces
.
Если вы переименовываете или удаляете /etc/network/interfaces
, вы должны добавить конфигурацию eth0
в конфигурацию сетевого плана.
Например, у меня в конфиге em1, em2
ethernet. bond0
вместе, а br0
вверху bond0
. br0
получает IP через DHCP. 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
Вы можете удалить часть с мостами
и установить dhcp4: yes, dhcp6: yes
на bond0
. Это также должно работать, и bond0
должен получить IP от DHCP.
Также я сделал рабочий конфиг для ifupdown2
(возможно потому, что старый ifupdown
не может обрабатывать зависимость от ifaces, а ifupdown2
может).