Come posso creare un'interfaccia bond in Ubuntu 18.04?


11

Sto cercando di reinstallare un server Ubuntu alla 18.04.

Ho scoperto che 18.04 utilizza Netplan e ho problemi a creare un'interfaccia bond usando questo.

Configurazione aggiornata:

############# BOND - VLAN ##################
network:
    version: 2
    renderer: networkd
    ethernets:
        switchports:
            match: {name: "ens*"}
    bonds:
        bond0:
            interfaces: [switchports]
            parameters:
                mode: balance-alb
    vlans:
        inet:
            id: 50
            link: bond0
            addresses: [X.X.X.X/24]
            gateway4: X.X.X.252
            dhcp4: no
            nameservers:
                addresses: [X.X.X.33]

Sembra che non dovrei avere 2 dichiarazioni di match e ens * in una singola istruzione lo ha fatto - lo pulirò quando lo farò funzionare ..

Ho installato ifenslave e bridge-utils come qualcuno ha suggerito questo, ancora niente.

Inoltre ho abilitato il modulo di incollaggio in /etc/modules.

Il mio problema originale era che l'interfaccia era nello stato SU, ma potevo solo eseguire il ping dell'interfaccia stessa, non altro.

Non sono riuscito a farlo funzionare, quindi ho finito per rinominare il /etc/netplan/<name>.yamlfile e l'installazione ifupdown.

Se qualcuno ha la minima idea del perché questo non ha funzionato, sarò felice di saperlo :)


Il tuo secondo esempio sembra giusto. Potresti fornire maggiori dettagli sul perché non funziona per te? Hai lasciato fuori ciò che non andava. E per fare un po 'di backup, se non ti dispiace solo modificare l'intera domanda per rimuovere ciò che hai provato in precedenza, e dare semplicemente il problema, la configurazione corrente, che aiuterebbe gli altri a leggere. :)
— dpb,

È sempre lo stesso problema, riesco a vedere l'interfaccia bond con l'indirizzo up in ip addr, ma non riesco a eseguire il ping di nient'altro che se stesso ..
— Ripulirò

Risposte:


4

Ho installato Ubuntu Server e abbastanza sorprendentemente mi ha chiesto se volevo installare il bonding.

Questo è il file yaml che è stato installato:

Location: /etc/netplan/ 

File Name: 50-cloud-init.yaml

File Structure:

# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disablecloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
   bonds:
       bond0:
           addresses: []
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0
           parameters:
               lacp-rate: fast
               mode: 802.3ad
               transmit-hash-policy: layer2
       ethernets:
           enp5s4:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp5s9:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp64s0:
               addresses: []
               dhcp4: false
               dhcp6: false
version: 2

Lo aggiornerò mentre apprenderò di più sul nuovo stile di configurazione della rete in Ubuntu.

AGGIORNARE

Per modificare questo come indirizzo statico, procedi come segue:

 sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.old

!Nota! Il nome file * .yaml predefinito potrebbe essere diverso.

 sudo touch /etc/netplan/my-network-file.yaml

!Nota! Puoi nominare il tuo file di configurazione come vuoi solo assicurandoti che finisca con .yaml

sudo nano /etc/netplan/my-network-file.yaml

In questo file (my-network-file.yaml) copia dall'alto e aggiungi le seguenti modifiche:

network:
   bonds:
       bond0:
           addresses: [192.168.0.8/24]
           gateway4: 192.168.0.1
           nameservers:
              addresses: [8.8.8.8,8.8.4.4]
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0

Assicurati di cambiare gli indirizzi IP per riflettere la tua rete. Dopo questo, ho appena riavviato la macchina e la mia nuova configurazione di rete è stata caricata e funzionante.

In alternativa puoi usare:

sudo netplan apply

Questo dovrebbe applicare la nuova configurazione senza la necessità di riavviare.

Nota a margine Potrebbe essere necessario osservare la spaziatura e non utilizzare le schede poiché ciò potrebbe causare problemi con il file di configurazione.

Se non si è sicuri delle interfacce di rete, è possibile effettuare una delle seguenti operazioni

lshw -class network 

o

ip link show

Spero che sia di aiuto!


Interessante! Sembra che tutti coloro che pubblicano soluzioni per i problemi di netplan abbiano un approccio diverso. Ho appena pubblicato questa domanda e vorrei provare il tuo approccio, ma la tua risposta sembra un po 'ambigua sotto un aspetto: In this file copy from above and append the following changes:ti dispiace mostrare un elenco completo di file e il nome del file?
— Seamus,

Ho aggiornato la mia risposta. il file a cui mi riferisco è il nuovo file yaml di rete creato. ie (my-network-file.yaml)
— Kyle Coots

È molto utile, grazie e +1. Solo così sono chiaro su questo punto: netplanaggrega / combina i file .yaml? In altre parole, se bondsinserissi la sezione in un file yaml e la ethernetssezione in un altro file yaml (entrambi in /etc/netplan) - il sistema combinerebbe questi file per ottenere una configurazione "totale"?
— Seamus

Non ne sono sicuro. Mi azzarderei a dire di no ma potrei sbagliarmi.
— Kyle Coots

1
Ho ricevuto una risposta alla mia domanda . Volevo condividerlo con te in quanto le domande sono correlate e ci sono informazioni che potresti voler includere nella tua risposta. In particolare, due elementi: 1. You should never have to run cloud-init again on an Ubuntu Server system installed with the new server installere 2. the messages in /etc/netplan pointing you to /etc/cloud/cloud.cfg.d are an error that we're working on correcting. Questa attività di Netplan ha promesso, ma ci sono molte informazioni contrastanti "là fuori".
— Seamus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.