OVH Community, your new community space.

¿Acceso demasiado tarde al dominio?


josu
25/03/2008, 18:15
Creo que no me has entendido bien, el servidor siempre va a comprobar el cache para ver si esa dirección ya la ha resuelto anteriormente. Y si es el caso, y no ha expirado, te devolverá la cacheada.

La directiva forward lo que que indica es que en caso de fallo en vez de buscar en los DNS raíces e ir buscando recursivamente la IP, pregunte a un servidor que especifiques (por ejemplo el de OVH). Más aun, si no recuerdo mal poniendo la opción "forward only" a "forward first", primero preguntará al DNS que le indiques y en caso de fallo pasará a los raíces.

Si quieres que tu DNS consulte directamente a los DNS raíces, o que lo haga al DNS de OVH (que a su vez consultará a los raíces si no la tiene cacheada) ya es decisión tuya.

Sé que es un poco lío pero al final se acaba pillando...

Josu.

Raul
25/03/2008, 18:01
Con los forwarders sólo indicas que en vez de resolver mediante los ROOT, use el servidor DNS que le indicas. Si quieres usar forwarders o no ya es elección tuya.
Entonces eso quiere decir, que SI tienen relación con el cache. Si prefiero que busquen los datos en mi propio server, los resultados serán más rápidos que tener que buscarlo en los server's root? ahi la gran duda, que método es mejor.

josu
25/03/2008, 17:26
El cacheo en los DNS suele venir activo por defecto en las distribuciones. Si no tienes el cacheo habilitado, tu DNS solo resolvería los DNS que tienes configurados como Authoritative (es decir, las zonas que hayas creado para tus dominios). La directiva que define el cacheo es la zona "." junto con el listado de DNS primarios (ROOT).

Con los forwarders sólo indicas que en vez de resolver mediante los ROOT, use el servidor DNS que le indicas. Si quieres usar forwarders o no ya es elección tuya.

Josu.

Raul
25/03/2008, 17:12
Pero entonces exactamente que lineas de configuración hacen funcionar el caching name server? Es que sino.. no entiendo que diferencia hay entre el config que viene del caching con el de bind.

Por lo pronto quitare esas lineas pues, lo dejare como lo tenía antes.

Gracias otra vez..

josu
25/03/2008, 16:48
EL proceso típico de un servidor DNS es:

1.- Resolver los dominios para los que es Authoritative.
2.- Devolver un resultado cacheado.
3.- Buscar en los servidores ROOT.

Con las directivas forward que has puesto:

1.- Resolver los dominios para los que es Authoritative.
2.- Devolver un resultado cacheado.
3.- Preguntar al DNS 127.0.0.1 (preguntarse de nuevo a si mismo)
4.- Preguntar al DNS 213.186.33.99;

Josu.

PD: Y cuando pongo "típico" no me refiero que deba hacerse así. Los servidores Authoritative no deberían resolver recursivamente por seguridad.

Raul
25/03/2008, 16:37
Hola Josu,

forwarders { 127.0.0.1; 213.186.33.99; };
forward only;
Son las lineas que vienen en el archivo de configuración de "caching-nameserver".
También he seguido el siguiente articulo que habla de ellas:
http://www.linuxtotal.com.mx/index.p...info_seyre_009

Supuestamente la linea:
forwarders { 127.0.0.1; 213.186.33.99; };
Pasa primero por mi server para recoger los datos de dominios ya resueltos, sino.. pasa a la siguiente dirección IP de OVH DNS.

Vamos, asi lo entendi yo xD.

josu
25/03/2008, 16:33
Ya te he dicho que mejor hagas limpieza, pongas las directivas básicas y vayas añadiendo según sepas para que sirve cada una.

Por ejemplo, ¿me puedes explicar de donde sacaste esto y que sentido tiene?
Código:
forwarders { 127.0.0.1; 213.186.33.99; };
forward only;
Josu.

Raul
25/03/2008, 15:07
Hola,

Luego de varias pruebas he detectado las lineas de configuración que provoca dichos errores y fallos de actualización.
Si agrego algunas de las siguientes:
listen-on port 53 { 127.0.0.1; };
query-source port 53;
allow-query { localhost; };

