Você pode ter sua unidade systemd vinculada ( BindTo ) e depender ( DependsOn ) da unidade .device da interface de rede correspondente (que é carregada automaticamente) para a interface mencionada da seguinte forma:
[Unit]
Description=Service on interface %I
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/project/my_script.sh start %I
[Install]
WantedBy=multi-user.target
Você provavelmente desejará ter a dependência da unidade formalizada adicionando Wants e After se sua unidade personalizada espera ter a interface de rede realmente online adicionando-as em [Unit] seção:
Wants=network-online.target
After=network-online.target
NB: Você pode verificar se .device unidades são loaded fazendo systemctl list-units --type=device .