Bonding / Ubuntu 20.04

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

0
задан 11 August 2020 в 12:27

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
0
ответ дан 11 August 2020 в 20:05

Как на скриншоте, у вас есть три 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 может).

0
ответ дан 28 October 2020 в 13:17

Другие вопросы по тегам:

Похожие вопросы: