DAW V. Guía rápida (resumen más que nada) sobre configuración de bind para DNS

Yo no quería toquetear mucho estas cosas, pero me enviaron una práctica en Despliegue de aplicaciones webs y al final he tenido que complicarme la vida para hacerlo funcionar. Y como se que me volverá a hacer falta, lo dejo por aquí apuntadito a modo de guía rápida que me ha costado encontrar una guía decente y no quiero olvidarme.

Os cuento brevemente: Tengo que realizar un generador de sitios, de forma que permita a un supuesto empresario dar de alta usuarios, subdominios (añadiendo el subdominio a la zona adecuada de bind), hosts virtuales de apache y cuentas ftp sin tocar absolutamente nada. Algo parecido a esto.

# ./alta.sh
Teclea el nombre de usuario: Pepito
Contraseña para Pepito: Pepito123123
Subdominio para la web de Pepito (teclear solo el subdominio): pepitolandia
Modificando zona DNS...
Creado pepitolandia.planazo.com

Creo que se entiende bastante bien. A $Superplan le habría venido que yo supiese hacer estas cosillas el año pasado que ni pintado.

En principio pensé en usar una máquina virtual, pero como me sobra espacio en el servidor dedicado y no me apetece hacer la práctica, comprobar que funcione en casa y luego en medio de la esposición cambiar las ips para que funcione dentro de la red local de clase decidí pillar un dominio .ml gratuíto e instalar el bind9 en el servidor, así aprovecho y cambio los dominios que apuntan actualmente al cacharro a las DNS del propio servidor, que queda feo ofrecerle a un familiar espacio para una página web, que se pague un .es y que tenga que tirar de los DNS de OVH por no tener un buen servidor DNS configurado, entre otras cosas. Así que al lío...

Primero instalamos el servidor DNS
Nota: Todos estos pasos hay que hacerlos como usuario root.
apt-get update && apt-get install bind9

Ahora editamos los siguientes archivos:
Nota2: Las ips y los dominios son inventados, hay que cambiarla por lo que se necesita.

En /etc/bind/named.conf.local añadimos:

zone "planazo.com" {
type master;
file "/etc/bind/db.planazo.com";
};

zone "999.117.187.37.in-addr.arpa" {
type master;
file "/etc/bind/db.999.117.187.37";
};

Creamos el archivo de zona planazo.com:

nano /etc/bind/db.planazo.com

$TTL 604800
@ IN SOA planazo.com. superplan.planazo.com. (
11 ; Serial
604815 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

; Name servers
@ IN NS ns1.planazo.com.

; A records
ns1 IN A 37.187.117.999
@ IN A 37.187.117.999
www IN A 37.187.117.999
ftp IN A 37.187.117.999
correo IN A 37.187.117.999

Ahora creamos el archivo de zona inversa.
Nota3: La ip en este archivo va al contrario.

nano /etc/bind/db.999.117.187.37

$TTL 604800
@ IN SOA planazo.com. superplan.planazo.com. (
11 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

; Name servers
@ IN NS ns1.planazo.com.

; PTR records
999 IN PTR ns1.planazo.com.
999 IN PTR planazo.com.
999 IN PTR ftp.planazo.com.
999 IN PTR correo.planazo.com.

Nota4: 999 Es el último número de la ip del servidor.

Y con esto tenemos las zonas dns tanto directas como inversas listas para ser usadas. Si todo ha ido bien, al ejecutar el comando named-checkconf -z no debería dar ningún error.
Para finalizar, solo nos queda ejecutar el comando service bind9 restart y podremos acceder desde fuera si todo ha ido bien.

Lo sé. Faltan cosas, como el servidor dns secundario. Pero teniendo en cuenta que tanto apache como ftp como servidor dns están en un mismo servidor, es absurdo crear un servidor secundario, más que nada por que necesitaría otra máquina para ello.