Por lo tanto la configuración del "named.conf" sin fallos es:
-- vi options{
#listen-on port 53 { 127.0.0.1; };
directory "/etc/namedb";
pid-file "/var/run/named.pid";
memstatistics-file "/var/run/named_mem_stats.txt";
#query-source port 53;
#allow-query { localhost; };
forwarders { 127.0.0.1; 213.186.33.99; };
forward only;
};

Como puedes ver.. he neutralizado con "#" lo que daba problemas. Mientras que forwarders/forward only, todo OK.
Entonces la pregunta final es..
¿Para dar por efectivo el caching-nameserver, solo depende de los forwarders?
Siendo así, supongo que ya estaría solucionado..

Por otro lado.. ¿sabría alguien explicarme por qué daba fallos al introducir las lineas anteriores?

Saludos.

josu
24/03/2008, 22:57
Cita Publicado inicialmente por Raul
Esta claro que si lo hago la primera vez, me da tantos
segundos y a la segunda, tercera 1 o 0 segundos. Pero al pasar nose.. 1 hora
por ejemplo, otra vez necesita resolver varios segundos, me explico?
El tiempo de expiración no lo estableces tú, es definido por el administrador del dominio en su SOA. Si expira antes de tiempo puede ser por múltiples razones, la más frecuente es que se quede sin memoria y tenga que liberar entradas del cache.

Código:
max-cache-size

    The maximum amount of memory to use for the server's cache, in bytes. 
When the amount of data in the cache reaches this limit, the server will cause 
records to expire prematurely so that the limit is not exceeded. In a server 
with multiple views, the limit applies separately to the cache of each view. 
The default is unlimited, meaning that records are purged from the cache only 
when their TTLs expire.
Para "jugar" con los tiempos de expiración puedes alterar la tarea que los comprueba (cosa que no recomiendo y me parece una aberración cada vez que se lo veo hacer a empresas como telefónica).

Código:
cleaning-interval

    The server will remove expired resource records from the cache every 
cleaning-interval minutes. The default is 60 minutes. The maximum value is 28 
days (40320 minutes). If set to 0, no periodic cleaning will occur.
Supongo que habrá más formas de hacerlo pero nunca me lo he planteado.

¿El problema te ocurre en local, en remoto, o en ambos?

¿Te expiran los dominios antes de tiempo o son correctos respecto al SOA?

Te recomiendo el dig para las pruebas, te devuelve el resultado en milisegundos. Comprobando en local un fallo debería rondar los 700-800 ms un acierto 50-150 ms.

Josu.

Raul
24/03/2008, 22:16
Si tienes las herramienta "dig" instalada (supongo que sí), reinicia el servidor "bind" y lanza 3 o 4 veces seguidas: "dig eligeundominio.com @IPServidorDNS"

Mira a ver que tiempos te devuelve las diferentes "querys" (viene al final del todo)
Esta claro que si lo hago la primera vez, me da tantos segundos y a la segunda, tercera 1 o 0 segundos. Pero al pasar nose.. 1 hora por ejemplo, otra vez necesita resolver varios segundos, me explico?

La idea es que pasen horas, dias, cuando se quiera acceder.. tarde 1 segundo o 2 y no otra vez como 5 segundos o 8 como si fuese la primera vez.

En otros sitios web's no entro hace mucho tiempo, y cuando quiero acceder a ellos me tarda apenas 1 o 2 segundos en resolver dominio y eso quiero ofrecerlo yo tambien pues.

Si no te funciona con reiniciar bind entonces seria reiniciar el servidor por completo.
Lo hice varias veces.

ferranvillalba
24/03/2008, 21:58
Si no te funciona con reiniciar bind entonces seria reiniciar el servidor por completo.

josu
24/03/2008, 20:48
Si tienes las herramienta "dig" instalada (supongo que sí), reinicia el servidor "bind" y lanza 3 o 4 veces seguidas: "dig eligeundominio.com @IPServidorDNS"

Mira a ver que tiempos te devuelve las diferentes "querys" (viene al final del todo).

También prueba a desactivar las opciones:

Código:
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";
Josu.

Raul
24/03/2008, 20:15
Josu, pero si lo dejo como estaba antes.. pues ¿Por qué tarda tanto en resolver los dominios? el named.ca lo tengo actualizado y situado donde dede estar..
Con la primera configuración me iba perfecto, pero sin resolver rápido los dominios, de ahi me centre en el tema "caching name server" y pues todo este lio jeje.

