systemd-networkd - come forzare la nuova configurazione senza riavviare?


12

Sulla mia scatola Arch, avevo un bridge di rete. L'obiettivo era rimuovere il bridge e utilizzare solo la scheda di rete non collegata a ponte. Per fare ciò, ho rimosso tutti i file di configurazione * .netdev e * .network /etc/systemd/networke li ho sostituiti con un semplice file:

/etc/systemd/network/lan.network
--------------------------------
[Match]
eno*

[Network]
DHCP=ipv4

Ho quindi riavviato il servizio di rete utilizzando systemctl restart systemd-networkd, supponendo che questo mi avrebbe lasciato solo con lol' eno*interfaccia e. Sfortunatamente, tuttavia, questo non ha avuto effetto. Una rapida occhiata ip linkmostrava ancora l'interfaccia bridge attiva e attiva.

Poiché il tempo di attività in questo caso particolare non è cruciale, ho appena riavviato la macchina che ha risolto il problema. Tuttavia, mi piacerebbe pensare che i riavvii non dovrebbero essere necessari per questo tipo di cose. Cosa mi sono perso da fare?


v244 ha networkctl reloade reconfigure @ github.com / systemd
frostschutz il

Risposte:


9

Se l'interfaccia master del bridge è ancora attiva, le interfacce slave associate rimarranno associate anche se nel frattempo vengono rilevate nuove configurazioni. Quindi basta perdere il ponte.

ip link set down br0
ip link del dev br0
systemctl restart systemd-networkd

1
Non perderei l'accesso alla rete nel processo?
vic

@vic - se l'accesso alla tua rete viene instradato attraverso un bridge a cui hai legato la tua nic, allora sì, mi aspetto così. non riesco a pensare a un modo semplice per fare diversamente, e i modi complicati a cui riesco a pensare sono solo a metà cottura e implicano nics virtuali di blocco temporaneo e duplicazione in netfilter nel kernel di tutti i pacchetti sullo sviluppatore. brutto e sciocco. o quello o il viaggio nel tempo. forse c'è un altro modo, ma non lo imparerai da me. comunque, la rete viene persa solo dopo il primo comando e successivamente ripristinata dopo il terzo. probabilmente meno dt di un riavvio.

1
@vic So di essere in ritardo per la festa, ma un modo potrebbe essere quello di raggruppare i comandi in un'unica riga, come ad esempio ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkd. La connessione potrebbe interrompersi, almeno momentaneamente, ma il servizio di rete dell'host dovrebbe essere di nuovo online e puoi sempre creare una nuova sessione SSH purché tu sappia l'indirizzo IP che otterrai dopo averlo riavviato.
code_dredd

1
Utilizzare un punto e virgola, non &&per concatenare questi comandi. Se uno fallisce, può ancora riconfigurare la connessione di rete in modo utilizzabile in modo da non doverti alzare e visitare il server ...
Josef Kufner
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.