<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>dns-nnxx</title><revhistory><revision><revnumber>1</revnumber><date>2019-06-03 22:54:16</date><authorinitials>Michele Salerno</authorinitials><revremark>DNS NNXX</revremark></revision></revhistory></articleinfo><section><title>Per usare la rete NNXX</title><para>Scaricare il firmware per il tuo router da <ulink url="http://downloads.nnxx.ninux.org/firmware/"/>, vedere anche la pagina <ulink url="http://ninux.org/nnxx"/> </para></section><section><title>DNS per NNXX</title><para>Per NNXX sono stati implementati 2 server DNS (Master e Slave) gestiti via ansible utilizzando il playbook <ulink url="https://github.com/ninuxorg/nnxx-bind-server"/>. Tutti possono aggiungere/modificare le zone. </para><para>I dns pubblici sono: </para><itemizedlist><listitem><para>176.9.204.50 (master) </para></listitem><listitem><para>176.9.187.218 (slave) </para></listitem></itemizedlist><para>I dns locali sono: </para><itemizedlist><listitem><para>10.27.253.10 (master) </para></listitem><listitem><para>10.27.253.11 (slave) </para></listitem></itemizedlist></section><section><title>DDNS per NNXX</title><para>E' stato implementato anche un servizio DDNS per i router. In questo modo tramite browser si possono raggiungere i router con domini tipo <emphasis>hostname</emphasis>.router.nnxx tramite la VPN NNXX. </para><section><title>script nsupdate</title><para>Lo script seguente registra il nome del router nella zona router.nnxx tramite la rete VPN di Ninux NNXX. <ulink url="http://wiki.ninux.org/dns-nnxx/OpenWisp#">OpenWisp</ulink> provvedere a caricare sui router il seguente script in /root/nsupdate. Viene eseguito ogni notte o può essere avviato manualmente in qualsiasi momento. L'aggiornamento avviene tramite VPN. </para><screen><![CDATA[if which nsupdate >/dev/null; then
]]><![CDATA[
ETH=br-lan
DOMAIN=router.nnxx
DNS=10.27.253.10
SUB=$(cat /proc/sys/kernel/hostname)
ECHO=$(which echo)
NSUPDATE=$(which nsupdate)
IP=$(ip addr show dev $ETH | grep 'inet ' | awk '{split($2,a,"/");print a[1];}')
]]><![CDATA[
$ECHO "server $DNS" > /tmp/nsupdate
$ECHO "debug yes" >> /tmp/nsupdate
$ECHO "zone $DOMAIN." >> /tmp/nsupdate
$ECHO "update delete $SUB.$DOMAIN" >> /tmp/nsupdate
$ECHO "update add $SUB.$DOMAIN 60 A $IP" >> /tmp/nsupdate
$ECHO "send" >> /tmp/nsupdate
]]><![CDATA[
$NSUPDATE -v /tmp/nsupdate 2>&1
]]><![CDATA[
else
    echo installo nsupdate, riavvia lo script dopo
    sleep 5
    opkg update
    opkg install bind-client
fi]]></screen></section></section></article>