DNS con vistas


Ahora que mucha gente (y empresas) tienes líneas ADSL, con sus IP
privadas
y el router haciendo de NAT y redireccionando puertos hacia
servidores Apache y de correo electrónico, suelen tener problemas porque la
IP pública está asignada a la interfaz externa del router y cuando
intentamos acceder desde la red interna, en realidad accedemos al servidor
web del route
r. También hay problemas cuando el Apache redirecciona URLs
usando su nombre “público”. Estos problemas se solucionan definiendo
vistas
(views) del Bind 9, que nos permiten dar diferentes
respuestas dependiendo de la dirección de origen de la consulta.

Vamos a un caso concreto, en mi casa la red
interna tiene las direcciones 192.168.0.0/24, mi dirección IP pública es 111.111.111.111 (falsa, sólo como ejemplo, ¿o
queréis saturarme la línea? :-). Tengo un dominio comprado llamado
dominio.com (también falso).
Además tengo un servidor web Apache, DNS y MX funcionando en la
192.168.0.10.
Lo que quiero, por ejemplo, es que cuando acceda a http://midominio.com
desde mi red privada me responda con la IP 192.168.0.10 (el nombre es antoli.midominio.com), pero
si acceden desde Internet, responda con la dirección 111.111.111.111. Para ello definiré dos vistas:

  • internal: que será donde definiré las zonas y valores
    para los ordenadores de la red privada,
  • external: que definirá las zonas cuando la consulta venga desde Internet.

Básicamente definimos las zonas en el named.conf (alerta:
cuando se define una vista, todas las zonas deben ir dentro de
vistas
) y la definición de lnuestras mismas zonas de distintas
vistas deben ir en ficheros separados, en el ejemplo se llaman
db.midominio.com y db.midominio.com.internal.
NOTA: una vez funcionando esto, ya podéis usar la directiva ServerName
midominio.com en la configuración del Apache. Se os solucionarán varios
problemas de redirección, sobre todo de directorios.

 
 
named.conf

options {
directory “/var/cache/bind”;
auth-nxdomain no; # conform to RFC1035
};

view “internal” {
match-clients { 192.168.0.0/24; 127.0.0.0/24; };

zone “midominio.com” {
type master;
file “/etc/bind/db.midominio.com.internal”;
};
// Completad con las otras zonas que tengáis….

};

view “external” {
match-clients { any; };
recursion no;
// La línea de ariba es importante, así evitamos que abusen de nuestro
// DNS para hacer consultas externas.

zone “midominio.com” {
type master;
file “/etc/bind/db.midominio.com”;
allow-transfer {
111.111.111.2;
// El secundario de mi zona
};
};
// Completad con las otras zonas que tengáis….

};

 
 
/etc/bind/db.midominio.com.internal

@ IN SOA midominio.com. gallir.uib.es. (
2002051902 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS antoli.midominio.com.
midominio.com. IN MX 10 antoli
midominio.com. IN MX 20 mi_MX_secundario.com.

antoli IN A 192.168.0.10
www IN A 192.168.0.10 ;puede ser un CNAME también
ponti IN A 192.168.0.3 ;este es mi Linux AP 🙂
irene IN A 192.168.0.7
raquel IN A 192.168.0.8
sofi IN A 192.168.0.9

 
 
/etc/bind/db.midominio.com

@ IN SOA midominio.com. gallir.uib.es. (
2002051902 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS antoli.midominio.com.
@ IN NS mi_DNS_secundario.com.
midominio.com. IN MX 10 antoli
midominio.com. IN MX 20 mi_MX_secundario.com.
IN A 111.111.111.111 ; midominio.com
www IN A 111.111.111.111
antoli IN A 111.111.111.111

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1320 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.