Instalación de Power DNS
por Maxpowel en sep.01, 2009
Saludos, hace un tiempo que dije que haría este manual y mejor tarde que nunca, no?
Primero quiero venderos la moto diciendo el por qué usar pdns. Como muchos otros, yo también he luchado con BIND (el servidor dns por excelencia)
y al principio era un poco reacio a cambiar simplmente por “con lo que me ha costado controlar BIND ahora me cambio?”. Sí, todos los cambios son dolorosos (y más cuando te ha costado tanto aprender a usar algo) pero creedme si os digo que merece la pena al 100%.
El principal problema de uso que le veo a BIND es la extrema dificultad de configuración. Para un experto, con el paso de tiempo se familiariza con todos esos archivos de configuración que ademas de ser muchos son complejos. Cuántas horas gastadas porque faltaba un punto y coma y cosas así…. eso descontando las horas gastadas para aprender el formato de sus archivos de configuración.
Con pdns para añadir un dominio no tendras mas que logearte, pinchar en añadir dominio y ya está!!! Funcionando!! Cuando lo probé por primera vez no me lo creía, tenía que ser un sueño o algo así (acostumbrado a tardar unos minutos en añadir un dominio y recargando el servicio y… que pereza).
Necesitaremos mysql, apache y php para tenerlo todo a funcionando. Yo voy a suponer que ese software ya esta instalado, solo queda el servidor dns.
aptitude install pdns-server pdns-backend-mysql pdns-recursor
Creamos la base de datos, en este caso usare el usuario root
mysql -u root -p create database pdns;
pdns sera el nombre de la base de datos, puedes poner cualquiera.
Ahora importamos el esquema de la base de base de datos.
mysql -u root -p pdns < /usr/share/doc/pdns-backend-mysql/mysql.sql
Ahora hay que configurar un poquillo a pdns, pero solo un poco.
Editamos el archivo /etc/powerdns/pdns.conf y buscamos una linea donde pone lauch= que esta comentada, entonces debajo insertamos
launch=gmysql gmysql-host=localhost gmysql-port=3306 gmysql-dbname=pdns gmysql-user=root gmysql-password=rootpass
Cambiado los datos por los tuyos (dbname,user y password practicamente).
Ahora buscamos una linea donde ponga “local-address” y ahí ponemos nuestra ip pública. Muy importante es editar en el mismo archivo “out-of-zone-additional-processing”, que aparece como comentado, ponerlo en “yes” y buscar la linea “recursor” y ponerle “127.0.0.1″. Esto es porque tenemos los dos servicios en la misma máquina, hay quienes dicen que es mejor ponerlos en máquinas diferentes pero yo de momento no voy muy sobrado de servidores jeje. En caso de que tengas hayas instalado pdns-recursor en otra máquina pues pones esa ip.
Entonces, después de lo de mysql la cosa queda así
local-address=ip_publica out-of-zone-additional-processing=yes recursor=127.0.0.1
Bien, powerdns ya está configurado así que lo reiniciamos.
/etc/init.d/pdns restart /etc/init.d/pdns-recursor restart
Para comprobar que esta funcionando probamos a hacer un telnet:
telnet ipdelamaquina 53
y si conecta ya está funcionando!! Si por el contrario nos dice connection refused algo hemos hecho mal…
Ahora bajamos la aplicación web, pdnsadmin desde aquí
http://pdnsadmin.iguanadons.net/index.php?a=files&s=download&cid=3&fid=7
Lo descomprimimos en un directorio accesible por apache (normalmente /var/www) y listo. Lo ideal es crear un servidor virtual solo para eso pero eso ya según vea cada uno.
Ahora entramos desde el navegador y tiene que aparecer algo así:
Esto es el instalador. Damos a continuar.
Nos dirá que demos permisos de escritura a packages y skins. Se los damos y tambien a settings.php
En el siguiente formulario, en master ip ponemos la ip pública. Los nameserver no hace falta ponerlos.
Después de esto ya está! La interfaz es muy intuitiva “Add domain”, “Add subdomain”….
Ahora puedes servir tanto dominios locales como de internet, si pones como servidor DNS a tu máquina será tu servidor quien controle ese dominio. Venga, a disfrutar!




