Appunti di sviluppo e varie

Posts Tagged ‘bind’

LVA, ossia Log Verboso Addio (o almeno Arrivederci)

Sunday, January 31st, 2010

Come ho scritto sull’altro blog (quello serioso) sono riuscito a far fuori delle innoque ma noiose righe di logging che continuavano ad arrivarmi nella solita mail di logrotate.

Tutto un problema di Bind risolto con due righe in tutto, disabilitando ipv6 e ricorsione nella ricerca da parte di client non specificatamente autorizzati

Izy, ed è bastato il solito RTFM, stavolta per me :)

Cambio Server

Wednesday, January 21st, 2009

Dall’attuale AMD64 3000+ con 1GB di ram passo in settimana ad un ATOM 230 1.6Ghz sempre con 1GB di ram. Cambio perché il nuovo serverino (un ECS MD100) è silenziosissimo in quanto praticamente fanless e molto piccolo e carino, oltre ad avere dei consumi bassissimi (intorno ai 20W di picco), sicuramente inferiori a quello attuale.

Oltre a questo il cambiamento è dovuto alla (non tanto) prematura morte del pc fisso di Micaela che al momento si spegne in modo random che neanche avesse Windows :) Dato che si parla di un AMD Athlon K7 con un Barton 2800+ non vale neanche la pena di ripararlo: passo a Micaela il server attuale e siamo a posto, con complessiva soddisfazione di tutti e minori consumi.

In questa maniera colgo l’occasione per mettere su un’installazione hardened della Gentoo e «pettino» il software installato: nonostante i migliori propositi capita che si provi ad installare questo, poi quello …

Sarà una galoppata: c’è da spostare: siti (6) ftp, mysql, bind, samba e qualcosa che sicuramente scorderò …

Volevo quasi provare a mettere XEN, ma mi sa che data la scarsa potenza della macchina eviterò.

Seconda parte dello script

Monday, October 13th, 2008

Qui posto la seconda parte dello script. Purtorppo ho visto che la formattazione di questo simil-blog non è corretta quando si usano i tag bbcode, ma per quello che c’è da fare basta il monospace del <pre>

  echo "Va aggiornato a $NUOVOIP"
  echo "E il seriale va messo a $SERIALE"
  sed -i 's/\b[0-9]\{10\}\b/'$SERIALE'/g' /etc/bind/pri/ilvostrodominio.net.zone
  sed -i 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/'$NUOVOIP'/g' /etc/bind/pri/ilvostrodominio.net.zone 

  echo $NUOVOIP > /var/run/ipcorrente
  /etc/init.d/named reload

Prima parte dello Script per il DNS dinamico

Wednesday, October 1st, 2008

Come promesso (e sempre in tempi biblici)
ecco la prima parte dello script

#!/bin/bash

# Ottieni l'indirizzo da checkip.dyndns.org
wget checkip.dyndns.org -q -O tmpIndirizzo.html
# Strippalo delle parti non necessarie e mettilo in una variabile
NUOVOIP=`grep Current tmpIndirizzo.html | cut -d \: -f 2 |cut -d \  -f2|cut -d \< -f1`
# Recupera il valore attuale
IPCORRENTE=`cat /var/run/ipcorrente`
#Creiamo un nuovo seriale da mettere nella zona
SERIALE=`date +%Y%m%H%m`

# Li confrontiamo e se diversi aggiorniamo l'attuale
if [ $NUOVOIP != $IPCORRENTE ]
then

# ----8<---------------
# Qui andrà inserita la seconda parte dello script

  echo "Va aggiornato a $NUOVOIP"
  echo "E il seriale va messo a $SERIALE"
  echo $NUOVOIP > /var/run/ipcorrente

#
# ---->8---------------

else
  echo "Rimane $IPCORRENTE"
  echo "E il seriale non va cambiato"

fi

Questa parte si rende “solo” conto del fatto che l’ip sia cambiato o meno.
Prima del primo giro bisogna creare “/var/run/ipcorrente” con un touch

DNS su ip dinamico

Friday, September 26th, 2008

