Instalar tinydns, dnscache y axfrdns de DJBDNS en debian 6.0 de 32 bits

jaimeco
  12 years ago
  2

* Esto aplica igualmente para linuxmit.

* En realidad este servidor está corriendo virtualizado en Proxmox VE, preo para los propositos de la instalación y operación es igual.


# cat /etc/apt/sources.list

# Aqui encontre el repositorio de DJBDNS
deb http://ftp.us.debian.org/debian/ lenny main contrib non-free

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

# apt-get update
# aptitude install djbdns




** Concluye la instalación aquí **
Luego hay que crear los usuarios y los directorios con los comandos de la siguiente manera:


# useradd -d /var/log/dns -s /bin/false -g nogroup dnslog
# useradd -d /var/lib/tinydns -s /bin/false -g nogroup tinydns
# tinydns-conf tinydns dnslog /var/lib/tinydns 10.0.0.205
# ln -s /var/lib/tinydns /etc/service/
# ln -s /var/lib/tinydns/log/main /var/log/tinydns
# cd /etc/service/tinydns/env
# echo 10.0.0.205 > IP
# echo 10.0.0.205 > IPSEND
# echo 1 > FORWARDONLY



Para verificar si está corriendo el programa


# svstat /etc/service/*
/etc/service/tinydns: up (pid 1741) 1294 seconds



En mi caso yo emulo que tengo dos servidores de DNS entonces repito los mismos pasos anteriores solamente que en este caso es para tinydns2 y en el archivo /etc/service/tinydns2/env/ROOT modifico para que quede de la siguiente manera:

# cat ROOT 
/var/lib/tinydns/root


De esa manera se emula el mismo proceso y sólo se modifica el mismo archivo /etc/service/tinydns/root/data para todos los dominios internos y externos.

Configuración para AXFR

# useradd -d /var/lib/axfrdns -s /bin/false -g nogroup axfrdns
# axfrdns-conf axfrdns dnslog /var/lib/axfrdns /var/lib/tinydns 10.0.0.103
# ln -s /var/lib/axfrdns /etc/service/
# ln -s /var/lib/axfrdns/log/main /var/log/axfrdns

# svstat /etc/service/*
/etc/service/axfrdns: up (pid 1929) 64 seconds
/etc/service/tinydns: up (pid 1875) 814 seconds
/etc/service/tinydns2: up (pid 1876) 814 seconds

* Otro comando que ayuda es este:
# netstat -anp|grep -i tinydns
udp 0 0 10.0.0.104:53 0.0.0.0:* 1876/tinydns 
udp 0 0 10.0.0.103:53 0.0.0.0:* 1875/tinydns 


Entonces ya tenemos resolución de DNS sobre tcp, que hasta donde se no es muy usada, pero es mejor tenerla.

Configuración para DNSCACHE

# useradd -d /var/lib/dnscache -s /bin/false -g nogroup dnscache
# dnscache-conf dnscache dnslog /var/lib/dnscache 10.0.0.205
# ln -s /var/lib/dnscache /etc/service/
# ln -s /var/lib/dnscache/log/main /var/log/dnscache



Yo dejé mis archivos en /etc/service/dnscache/env

# ls
CACHESIZE DATALIMIT FORWARDONLY IP IPSEND ROOT
root@socrates2:/etc/service/dnscache/env# cat *
10000000
30000000
1
10.0.0.205
10.0.0.205



Si se requiere conectar vía OpenDNS hay que dejar el directorio /etc/service/dnscache/root/servers con por lo menos dos archivos, el @ y el @.root


# cat @
208.67.222.222
208.67.220.220


Esto hace que los servidores principales de resolución de todo el cache sean los de la nube de OpenDNS, con ello es posible crear una cuenta gratuira en opendns.com y configurar políticas de resolución de nombres por medio de categorías, realmente muy efectivo.

# cat @.root
198.41.0.4
192.228.79.201
192.33.4.12
128.8.10.90
192.203.230.10
192.5.5.241
192.112.36.4
128.63.2.53
192.36.148.17
192.58.128.30
193.0.14.129
198.32.64.12
202.12.27.33


Es importante agregar las redes que se están permitidas para resolver, esto se hace en:
/etc/service/dnscache/root/ip

touch 192.168 10.0.0 10.0.1 10.0.2 10.0.3 10.0.4 10.0.5 10.10.9

De esa manera están permitidas las redes 192.168.0.0/16, 10.0.0.0/24, 10.0.1.0/24, etc.

Y eso es todo, mucha suerte.

Comments
jaimeco 12 years ago

I learn english, I suppouse that anyone can learn spanish.


efthialex 12 years ago

Good one but i needed Google Translator to read this.