|
13 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
# 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.