Estoy cambiando de Debian ifupdown
a 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 systemd
o systemd-networkd
proporciona 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.service
para 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.service
unidades a través delsystemctl kill
comando como se documenta en la guía del sistema para administradoresfuente
systemctl kill
para entregar la señal. Pero no veo cómo activar eso en un cambio de configuración de red.network.target
momentonetwork-online.target
para iniciar esa unidad. así que solotinc.service
incluyaRequires=systemd-networkd.service
yWantedBy=network-online.target
luego, 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;; esac
Esto actualmente no es posible. Sin embargo, solo puede usarlo
systemd-networkd-wait-online.service
como 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