Saya beralih dari Debian ifupdown
ke systemd-networkd
, dan sebagian besar berfungsi dengan baik. Satu bit yang hilang adalah bahwa pada setiap perubahan jaringan, saya ingin menelepon killall -ARLM tinc
, sehingga VPN saya naik tepat waktu.
Apakah systemd
atau systemd-networkd
menyediakan fungsi seperti itu? Bagaimana saya menggunakannya?
systemd
events
systemd-networkd
Joachim Breitner
sumber
sumber
Tinc harus diperbarui sebagai unit systemd bukannya mengirim sinyal langsung. Untuk mencapai hal ini salah satu kebutuhan untuk mengkonfigurasi file unit mereka harus dirantai dengan tepat yang
Require=
,Before=
danAfter=
garis-garis di[Unit]
bagian. Pastikan juga Anda mengatur yang benarWantedBy=
untuk layanan jaringan. (mis.WantedBy=
{network.target
,network-online.target
,network-pre.target
} bukanmulti-user.target
)Ini memungkinkan seseorang untuk mengeksekusi
systemctl restart systemd-networkd.service
untuk me-restart jaringan Anda. Menggabungkan ini dengansystemd-resolvd
,udev
/dbus
(plus[email protected]
ketika di wifi) dan jaringan seseorang hanya berfungsi.Pastikan untuk membaca artikel tentang beralih ke systemd-networkd dan ketergantungan unit . Ini juga merupakan cara untuk mengirim sinyal ke
systemd.service
unit Anda melaluisystemctl kill
perintah seperti yang didokumentasikan dalam systemd untuk panduan administratorsumber
systemctl kill
untuk mengirimkan sinyal. Tapi saya tidak melihat bagaimana cara memicu perubahan konfigurasi jaringan.network.target
kemudiannetwork-online.target
untuk memulai unit itu. jadi cukuptinc.service
sertakanRequires=systemd-networkd.service
danWantedBy=network-online.target
kemudian ketika systemd-networkd memulai yang akan memunculkan antarmuka nic dan tun, membuat alamat IP, dan kemudian memberi sinyal untuk memulai atau memulai kembali sesuai kebutuhan.case "$2" in up|connectivity-change) if /usr/bin/nm-online -qx; then systemctl reload autossh.service fi;; esac
Ini saat ini tidak memungkinkan. Namun Anda hanya dapat menggunakan
systemd-networkd-wait-online.service
dependensi saat boot untuk mengkonfigurasi ulang tinc. Dalam pengalaman saya tinc akan bereaksi cepat terhadap perubahan dalam konfigurasi jaringan. Setidaknya di linux bisa menggunakan rtnetlink untuk mendengarkan perubahan antarmuka.sumber