Ferran, estoy analizando con esa herramienta que parece bastante potente, pero no encuentro errores en los principales dominios y que tengan relación con mi problem.
Solo hay un error grave en un dominio en especial que dice:
"nameserver loop detected" ¿sabrías decirme que significa?

Gracias gente

josu
24/03/2008, 20:09
Déjalo como estaba al principio y solo asegúrate de tener la zona "." configurada:

Código:
zone "." IN {
type hint;
file "named.ca";
};
Luego en el directorio "/etc/namedb" debes tener el archivo "named.ca", que debe tener algo así:

Código:
; <<>> DiG 9.2.4 <<>> @A.ROOT-SERVERS.NET
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64667
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      J.ROOT-SERVERS.NET.
.                       518400  IN      NS      K.ROOT-SERVERS.NET.
.                       518400  IN      NS      L.ROOT-SERVERS.NET.
.                       518400  IN      NS      M.ROOT-SERVERS.NET.
.                       518400  IN      NS      A.ROOT-SERVERS.NET.
.                       518400  IN      NS      B.ROOT-SERVERS.NET.
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4
A.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:ba3e::2:30
B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201
C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12
D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90
E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10
F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241
F.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:2f::f
G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4
H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53
H.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:1::803f:235
I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17
J.ROOT-SERVERS.NET.     3600000 IN      A       192.58.128.30
J.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:c27::2:30

;; Query time: 102 msec
;; SERVER: 198.41.0.4#53(A.ROOT-SERVERS.NET)
;; WHEN: Mon Mar 24 21:12:40 2008
;; MSG SIZE  rcvd: 500
Con eso debería bastar para activar el cache DNS. Luego ya irás añadiendo el resto de directivas si te parece pertinente y si sabes para que sirven.

Josu.

ferranvillalba
24/03/2008, 19:58
Pásate por aquí y comprueba tu bind online haber que fallos te dice.

http://www.squish.net/dnscheck

Raul
24/03/2008, 19:44
Utilizo ipV4, la siguiente configuración es la de mi "named.conf" viejo, que funciona correctamente. Puedes compararlo con el otro que hice del caching name server..

-- vi named.conf (viejo) --
options {
directory "/etc/namedb";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";

# hide our "real" version number
version "[secured]";
};
Luego las zonas escritas.. como en post anteriores.
--
Además en el Apache tampoco active el Ipv6, ya que de momento no lo uso.

ferranvillalba
24/03/2008, 19:42
Si usas ipv6 has de ponerlo así query-source-v6 address * port 53; con el v6.

ferranvillalba
24/03/2008, 19:40
Utilizas ipV4 o ipV6?

Raul
24/03/2008, 19:39
Que va, tan solo di "stop" y luego "start".
El arranque esta en buen estado xD pero desde que empeze a configurarlo añadiendo lineas para hacer funcionar "caching name server" osea.. el rollo:
listen-on port 53 { 127.0.0.1; };
query-source port 53;
allow-query { localhost; };
forwarders { 127.0.0.1; 213.186.33.99; };
forward only;
No funciona del todo bien, eso parece..

A continuación te muestro el named.conf que tenía antes funcionando, asi comparas..

-- vi named.conf (viejo) --
options {
directory "/etc/namedb";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";

# hide our "real" version number
version "[secured]";
};
Luego las zonas escritas.. como en post anteriores.
--

Saludos.

ferranvillalba
24/03/2008, 19:36
Estoy mirando haver que puede ser.

ferranvillalba
24/03/2008, 19:26
Una tontería, reiniciaste bind con el comando restart? ahora mismo no caigo.

Raul
24/03/2008, 19:14
Sabes desde que hecho modificaciones en el conf añadiendo lo necesario para el caching, es como si no leyera correctamente las zonas. No produce ningun error durante el arranque y en los log's, veo por ejemplo esto:
--
couldn't add command channel 127.0.0.1#953: file not found
Luego continua cargando los serial actuales de las zonas
zone dominio.com/IN: loaded serial 2008030801
Mar 24 20:06:28 host named[3869]: zone dominio1.com/IN: loaded serial 2008030802
Mar 24 20:06:28 host named[3869]: zone otrodominio.com/IN: loaded serial 2008030802
Mar 24 20:06:28 host named[3869]: running
Mar 24 20:06:28 host named[3869]: zone dominio1.com/IN: sending notifies (serial 2008030801)
Mar 24 20:06:28 host named[3869]: zone otrodominio.com/IN: sending notifies (serial 2008030802)
--

