GNU/Linux >> Linux Esercitazione >  >> Linux

Come attendere l'interfaccia eth0 prima di eseguire i comandi ip link, ip addr e ip route?

Ecco la soluzione con cui alla fine ho risolto il mio problema:

while ! ip link show eth0 | grep -q 'state UP'; do
    sleep 1
done

ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0

Tuttavia, avevo 2 attività pianificate di "avvio" sulla mia Synology e ricevevo alcuni errori all'avvio. Per risolvere questo problema, configuro questa attività per avere l'altra come pre-attività. In altre parole, le attività eseguite in sequenza, aspettando che l'attività precedente finisca prima di iniziare quella nuova.


Controlla lo stato di eth0 da /sys/class/net/eth0/operstate e attendi che l'interfaccia di rete sia attiva:

while ! [ "$(cat /sys/class/net/eth0/operstate)" = "up" ] 
do
    echo  "waiting for eth0 to be up"
    sleep 2
done

ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0

Linux
  1. Come disabilitare i comandi di spegnimento e riavvio in Linux

  2. come utilizzare cURL su un'interfaccia specifica

  3. Come impostare il percorso per i comandi sudo

  4. Come vedere su Linux quale interfaccia di rete e indirizzo IP di origine vengono utilizzati per un percorso verso un host di destinazione specifico?

  5. Trova l'interfaccia per il percorso verso un host specifico

Come Grep per più stringhe e pattern

Come eseguire il backup e il ripristino della scheda SD per Raspberry Pi

Come utilizzare i comandi Pushd, Popd e Dirs per una navigazione CLI più veloce

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Come aggiungere Icinga Director per Icinga2 e Icinga Web 2.

Interfaccia a nastro per GTK e Qt