我正在从Debian切换ifupdown到systemd-networkd,并且大多数情况下都可以正常工作。遗漏的一点是,每次更改网络后,我都想打电话给killall -ARLM tinc我,以使我的VPN及时启动。
难道systemd或systemd-networkd提供这样的功能?我将如何使用它?
我正在从Debian切换ifupdown到systemd-networkd,并且大多数情况下都可以正常工作。遗漏的一点是,每次更改网络后,我都想打电话给killall -ARLM tinc我,以使我的VPN及时启动。
难道systemd或systemd-networkd提供这样的功能?我将如何使用它?
Answers:
锡应作为系统单位更新,而不是发送直接信号。为了实现这一需求来配置自己的单元文件与相应的被链接Require=,Before=以及After=在线路[Unit]部分。另外,请确保WantedBy=为网络服务设置了正确的地址。(即WantedBy={ network.target,network-online.target,network-pre.target}代替multi-user.target)
这样就可以执行systemctl restart systemd-networkd.service以重新启动网络。将其与systemd-resolvd,udev/ dbus(wpa_supplicant@nic.service在wifi上加上时)结合使用,一个人的网络就可以正常工作。
请务必阅读有关切换到系统联网和单位相关性的文章。这也是systemd.service通过systemd for administartors指南中的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