Parece normal pero cuando hago un lookup de las DNS, no veo los cambios que he efectuado en las zonas. Por ejemplo he puesto 4 direcciones NX, pero en el informe solo se ve una.

Por si deseas ver mi "named.conf"
-- vi named.conf --
options{
listen-on port 53 { 127.0.0.1; };
directory "/etc/namedb"; (dir donde están todas las zonas)
pid-file "/var/run/named.pid";
dump-file "/var/run/cache_dump.db";
statistics-file "/var/run/named_stats.txt";
memstatistics-file "/var/run/named_mem_stats.txt";
query-source port 53;
allow-query { localhost; };
forwarders { 127.0.0.1; 213.186.33.99; };
forward only;
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "db.localhost";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "db.127.0.0";
allow-update { none; };
};
zone "dominio.com" {
type master;
file "dominio.com.host";
};
Saludos y gracias.

Raul
24/03/2008, 18:21
Gracias Ferran, le echare un vistaso, esa página la conocia y es muuy buena!!.

Saludos.

ferranvillalba
24/03/2008, 17:55
Hola Raul, para que te des una idea mírate esta página: http://www.linuxtotal.com.mx/index.p...info_seyre_009

Saludos.

Raul
24/03/2008, 17:41
Hola Ferran,

Yo tengo instalado BIND de forma manual bajo entorno "chroot". Tengo entendido que el caching-nameserver viene con 2 archivos de configuración:
name.caching-nameserver.conf y named.rfc1912.zones

El primero vendría a ser el "named.conf" y el segundo las zonas en general.
Tengo dudas solo en el primer archivo:
-- vi name.conf (renombrado de name.caching-nameserver) --
options {
listen-on port 53 { 127.0.0.1; };
directory "/etc/namedb"; (donde estan todas las zonas)
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";
query-source port 53;
version "[secured]";
allow-query { localhost; };
};

view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};

Pero como se exactamente si los dominios han sido cacheados??
Por otro lado cuando modifico manualmente la config de alguna zona, debo esperar maximo 48 hrs? o se actualiza enseguida?

Si puedes confirmarte si el "caching-nameserver" viene con 2 archivos de cofniguración o algo más?. ya que en la web oficial de BIND no encuentro ningun paquete sobre ello para descargar.

Saludos.

ferranvillalba
24/03/2008, 16:47
Cita Publicado inicialmente por Raul
Hola otra vez xD.
¿Es posible que se deba a la falta de "caching name server" de BIND? no lo tengo instalado pero su función segun entendiendo el nombre.. es recordar el nombre resuelto desde la primera vez?

Saludos.
Si, se recomienda instalar la función caching de bind para estos casos.

Exactamente la función caching de bind lo que hace es encargarse de responder las consultas que recibe de sus clientes (peticiones) a base de consultar al servidor adecuado o bien en su propia caché si la consulta ya ha sido realizada con anteriodidad y aún no ha expirado.

Pásate por webhostingtalk.com y mírate los foros seguro que sale como se instala.

Saludos.

Raul
24/03/2008, 09:22
Hola otra vez xD.
¿Es posible que se deba a la falta de "caching name server" de BIND? no lo tengo instalado pero su función segun entendiendo el nombre.. es recordar el nombre resuelto desde la primera vez?

Saludos.

Raul
24/03/2008, 08:57
Es curioso.. pero con las paginas alojadas en OVH, la primera vez en conectar.. me tarda mucho en resolver la ip del dominio.
Me explico:
Cuando intento acceder a algun que otro dominio cualquiera (alojamiento fuera de ovh), es detectada en unos 2 segundos o menos y empieza la carga de la página. Pero cuando intento acceder a un dominio (alojamiento ovh) A VECES tarda como 5 segundos en detectarlo.

Me refiero a que la primera vez en acceder a una web alojada en OVH, se queda diciendo.. "Resolviendo la dirección dominio.com" asi como varios segundos (5 ejemplo) y una vez conecto.. ya se puede acceder a de forma rápida a cualquier web de ovh.

¿Por qué será? ¿Me pasa a mi solo? ¿Es cosa de BIND?

A ver si alguien me arroja luz xD.