systemd
semble avoir pris le dessus sur les réseaux de nos jours.
$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback n/a unmanaged
2 enp0s25 ether n/a unmanaged
3 wlo1 wlan n/a unmanaged
3 links listed.
Il possède également des unités correspondant aux interfaces
$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
Apparemment, vous pouvez les utiliser dans les fichiers de l'unité de service. Il suffit donc de créer une unité de service pour exécuter votre script et d'utiliser quelque chose comme ça à l'intérieur pour le faire fonctionner de manière conditionnelle sur le réseau :
BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device
Bonne chance ! Je ne l'ai pas testé, donc "votre kilométrage peut varier".
Sources :