GNU/Linux >> Tutoriales Linux >  >> Linux

¿Método para actuar sobre el cambio de dirección IP del ISP?

Como comentó Wouter, su configuración existente ya parece bastante decente.

Si quieres algo menos dependiente de dhclient , podría echar un vistazo a los muchos clientes DNS dinámicos empaquetados en Debian.

Por ejemplo, ddclient puede reaccionar a los cambios de DHCP o simplemente monitorear una interfaz Ethernet; cuando la dirección IP cambia (y solo entonces), puede actualizar una entrada DNS dinámica (en cualquier número de proveedores), así como ejecutar un script separado (que cubriría ambos casos de uso).


Propongo simplificar/dividir aún más su solución siguiendo el principio de separación de preocupaciones:

  • un guión /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change solo debe decidir si es necesario realizar una acción y diferir la acción a un script separado /usr/local/bin/act_on_ip_change
  • el guión /usr/local/bin/act_on_ip_change solo debe ejecutar los cambios necesarios

Las razones para separar esas preocupaciones son:

  • puede probar por separado si dhclient se activa correctamente (sin modificar nada en su sistema durante la depuración)
  • puede probar la "realización de cambios" sin la necesidad de renovar (y, por lo tanto, perder potencialmente) su IP
  • puedes ejecutar /usr/local/bin/act_on_ip_change manualmente en caso de que sea necesario
  • las partes son mucho más fáciles de entender

En resumen, sugeriría tener esto en /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change_action :

# based on /etc/dhcp/dhclient-exit-hooks.d/debug

if [ "$reason" = "BOUND" -a "$old_ip_address" != "$new_ip_address" ]; then
  /usr/local/bin/act_on_ip_change
fi

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  3. ¿Qué hace la línea '!/bin/sh -e'?

  4. ./configure:/bin/sh^M:mal intérprete

  5. Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

¿La diferencia entre /opt y /usr/local?

permiso denegado para el compositor en /usr/local/bin/

¿Cuáles son los significados de /usr/sbin, /usr/local/sbin y /usr/local/bin?

Diferencia entre /bin y /usr/bin

¿Cómo cambiar el campo De:para correos electrónicos de Cron?

#!/bin/sh vs #!/bin/bash para máxima portabilidad