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.