Systemd/networkd/dispatcher: Difference between revisions
imported>Onny Update interface to latest PR state |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Systemd/breadcrumb}} | |||
[https://gitlab.com/craftyguy/networkd-dispatcher Networkd-dispatcher] is a dispatcher service for systemd-networkd connection status changes. This daemon is similar to NetworkManager-dispatcher, but is much more limited in the types of events it supports due to the limited nature of systemd-networkd. | [https://gitlab.com/craftyguy/networkd-dispatcher Networkd-dispatcher] is a dispatcher service for systemd-networkd connection status changes. This daemon is similar to NetworkManager-dispatcher, but is much more limited in the types of events it supports due to the limited nature of systemd-networkd. | ||
== Usage == | == Usage == | ||
Line 24: | Line 23: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Please refer [https://gitlab.com/craftyguy/networkd-dispatcher upstream documentation] for | Please refer [https://gitlab.com/craftyguy/networkd-dispatcher upstream documentation] for available states and additional examples. | ||
[[Category:Networking]] | [[Category:Networking]] | ||
[[Category:systemd]] |
Latest revision as of 21:33, 24 April 2024
Networkd-dispatcher is a dispatcher service for systemd-networkd connection status changes. This daemon is similar to NetworkManager-dispatcher, but is much more limited in the types of events it supports due to the limited nature of systemd-networkd.
Usage
The following example triggers a script every time the networkd state routable
or off
is reached. This is the case when you connect to a new network or quit an existing connection as with OpenVPN. An additional check ensures that the affected interface corresponds to wlan0
and that the uplink is configured
. After that the Tor daemon gets restarted.
services.networkd-dispatcher = {
enable = true;
rules."restart-tor" = {
onState = ["routable" "off"];
script = ''
#!${pkgs.runtimeShell}
if [[ $IFACE == "wlan0" && $AdministrativeState == "configured" ]]; then
echo "Restarting Tor ..."
systemctl restart tor
fi
exit 0
'';
};
};
Please refer upstream documentation for available states and additional examples.