Come detto qualche giorno fa (anche un mese e mezzo è composto di giorni :D ) ecco la ricettina per avere i dns che fanno puntare su un ip dinamico il vostro dominio di secondo livello.
Ingredienti:

  • un dominio di secondo livello registrato a vostro nome
  • un “mantainer” che vi permetta di specificare i dns per il vostro dominio
  • un pc possibilmente sempre acceso e che sappia l’IP che volete assegnare al dominio
  • il pacchetto bind
  • un dominio dinamico di terzo livello di quelli gratuiti (DynDNS no-ip o quel che volete)
  • uno script per fare l’update dell’ip dinamico sopra citato

Il tutto va amalgamato in maniera abbastanza semplice:
passo 1:
registratevi due domini di terzo livello. Per questo esempio useremo [color=red]fakedns1.no-ip.org[/color] e
[color=blue]fakedns1.no-ip.org[/color]. I nomi non sono assolutamente importanti, quindi sbizzarritevi (o se ne avete già usateli tranquillamente).
Configurate un qualche script per tenere aggiornati questi domini. Su Gentoo uso noip-updater

serverillo3#emerge noip-udater
...
serverillo3#noip2
rispondere alle domande .....

A quel punto lo script si arrangia e siete a posto, con un downtime massimo ipotetico lungo quanto l’intervallo di aggiornamento dato allo script (normalmente 5 minuti).

Passo2:
Registrate un dominio presso un mantainer che vi permetta di specificare i dns da usare.
pegaso hosting lo permette.
Indicate in quel caso come dns 1 e 2 [color=red]fakedns1.no-ip.org[/color] e
[color=blue]fakedns1.no-ip.org[/color]. Corrispondono alla stessa macchina quindi sembra idiota indicarne due, ma tant’è.

In questa maniera le richieste DNS per ilvostrodominio.net verranno instradate verso i server DNS autoritativi per quel dominio, ossia [color=red]fakedns1.no-ip.org[/color] e
[color=blue]fakedns1.no-ip.org[/color]. :)

passo 3:
Installate BIND

serverillo3#emerge bind

Editiamo adesso [color=blue]/etc/bind/named.conf[/color] e [color=blue]/etc/bind/pri/ilvostrodominio.net.zone[/color]
nel primo mettiamo la configurazione del demone:

cut....
zone "ilvostrodominio.net." IN {
	type master;
	file "pri/ilvostrodominio.net.zone";
};
....cut

Ovviamente DOVETE abilitare le richieste esterne, altrimenti il vostro server DNS non risponderà :)

nel secondo mettiamo la configurazione per il vostrodominio

$TTL 1M
ilvostrodominio.net.	IN SOA	fakedns1.no-ip.org. ilvostroindirizzo.gmail.com. (
					2008081312	; serial
					5M		; refresh
					5M		; retry
					5M		; expiry
					1M )		; minimum

ilvostrodominio.net. IN NS fakedns1.no-ip.org.
ilvostrodominio.net. IN NS fakedns2.no-ip.org.

;Riga da cambiare con uno script messo in cron
ilvostrodominio.net.	IN A  111.222.222.111
;Fine riga da cambiare

www.ilvostrodominio.net. IN CNAME ilvostrodominio.net.
ftp.ilvostrodominio.net. IN CNAME ilvostrodominio.net.
mysql.ilvostrodominio.net. IN CNAME ilvostrodominio.net.

poche avvertenze:
quando cambiate qualcosa nel file di configurazione della zona [b]DOVETE[/b] cambiare il seriale (2008081312 nell’esempio) ad un numero [b]SUPERIORE[/b].
L’indirizzo 111.222.222.111 è ovviamente finto e va sostituito con il vostro [b]reale[/b] indirizzo ossia quello cui puntano [color=red]fakedns1.no-ip.org[/color] e
[color=blue]fakedns1.no-ip.org[/color].

Passo 4:

serverillo3#/etc/init.d/named reload

e tutto dovrebbe funzionare :)

In un prossimo post metto uno script per tenere aggiornato il file /etc/bind/pri/ilvostrodominio.net.zone e le indicazioni su come debuggare il tutto (principalmente tramite “dig”)

Spero sia utile a qualcuno.
Eventualmente mandatemi una mail a
motosauro chiocciola gmail punto com
con ringraziamenti e/o insulti :D