+
+ <div class="section" id=
+ "automatizzare-l-aggiornamento-dinamico">
+ <h3><a class="toc-backref" href=
+ "#id79">7.4.4 Automatizzare
+ l'aggiornamento dinamico</a></h3>
+
+ <p>Nsupdate risulta comodo per tenere aggiornati i record
+ DNS degli host connessi ad internet con indirizzi IP
+ dinamici (pubblici) assegnati dal provider. Il client
+ deve essere in grado di contattare autonomamente il
+ server DNS per comunicare un cambiamento del suo ip.
+ Vediamo innanzi tutto un primo script per nsupdate:</p>
+ <pre class="literal-block">
+#!/bin/bash
+# Diamo al demone ppp un po' di tempo per negoziare la connessione
+# prima di leggere l'IP ottenuto
+sleep 15
+IPADDR=$(/sbin/ifconfig ppp0 | awk '/inet/ { print $2 } ' | sed -e s/addr://)
+
+nsupdate -k /root/dns/Khome.piffa.net.+157+04331.private <<-EOF
+ server 192.168.0.254
+ zone home.piffa.net.
+ update delete home.piffa.net. A
+ update delete home.piffa.net. MX
+ update add home.piffa.net. 432000 A $IPADDR
+ update add home.piffa.net. 432000 MX 10 home.piffa.net.
+ show
+ send
+ EOF
+</pre>
+
+ <p>Questo script legge il valore del device di rete
+ <tt class="docutils literal"><span class=
+ "pre">ppp0</span></tt> creato dal <cite>pppoe</cite> di
+ una connessione ADSL per ottenere l'indirizzo IP ottenuto
+ dal provider (prima di farlo aspetta 15 secondi per dare
+ il tempo al <tt class="docutils literal"><span class=
+ "pre">pppoe</span></tt> di negoziare la
+ connessione).Vengono poi eliminati gli esistenti valori
+ <tt class="docutils literal"><span class=
+ "pre">A</span></tt> e <tt class=
+ "docutils literal"><span class="pre">MX</span></tt> per
+ <tt class="docutils literal"><span class=
+ "pre">home.piffa.net</span></tt> (si noti il punto finale
+ dopo <em>net</em>) e inseriti quelli attuali.</p>
+
+ <p>Resta da decidere quando richiamare questo script:
+ l'evento che causa l'assegnazione del nuovo IP in questo
+ caso e una nuova connessione <tt class=
+ "docutils literal"><span class="pre">pppoe</span></tt>,
+ quindi sarebbe consigliabile inserire lo script nelle
+ routine comprese in <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/ppp/ip-up.d</span></tt> (si veda la
+ documentazione di ppp), nel caso questo non desse i
+ risultati sperati (per problemi di connessione) come via
+ estrema si consideri di mettere lo script nella routine
+ del demone <tt class="docutils literal"><span class=
+ "pre">cron</span></tt> in modo che venga eseguito
+ periodicamente (ad esempio ogni giorno).</p>
+ </div>