Estoy cambiando de Debian ifupdowna systemd-networkd, y en su mayoría funciona bien. Un bit que falta es que con cada cambio de red, quiero llamar killall -ARLM tinc, para que mi VPN se active de manera oportuna.
¿Tiene systemdo systemd-networkdproporciona dicha funcionalidad? ¿Cómo lo usaría?
systemd
events
systemd-networkd
Joachim Breitner
fuente
fuente

Tinc debe actualizarse como una unidad systemd en lugar de enviar señales directas. Para lograr esto se necesita para configurar sus archivos unitarios que se han encadenado con el apropiadas
Require=,Before=yAfter=líneas en la[Unit]sección. También asegúrese de establecer lo correctoWantedBy=para los servicios de red. (es decir.WantedBy={network.target,network-online.target,network-pre.target} en lugar demulti-user.target)Esto le permite a uno ejecutar
systemctl restart systemd-networkd.servicepara reiniciar su red. Combinado esto consystemd-resolvd,udev/dbus(más[email protected]cuando está en wifi) y la red de uno simplemente funciona.Asegúrese de leer los artículos sobre cómo cambiar a systemd-networkd y dependencias de la unidad . Esta es también una forma de enviar señales a sus
systemd.serviceunidades a través delsystemctl killcomando como se documenta en la guía del sistema para administradoresfuente
systemctl killpara entregar la señal. Pero no veo cómo activar eso en un cambio de configuración de red.network.targetmomentonetwork-online.targetpara iniciar esa unidad. así que solotinc.serviceincluyaRequires=systemd-networkd.serviceyWantedBy=network-online.targetluego, cuando se inicie systemd-networkd, aparecerá la interfaz nic y tun, establecerá una dirección IP y luego le indicará a tinc que inicie o reinicie según sea necesario.case "$2" in up|connectivity-change) if /usr/bin/nm-online -qx; then systemctl reload autossh.service fi;; esacEsto actualmente no es posible. Sin embargo, solo puede usarlo
systemd-networkd-wait-online.servicecomo una dependencia en el arranque para reconfigurar tinc. En mi experiencia, tinc reaccionará rápidamente ante los cambios en la configuración de la red. Al menos en Linux podría usar rtnetlink para escuchar los cambios en las interfaces.fuente