systemd-networkd - bagaimana memaksa konfigurasi baru tanpa reboot?

12

Di kotak Arch saya, saya punya jembatan jaringan. Tujuannya adalah untuk menghapus jembatan dan hanya menggunakan adaptor jaringan yang tidak dijembatani. Untuk melakukannya, saya menghapus semua file konfigurasi * .netdev dan * .network di bawah /etc/systemd/networkdan menggantinya dengan satu file sederhana:

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

[Network]
DHCP=ipv4

Saya kemudian restart layanan jaringan menggunakan systemctl restart systemd-networkd, dengan asumsi ini akan meninggalkan aku hanya dengan lodan eno*antarmuka. Sayangnya, ini tidak berpengaruh. Pandangan cepat ip linkmasih menunjukkan antarmuka jembatan dan aktif.

Karena uptime dalam kasus khusus ini tidak penting, saya hanya reboot mesin yang memecahkan masalah. Namun, saya ingin berpikir bahwa reboot seharusnya tidak diperlukan untuk hal semacam ini. Apa yang saya lewatkan untuk dilakukan?

vic
sumber
v244 memiliki networkctl reloaddan reconfigure @ github.com / systemd
frostschutz

Jawaban:

9

Jika antarmuka master jembatan Anda masih di atas maka antarmuka slave terikat akan tetap terikat bahkan jika konfigurasi baru ditemukan untuk mereka sementara itu. Jadi kehilangan jembatan.

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

sumber
1
Bukankah saya akan kehilangan akses jaringan dalam proses ini?
vic
@vic - jika akses jaringan Anda dialihkan melalui jembatan yang telah Anda ikat dengan nic, maka ya, saya harap begitu. saya tidak bisa memikirkan cara sederhana untuk melakukan sebaliknya, dan cara rumit yang dapat saya pikirkan hanya setengah matang dan melibatkan penahanan sementara virtual nics dan duplikasi netfilter di-kernel dari semua paket pada dev. jelek dan konyol. baik itu atau perjalanan waktu. mungkin ada cara lain, tetapi Anda tidak akan mempelajarinya dari saya. Lagi pula, jaringan hanya hilang setelah perintah pertama dan kemudian dikembalikan mengikuti perintah ketiga. mungkin kurang dt daripada reboot.
1
@ Ivic Aku tahu aku terlambat ke pesta, tapi satu cara bisa dengan rantai perintah bersama dalam satu baris, seperti ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkd. Koneksi Anda mungkin turun, setidaknya untuk sementara, tetapi layanan jaringan host harus kembali online dan Anda selalu dapat membuat sesi SSH baru selama Anda tahu alamat IP yang akan Anda dapatkan setelah memulai kembali.
code_dredd
1
Gunakan titik koma, bukan &&untuk rantai perintah ini. Jika salah satu gagal, masih dapat mengkonfigurasi ulang koneksi jaringan dengan cara yang dapat digunakan sehingga Anda tidak harus bangun dan mengunjungi server ...
Josef Kufner