Comandes DNS
Comprovar el funcionament del servidor DNS
-
Es poden consultar dos fitxers de log:
- /var/log/messages
- /var/log/syslog
- Amb les últimes línies és suficient: tail -50 FITXER.
Comprovacions de configuració
- Per comprovar que els fitxers de zona són correctes (no tenen errors sintàctics) named-chekzone nom_domini fitxer_de_zona
- També podem comprovar la configuració dels fitxers amb named-chekconf path_fitxer_configuració
Permet comprovar si el fitxer de configuració és correcte:
$ named-checkconf /etc/bind/named.conf
Seguint la filosofia Linux:
No news good news
Si la comanda no torna cap resultat és que no hi ha cap error. En cas contrari ens mostrarà es línies que tenen error:
$ sudo named-checkconf /etc/bind/named.conf
/etc/bind/named.conf:20: unknown option 'one'
Cal tenir en compte que per defecte es consulta el fitxer de configuració named.conf però que poseu especificar altres fitxers. També cal tenir en compte que això només comprova la sintaxi d'aquest fitxers i no pas si la configuració de les zones és correcta (cal fer-ho amb named-checkzone).
També és interessant utilitzar l'opció -z per tal d'obtenir més informació (fins i tot en alguns casos mostra errors):
$ sudo /usr/sbin/named-checkconf -z
zone iesebre.com/IN: loaded serial 2010012602
zone 168.192.in-addr.arpa/IN: loading from master file master/192.168.rev failed: file not found
_default/168.192.in-addr.arpa/in: file not found
Recursos:
* man named-checkconf
Comanda named-checkzone
Permet comprovar si el fitxer de configuració és correcte. Un exemple
$ named-checkzone iescopernic.com /etc/bind/db.iescopernic.com
zone iescopernic.com/IN: loaded serial 2004070102
OK
En cas d'error ens indicarà quina és la línia on hi ha error.
La sintaxi completa és:
$ named-checkzone [-d] [-j] [-q] [-v] [-c class] [-k mode] [-n mode] [-o filename] [-t directory] [-w directory] [-D] {zonename} {filename}
dig
- La comanda dig (Domain Information Groper) és una eina per fer cerques de resolució de noms de DNS i per tant és molt útil per comprovar si el DNS està correctament configurat a la màquina.
- Permet comprovar tant el mapeig a IPs com el mapeig invers de IPs a noms.
- Solament serveix per internet ja que no mira en /etc/hosts (sols utilitza /etc/resolv.conf).
- La sintaxis és: dig [servidor_dns] <nom> [opcions] [tipus] on:
- [servidor_dns]: nom o IP del servidor DNS on voler dirigir la nostra consulta. Es pot donar un nom de màquina i aleshores dig fa la resolució abans d'executar la consulta DNS. Si no especifiquem aquest paràmetre usarà els servidors DNS de /etc/resolv.conf
- <nom>: indica el nom del recurs de registre que estem intentant aconseguir.
- [opcions]: vegeu la pàgina del manual.
- [tipus]: Indica quin tipus de petició és desitja. Si no s'especifica res aleshores es demana el registre A. Alguns valors possibles són:
- A: IP del servidor que emmagatzema el domini (per defecte).
- NS: servidors DNS.
- MX: servidors de correu.
- ANY: totes les anteriors.
- AAAA: IP en IPv6 (si en té).
- Exemples d'ús de dig:
- Si volem per consultes a la pròpia màquina: dig localhost o dig nom_màquina
- Si volem fer consultes a un domini: dig xtec.cat
- Si sabem la IP però no el nom podem realitzar una consulta inversa per obtenir-lo: dig -x 213.176.16 (aquesta IP és el servidor DNS de xtec.cat)
- Si podem passar el servidor DNS a qui li volem preguntar (en el nostre cas el servidor DNS de XTEC segons la resposta anterior): dig @vega.xtec.net xtec.cat
- Si volem consultar els servidors de correu d'un domini: dig @vega.xtec.net xtec.cat MX
- Si volem obtenir tota la informació dels serveis d'un domini: dig @vega.xtec.net xtec.cat ANY
- Obtenir els servidors de root de DNS: dig @A.ROOT-SERVERS.NET +norec +noques +nostats +nocmd
- Obtenir els servidors de DNS d'un domini: dig @A.ROOT-SERVERS.NET +norec +noques +nostats +nocmd edu. NS
- Si volem comprovar la delegació d'una zona: dig @vega.xtec.net trace gregal.xtec.net
- Per més informació podeu consultar aquí.
host
- La comanda host s'utilitza per a resoldre IPs i dominis.
- Cal estar dins del domini o que estigui permès
- També pot tornar altra informació sobre servidors o alies de DNS.
- Si teclegem host a la consola obtindrem un llistat de les diferents opcions.
- Exemples d'ús:
- Per obtenir la informació d'un domini: host www.google.com
- Per obtenir el nom de totes les màquines que pertanyen a un domini: host -l ies.mvm
- Per obtenir més infomarció podeu provar: host -lv -t any ies.mvm
- Per obtenir la llista de la resolució inversa: host -l 201.168.192.in-addr.arpa
hostname
- La comanda hostname ens proporciona el nom de màquina.
dnsdomainname
- La comanda dnsdomainname ens proporciona el nom de domini.
- És equivalent a executar: hostname -d
dnstracer
- La comanda dsntracer ens permet conèixer tots els servidor DNS que s'han utilitzar per a poder resoldre una direcció.
- Hi ha diferents
formes d'executar la comanda dnstracer: ens ho pot mostrar en forma
d'arbre o en format simple, aquí podem veure dos exemples:
- dnstracer moodle.iesmvm.cat
- dnstracer -s B.ROOT-SERVERS.NET moodle.iesmvm.cat
whois
- Pot proporcionar informació sobre un domini d'Internet, sobre tot administrativa, es a dir, qui és el propietari, qui l'ha registrat, quan expira,...
- Per a sistemes Windows es pot consultar
nslookup
- Eina per preguntar els noms de domini.
- El que fa és convertir un domini en adreça IP i viceversa.
-
Aquesta comanda té dos modes de funcionament:
- Mode interactiu: s'introdueix la comanda en la línia d'ordres i apareix el símbol ">" esperant la introducció de les opcions
- Mode no interactiu: s'introdueix la comanda i les opcions en la línia d'ordres.
- Per sortir de nslookup en mode interactiu escriviu exit.
- Exemples:
- Consulta d'informació d'un domini en mode interactiu:
$ nslookup
> ies.mvm
- Consulta d'informació d'un domini en mode interactiu apuntant a un DNS en particular (del fitxer de /etc/resolv.conf):
nslookup - 192.168.0.7
> ies.mvm
- Consulta d'informació d'un registre de la zona SOA en mode interactiu:Com a
$ nslookup - 192.168.0.7
> set type=soa
> ies.mvm
- Consulta d'informació d'un domini en mode no interactiu:
$ nslookup ies.mvm
- Depuració:
$ nslookup -swdebug
$ nslookup
> policy
- Consulta no recursiva:
nslookup -type=ns -norecurse hp.com. b.gtld-servers.net.
NOTA: Per a provar el mapeig de nom a IPS usarem la comanda ping, que serveix tant per a la xarxa local com per a Internet ja que usa /etc/hosts i /etc/resolv.conf (també serviria traceroute). En canvi els comandaments dig, nslookup y host sols serveixen per a Internet, ja que no miren en /etc/hosts i sols ussen /etc/resolv.conf. Per a provar el mapeig invers de IPs a noms usarem el comandament dig (també serveix nslookup i host) sabent que solament ho realitza per a Internet. Per a poder fer un mapeig invers amb les IPs de les màquines de la xarxa local hem d'instal·lar un servidor DNS local.
Altres eines
- Com administrador de sistemes és imporntant tenir ben configurat el servei de DNS ja que d'aquest depèn la velocitat amb la que els teus clientes veurant les teves pàgines i llegiran el mail.
- Una eina per verificar que tot funciona correctament pot ser DNS Stuff.
- Amb ella es pot saberr amb la prova de timing el temps aproximat de quant es tarda en resoldre (aproximadament) una adreça de domini.