DNS con forwarding condicional

La del viernes…resulta que tienen que dar un curso de una aplicación, llamemosla X que corre sobre una ip (privada) que es accesible mediante routing.

Vamos bien, abres un navegador, pones la ip en cuestión 10.x.x.x y funciona…
Resulta que para el curso necesitan acceder mediante un plugin en cierta hoja de calculo para usar unas formulitas predefinidas…
Resulta que el resultado de esas formulitas se ven con un navegador… y la url que genera la aplicacion es:
– Una del tipo pepito.pepito.es
– Que ademas no se resuelve por nadie
Houston, tenemos un problema, el dominio pepito.es no es nuestro así que no podemos publicarlo.
No pasa nada, les pido una copia de pepito.es, lo pongo en mi dns como si fuera mio (vale, es una chapuza, pero la chica del curso esta aburrida por aqui), añado la entrada esa en cuestión y salvamos la papeleta.
Llamo a los interesados, y me dicen que no me facilitan la copia de su zona… joder, ni que fuera su número de tarjeta de crédito…
Aunque podría utilizar el método B para conseguir la información, vamos a ser legales, buscaremos otra opción.
Investigando un poco resulta que hay una «cosa» que se llama DNS conditional forwarding y que sirve para…
Tu te defines la zona pepito.es (que no es tuya) en tu DNS.
Te defines el host aa.pepito.es en tu DNS.
Configuras como forwarder la ip del servidor DNS que resuelve el nombre de pepito.es.
Asi que, si preguntas por aa.pepito.es te contesta tu servidor con la ip, y si preguntas por cualquierotracosa.pepito.es hace el forwarding hacia el servidor de verdad.
En este documento esta mejor explicado.
Bueno, esto funcionaría, pero en nuestro caso tenemos un problemilla, para que funciona tienes que tener un DNS en un 2003 (que lo tenemos) y ese 2003 tiene que tener acceso a internet (que no lo tiene, y es jodido de darselo por otras cosas que lleva esa máquina) asi que, el forwarder no va a llegar a su destino y se nos jode la solución.
Solución B: Usar Stub zones… lo configuro en mi DNS primario, me bajo la zona, y le inserto la ip privada….
zone «pepito.es» IN {
type stub;
file «/var/named/pepito.es.stub»;
masters { x.x.x.x; };

};
Pero, otro problema, para que funcione necesito que me autoricen a hacer transferencias de zona….
Mientras lo hacen, y para que puedan seguir con las pruebas, chapuza al canto…
Definicion de una zona master aa.pepito.es
zone «aa.pepito.es» IN {
type master;
file «/var/named/aa.pepito.es»;
allow-update { xx.xx.xx.xx; };
allow-query { any;};

};

Y que la zona solo conteste con un registro A a la ip en cuestiol….
$TTL 86400
@ IN SOA @ root (
56 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS dns.xxx.es.
IN NS dns2.xxxl.es.

IN A xx.xx.xx.xx

Toma ya….
Casi parezco un consultor…
Mirar esta web con ejemplos para todos los gustos…