Debianからに切り替えていますifupdownがsystemd-networkd、ほとんど問題なく動作します。足りない点の1つは、ネットワークが変更されるたびにを呼び出しkillall -ARLM tincて、VPNがタイムリーに稼働するようにすることです。
systemdそのsystemd-networkdような機能はありますか、または提供していますか?どうやって使うの?
Debianからに切り替えていますifupdownがsystemd-networkd、ほとんど問題なく動作します。足りない点の1つは、ネットワークが変更されるたびにを呼び出しkillall -ARLM tincて、VPNがタイムリーに稼働するようにすることです。
systemdそのsystemd-networkdような機能はありますか、または提供していますか?どうやって使うの?
回答:
Tincは、直接信号を送信するのではなく、systemdユニットとして更新する必要があります。これを達成するために適切なと連鎖させるために彼らのユニットファイルを設定する必要がありRequire=、Before=とAfter=の行[Unit]セクション。またWantedBy=、ネットワークサービスの正しい設定を確認してください。(すなわち、WantedBy={ network.target、network-online.target、network-pre.target}の代わりにmulti-user.target)
これにより、実行systemctl restart systemd-networkd.serviceしてネットワークを再起動できます。これを/ (wifiの場合はプラス)と組み合わせるとsystemd-resolvd、ネットワークは正常に機能します。udevdbuswpa_supplicant@nic.service
systemd-networkdとユニット依存への切り替えに関する記事を必ずお読みください。これは、systemd for administartorsガイドに記載されsystemd.serviceているsystemctl killコマンドを介してユニットに信号を送信する方法でもあります
systemctl kill、信号の配信に使用できます。しかし、ネットワーク構成の変更時にそれをトリガーする方法はわかりません。
network.targetそして、network-online.targetそのユニットをキックオフします。これだけいるtinc.service含めるRequires=systemd-networkd.serviceと、WantedBy=network-online.targetそのオフにsystemd-networkdキックは、NICおよびTUNインタフェースを起動し、IPアドレスを確立し、その後、必要に応じて起動または再起動するTINCに通知しますときに。
case "$2" in up|connectivity-change) if /usr/bin/nm-online -qx; then systemctl reload autossh.service fi;; esac