Agenda: dns-dig-ejercicio-2.txt

File dns-dig-ejercicio-2.txt, 14.2 KB (added by admin, 7 years ago)
Line 
1Ejercicio DNS: dig, parte 2
2====================================================
3
4No necesita ser root para hacer este ejercicio. NOTA: es buena idea
5poner un punto al final de cada dominio - esto evita que el dominio
6por defecto en `/etc/resolv.conf` sea agregado autom‡ticamente.
7
8Por ejemplo: probando __www.tiscali.co.uk.__
9
10Para este ejercicio, necesitamos cambiar temporalmente su servidor
11por defecto, configurado en /etc/resolv.conf, a 10.10.0.254, as’:
12
13    # ee /etc/resolv.conf
14
15    y configure el servidor como sigue:
16
17    nameserver 10.10.0.254
18
19    Guarde el fichero y salga del editor.
20
21        Nota: Esto es neceario, de lo contrario no podremos hacer
22        peticiones hacia la Internet.
23
241. Haga una petici—n comenzando por un servidor ra’z
25---------------------------------------------
26
27Los servidores ra’z se llaman `[a-m].root-servers.net.`
28Elija cualquiera para empezar.
29
30    $ dig +norec @f.root-servers.net. www.tiscali.co.uk. a
31
32; <<>> DiG 9.7.2-P3 <<>> +norec @a.root-servers.net. www.tiscali.co.uk. a
33; (2 servers found)
34;; global options: +cmd
35;; Got answer:
36;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8712
37;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 11, ADDITIONAL: 14
38
39;; QUESTION SECTION:
40;www.tiscali.co.uk.     IN  A
41
42;; AUTHORITY SECTION:
43uk.         172800  IN  NS  ns1.nic.uk.
44uk.         172800  IN  NS  ns2.nic.uk.
45uk.         172800  IN  NS  ns3.nic.uk.
46uk.         172800  IN  NS  ns4.nic.uk.
47uk.         172800  IN  NS  ns5.nic.uk.
48uk.         172800  IN  NS  ns6.nic.uk.
49uk.         172800  IN  NS  ns7.nic.uk.
50uk.         172800  IN  NS  nsa.nic.uk.
51uk.         172800  IN  NS  nsb.nic.uk.
52uk.         172800  IN  NS  nsc.nic.uk.
53uk.         172800  IN  NS  nsd.nic.uk.
54
55;; ADDITIONAL SECTION:
56ns1.nic.uk.     172800  IN  AAAA    2a01:40:1001:35::2
57ns1.nic.uk.     172800  IN  A   195.66.240.130
58ns2.nic.uk.     172800  IN  A   217.79.164.131
59ns3.nic.uk.     172800  IN  A   213.219.13.131
60ns4.nic.uk.     172800  IN  AAAA    2001:630:181:35::83
61ns4.nic.uk.     172800  IN  A   194.83.244.131
62ns5.nic.uk.     172800  IN  A   213.246.167.131
63ns6.nic.uk.     172800  IN  A   213.248.254.130
64ns7.nic.uk.     172800  IN  A   212.121.40.130
65nsa.nic.uk.     172800  IN  AAAA    2001:502:ad09::3
66nsa.nic.uk.     172800  IN  A   156.154.100.3
67nsb.nic.uk.     172800  IN  A   156.154.101.3
68nsc.nic.uk.     172800  IN  A   156.154.102.3
69nsd.nic.uk.     172800  IN  A   156.154.103.3
70
71;; Query time: 8 msec
72;; SERVER: 198.41.0.4#53(198.41.0.4)
73;; WHEN: Tue Feb 15 15:53:13 2011
74;; MSG SIZE  rcvd: 497
75
76
77Nota: S—lo obtuvimos rŽcords NS (m‡s informaci—n relacionada - los records
78A que corresponden a estos servidores de nombres). Esto se conoce como una
79referencia (REFERRAL).
80
81En teor’a deber’amos repetir esto con `b.root-servers.net`,
82`c.root-servers.net` ... y revisar todas las respuestas. Ocasionalmente
83usted _podr’a_ notar inconsistencias entre los servidores ra’z, pero ser’a
84muy raro.
85
862. F’jese en los 11 servidores que obtuvimos en la respuesta
87--------------------------------------------------------------
88
89(Recuerde que DNS no distingue entre mayœsculas y minœsculas. Adem‡s, los
90recibimos en orden aleatorio; esto no importa porque vamos a probarlos todos
91de cualquier manera)
92
93  ns1.nic.uk.
94  ns2.nic.uk.
95  ns3.nic.uk.
96  ns4.nic.uk.
97  ns5.nic.uk.
98  ns6.nic.uk.
99  ns7.nic.uk.
100  nsa.nic.uk.
101  nsb.nic.uk.
102  nsc.nic.uk.
103  nsd.nic.uk.
104
1053. Repita la petici—n para cada servidor NS
106----------------------------------------------
107
108    $ dig +norec @ns1.nic.uk. www.tiscali.co.uk. a
109
110    ; <<>> DiG 9.7.2-P3 <<>> +norec @ns1.nic.uk. www.tiscali.co.uk. a
111    ; (1 server found)
112    ;; global options:  printcmd
113    ;; Got answer:
114    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28452
115    ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
116
117    ;; QUESTION SECTION:
118    ;www.tiscali.co.uk.             IN      A
119
120    ;; AUTHORITY SECTION:
121    tiscali.co.uk.          172800  IN      NS      ns0.as9105.com.
122    tiscali.co.uk.          172800  IN      NS      ns0.tiscali.co.uk.
123
124    ;; ADDITIONAL SECTION:
125    ns0.tiscali.co.uk.      172800  IN      A       212.74.114.132
126
127    ;; Query time: 20 msec
128    ;; SERVER: 195.66.240.130#53(195.66.240.130)
129    ;; WHEN: Mon May 16 12:37:23 2005
130    ;; MSG SIZE  rcvd: 97
131
132
133    $ dig +norec @ns2.nic.uk. www.tiscali.co.uk. a
134    ...
135
136    $ dig +norec @ns3.nic.uk. www.tiscali.co.uk. a
137    ...
138    ... etc
139
140*Revise que los resultados son consistentes!*
141
142Nota: Si un servidor es autorizado para el dominio como para el sub-dominio,
143retornar‡ inmediatamente el resultado para el sub-dominio. Esto es normal.
144En este ejemplo, los mismos servidores son autorizados para ambos `.uk` y `.co.uk`,
145por lo tanto pueden referirnos inmediatamente a `tiscali.co.uk`, mov’endonos
146dos niveles hacia abajo en la jerarqu’a de un golpe.
147
148Puede ver aqu’ que estamos recibiendo otra delegaci—n, esta vez a otros
149dos servidores:
150
151>     ns0.as9105.com
152>     ns0.tiscali.co.uk
153
1544. Repita la misma petici—n con todos los servidores NS del paso 3
155------------------------------------------------------------------
156
157    $ dig +norec @ns0.tiscali.co.uk. www.tiscali.co.uk. a
158
159    ; <<>> DiG 9.7.2-P3 <<>> +norec @ns0.tiscali.co.uk. www.tiscali.co.uk. a
160    ; (1 server found)
161    ;; global options: +cmd
162    ;; Got answer:
163    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52841
164    ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
165   
166    ;; QUESTION SECTION:
167    ;www.tiscali.co.uk.     IN  A
168   
169    ;; ANSWER SECTION:
170    www.tiscali.co.uk.  300 IN  A   212.74.99.30
171   
172    ;; AUTHORITY SECTION:
173    tiscali.co.uk.      3600    IN  NS  ns0.tiscali.co.uk.
174    tiscali.co.uk.      3600    IN  NS  ns0.as9105.com.
175   
176    ;; ADDITIONAL SECTION:
177    ns0.as9105.com.     604800  IN  A   212.139.129.130
178    ns0.tiscali.co.uk.  604800  IN  A   212.74.114.132
179   
180    ;; Query time: 322 msec
181    ;; SERVER: 212.74.114.132#53(212.74.114.132)
182    ;; WHEN: Tue Feb 15 16:01:04 2011
183    ;; MSG SIZE  rcvd: 129
184
185
186    $ dig +norec @ns0.as9105.com. www.tiscali.co.uk. a
187    ...
188    ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
189    ...
190    ;; ANSWER SECTION:
191    www.tiscali.co.uk.  300 IN  A   212.74.99.30
192
193
194Esta vez, en lugar de recibir otra delegaci—n, hemos encontrado la respuesta
195que busc‡bamos. F’jese que amobos servidores est‡n dando respuestas autorizadas
196(`flags: aa`), y que los resultados son iguales. TambiŽn observe que la secci—n
197'AUTHORITY SECTION' en la respuesta tienen la *misma* lista de servidores que
198usamos para hacer la petici—n. (Este segundo conjunto de servidores NS est‡n
199contenidos en los servidores autorizados, al contrario de la delegaci—n desde
200m‡s arriba)
201
202    Pista: pruebe esto:
203       
204        $ dig + nssearch tiscali.co.uk
205
2065. Lista de comprobaci—n
207-------------------------
208
209*   Pudo alcanzar todos los servidores?
210*   Hab’a al menos dos servidores en subredes distintas?
211*   Todos dieron o una referencia o una AA (Authoritative Answer)?
212*   Fueron iguales todas las respuestas?
213*   Los valores de TTL eran razonables?
214*   Era igual la lista de servidores finales en la AUTHORITY SECTION que
215    en la delegaci—n?
216
2176. Ahora, revise los rŽcords NS!
218---------------------------------------
219
220Recuerde que cada record NS contiene el nombre de un nodo, no una direcci—n
221IP. (No est‡ permitido apuntar un NS record a una IP, no va a funcionar)
222
223Pero, cuando ejecut‡bamos algo como `dig @ns0.as9105.com ...`, est‡bamos
224depeniendo de que dig hiciera una bœsqueda del rŽcord tipo A. De hecho,
225est‡bamos haciendo dos peticiones:
226
227        - dig pregunta por la direcci—n IP de ns0.as9105.com, haciendo
228        una bœsqueda recursiva usando el servidor configurado en
229        /etc/resolv.conf
230
231        - Una vez encontrada la direcci—n IP, dig puede enviar la
232        petici—n a dicho servidor
233
234Por lo tanto, necesita empezar de nuevo y revise cada record NS entontrado,
235a partir de la ra’z, exatamente de la misma manera! Esto es tedioso, y
236generalmente los servidores ra’z est‡n correctos. Pero vale la pena revisar
237los records NS del pa’s y bajar hasta los suyos propios.
238
239Por ejemplo: revisar ns0.as9105.com
240
241    $ dig +norec @a.root-servers.net. ns0.as9105.com. a
242    ... referencia a [a-m].gtld-servers.net.
243
244    $ dig +norec @a.gtld-servers.net. ns0.as9105.com. a
245    ;; flags: qr; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
246    ;; ANSWER SECTION:
247    ns0.as9105.com.         172800  IN      A       212.139.129.130     <====
248
249    ;; AUTHORITY SECTION:
250    as9105.com.             172800  IN      NS      ns0.as9105.com.
251    as9105.com.             172800  IN      NS      ns0.tiscali.co.uk.
252
253F’jese que obtuvimos una respuesta - peno no es autorizada!
254(Adem‡s del faltante 'aa', observe que el servidor que interrogamos no
255es uno de los nodos listados en la 'authority section')
256
257Esto no es un error, siempre que la informaci—n sea correcta - se llama
258un "glue record" (record pegamento), que veremos m‡s tarde - pero necesitamos
259continuar camino abajo en la jerarqu’a:
260
261    $ dig +norec @ns0.as9105.com. ns0.as9105.com. a
262    ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
263
264    ;; ANSWER SECTION:
265    ns0.as9105.com.         2419200 IN      A       212.139.129.130     <====
266
267    ;; AUTHORITY SECTION:
268    as9105.com.             600     IN      NS      ns0.tiscali.co.uk.
269    as9105.com.             600     IN      NS      ns0.as9105.com.
270
271    ;; ADDITIONAL SECTION:
272    ns0.tiscali.co.uk.      2419200 IN      A       212.74.114.132
273
274
275    $ dig +norec @ns0.tiscali.co.uk. ns0.as9105.com. a
276    ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
277
278    ;; ANSWER SECTION:
279    ns0.as9105.com.         2419200 IN      A       212.139.129.130     <====
280
281    ;; AUTHORITY SECTION:
282    as9105.com.             600     IN      NS      ns0.tiscali.co.uk.
283    as9105.com.             600     IN      NS      ns0.as9105.com.
284
285    ;; ADDITIONAL SECTION:
286    ns0.tiscali.co.uk.      2419200 IN      A       212.74.114.132
287
288Ahora compruebe:
289
290*   Fueron iguales todas las respuestas? (S’: 212.139.129.130 en
291    `a.gtld-servers.net` y los servidores autorizados)
292*   Hubo concordancia entre los records NS de la delegaci—n y de
293    los autorizados? (S’: delegaci—n a `ns0.as9105.com` y
294    `ns0.tiscali.co.uk`, y estos mismos records aparecen en la
295    'authority section' de la respuesta final)
296
297El significado de NOERROR
298--------------------------
299
300Puede que se haya fijado en el campo de "status: " en la salida de
301dig:
302
303        status: NXDOMAIN
304o
305        status: NOERROR
306
307NXDOMAIN significa "dominio no-existente" (Non-eXistent Domain). Quiere
308decir: "Lo sentimos, no hay informaci—n acerca del nombre en cuesti—n".
309Por ejemplo:
310
311        $ dig +norec @ns0.tiscali.co.uk. wibble.tiscali.co.uk. a
312
313É retornar‡ NXDOMAIN. No hay nada en el dominio tiscali.co.uk con el
314nombre "wibble". Ningœn rŽcord A, o AAAA, etcÉ
315
316Bien, puede que tambiŽn haya notado que la secci—n ANSWER puede contener
3170 respuestas, pero aœn as’, el servidor retorna "NOERROR", y no "NXDOMAIN".
318
319Por quŽ?
320
321Digamos, por ejemplo, que queremos saber la direcci—n IP de
322www.tiscali.co.uk:
323
324        $ dig +norec @ns0.tiscali.co.uk. www.tiscali.co.uk. a
325
326Todo bien. Deber’a ver lo siguiente:
327
328        status: NOERROR
329        ANSWER: 1
330
331Ahora, preguntemos por un tipo de record *diferente* (conocido como
332tipo de record de recurso, "resource record type", para ser precisos):
333
334        $ dig +norec @ns0.tiscali.co.uk. www.tiscali.co.uk. txt
335
336Note que pedimos por un rŽcord TXT bajo el nombre "www.tiscali.co.uk."
337QuŽ obtenemos?
338
339status: NOERROR
340ANSWER: 0
341
342C—mo puede ser?
343
344NOERROR en este caso significa "Lo sentimos, no existe informaci—n sobre
345el NOMBRE Y TIPO de record solicitado. Aj‡! Aqu’ nos est‡n diciendo que
346no existe un rŽcord tipo TXT para www.tiscali.co.uk - pero que puede haber
347informaci—n bajo otros tipos de records.
348
349De hecho, ya lo sabemos gracias a la solicitud anterior:
350
351        $ dig +norec @ns0.tiscali.co.uk. www.tiscali.co.uk. a
352
353É que nos proporciona la direcci—n IP de tal nombre.
354
355Por lo tanto, un nombre no existente (NXDOMAIN) o una respuesta vac’a
356(NOERROR + ANSWER: 0) es aœn una respuesta, y es necesario almacenar
357(cache) esto, como veremos m‡s abajo.
358
359Respuestas negativas
360--------------------
361
362La no-existencia de un record tambiŽn es informaci—n importante. La
363respuesta obtenida deber’a ser algo como:
364
365    $ dig +norec @ns0.tiscali.co.uk. wibble.tiscali.co.uk. a
366    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 51165
367    ;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
368
369    ;; AUTHORITY SECTION:
370    tiscali.co.uk. 3600 IN  SOA ns0.tiscali.co.uk. hostmaster.talktalkplc.com.
371    2011012703 10800 3600 604800 3600
372
373
374El bit AA est‡ activado, pero no hay nada en la respuesta aparte del SOA. Los
375par‡metros en el SOA se usan para saber quŽ tanto tiempo se pueden almacenar
376(cache) las respuestas negativas.
377
378
379Significado de las banderas (flags) (RFC 1034/RFC 1035)
380-----------------------------------------
381
382    QR              Campo de un bit que especifica si este mensaje es una
383                    solicitud (0), o una respuesta (1).
384
385    AA              Respuesta Autorizada - este bit es v‡lido en respuestas,
386                    y especifica que el servidor que responde est‡ autorizado
387                    para el nombre de dominio en la secci—n de pregunta.
388
389    RD              Recursi—n Deseada - este bit se puede marcar en la solicitud
390                    y se copia en la respuesta.  Si RD est‡ activado, indica
391                    al servidor que haga la petici—n de manera recursiva.
392                    El soporte para solicitudes recursivas es opcional.
393
394    RA              Recursi—n Disponible - este bit se marca en una respuesta
395                    e indica si existe soporte para recusi—n en el servidor.
396
397Adem‡s del bit 'AA', una alternativa para descubrir si una respuesta
398est‡ almacenada (en la cachŽ) es repetir la solicitud varias veces y observar
399el valor del TTL decrementando:
400
401    $ dig psg.com.
402    ;; ANSWER SECTION:
403    psg.com.                14397   IN      A       147.28.0.62
404                            ^^^^^
405    $ dig psg.com.
406    ;; ANSWER SECTION:
407    psg.com.                14384   IN      A       147.28.0.62
408                            ^^^^^
409
410
411Otras opciones de dig
412------------------
413
414Otras opciones de dig que le ser‡n œtiles - utilce el manual (man dig)
415para saber quŽ hacen:
416
417dig +tcp
418dig +trace
419
420Y pruebe las otras opciones que aparecen en el manual!
421
422
423Para concluir
424-------------
425
426Recuerde restaurar la configuraci—n de /etc/resolv.conf:
427
428nameserver 10.10.0.230
429