GNU/Linux >> Linux Esercitazione >  >> Linux

Metodo per agire sulla modifica dell'indirizzo IP dall'ISP?

Come ha commentato Wouter, la tua configurazione esistente sembra già abbastanza decente.

Se vuoi qualcosa di meno dipendente da dhclient , potresti dare un'occhiata ai molti client DNS dinamici impacchettati in Debian.

Ad esempio, ddclient può reagire alle modifiche DHCP o semplicemente monitorare un'interfaccia Ethernet; quando l'indirizzo IP cambia (e solo allora), può aggiornare una voce DNS dinamica (su qualsiasi numero di provider), nonché eseguire uno script separato (che coprirebbe entrambi i tuoi casi d'uso).


Propongo di semplificare/suddividere ulteriormente la tua soluzione seguendo il principio della separazione delle preoccupazioni:

  • uno script /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change dovrebbe solo decidere se è necessario intraprendere un'azione e rinviare l'azione a uno script separato /usr/local/bin/act_on_ip_change
  • lo script /usr/local/bin/act_on_ip_change dovrebbe eseguire solo le modifiche necessarie

Le ragioni per separare queste preoccupazioni sono:

  • puoi verificare separatamente se dhclient si sta attivando correttamente (senza effettivamente modificare nulla sul tuo sistema durante il debug)
  • puoi testare il "change making" senza la necessità di rinnovare (e quindi potenzialmente perdere) il tuo IP
  • puoi eseguire /usr/local/bin/act_on_ip_change manualmente in caso di necessità
  • le parti sono molto più facili da capire

In breve, suggerirei di avere questo in /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. /usr/bin Vs /usr/local/bin Su Linux?

  2. Linux:come ottenere l'indirizzo IPv4 per un'interfaccia da /proc?

  3. autorizzazione negata per il compositore in /usr/local/bin/

  4. Qual è il significato di /usr/sbin, /usr/local/sbin e /usr/local/bin?

  5. Differenza tra /bin e /usr/bin

Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

Cambia directory ed esegui il file in un comando

Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

cmake --version punta a /usr/bin/cmake mentre which cmake punta a /usr/local/bin

Spostato il contenuto di /bin in /usr/bin, è possibile annullare?

Come modificare il campo Da:per le e-mail da Cron?