Curs: | DissenyXarxesLinux, LinuxAdministracioAvancada |
Fitxers: | Protocols_de_xarxes_UNIX.pdf |
Repositori SVN: | https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies/ |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas |
Vegeu també Servidor DNS
Podeu consultar el fqdn amb la comanda hostname:
$hostname --fqdn moodle.politecnic.org
Recordeu que el nom de màquina s'estableix al fitxer:
$ cat /etc/hostname moodle
El nom de domini es pot establir de diferents formes (de fet el que fem és definir el FQDN directament al fitxer host):
Al fitxer host:
$ cat /etc/hosts ... 185.13.34.40 acacha.org acacha
O també configurant un servidor de DNS i establint la configuració directa i inversa del servidor.
Sinó especifiqueu cap domini el nom de màquina i el fqdn coincideixen:
$ hostname myhostname $ hostname --fqdn myhostname
Tingueu en compte que la comanda hostname utilitza el resolver per defecte del sistema i que la seva configuració es basa en el fitxer /etc/nsswitch.conf. L'explicat en aquesta apartat es basa en que la configuració per defecte és l'habitual:
$ cat /etc/nsswitch.conf ... hosts: files dns
És a dir primer s'utilitza configuració local (fitxer /etc/hosts) i després els fitxers de DNS del sistema (fitxer /etc/resolv.conf). Cal tenir en compte que es poden utilitzar altres sistemes de resol·lució de noms com per exemple mdns, que en cas dels Ubuntu d'escriptori està instal·lat per defecte:
$ cat /etc/nsswitch.conf ... hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
T
Els servidors de DNS s'indiquen al fitxer:
$ cat /etc/resolv.conf nameserver 192.168.1.3 nameserver 192.168.1.1
Cal tenir en compte que excepte que instal·leu alguna eina com nscd a Linux no hi ha cache de peticions DNS. Per tant cada cop que s'inicia una connexió amb una màquina remota és fa la res·lució de DNS. O podeu veure si executeu l'ordre ping conjuntament amb un analitzador de xarxa com tcpdump o Ethereal.
Per determinar el nom de la màquina de forma local (per que el canvi sigui en xarxa caldria configurar un servidor de DNS) cal modificar el fitxer /etc/hosts:
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 BSFHPCasa.BSF BSFHPCasa # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
NOTA: Fixeu-vos que la majoria de distribucions Linux modernes ja suporten IPv6 a nivell local (un altre cosa és que ho suporti la vostra xarxa o el vostre proveïdor d'Internet.)
I també:
$ cat /etc/hostname BSFHPCasa
En quin ordre és resol·len els noms depèn de la configuració de NSSwitch:
$ cat /etc/nsswitch.conf ... hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files ...
NOTA: Cal tenir en compte que la resol·lució de noms pot anar més enllà que DNS si utilitzen per exemple protocols de zeroconf o xarxa de Windows amb WINS
Abans s'utilitzava:
$ cat /etc/host.conf # The "order" line is only used by old versions of the C library. order hosts,bind multi on
Si teniu un servidor de DHCP a la xarxa aleshores la configuració de DNS per al client serà automàtica. Això és així gràcies als DHCP hooks i a al guió d'interpret d'ordres dhclient-script que configura mitjançant la funció make_resolv_conf el fitxer /etc/resolv.conf.
Altres paràmetres com per exemple el servidor WINS també poden ser establerts de forma automàtica mitjançant el mecanisme de DHCP hooks.
Vegeu també DHCP.
El terme resolver no fa referència a cap aplicació especial sinó a una biblioteca de C. La biblioteca resolver és una col·lecció de funcions que poden ser trobades a la llibreria estàndard de C. Les rutines principals són:
Aquestes llibreries es poden configurar en temps d'execució (és a dir sense haver de recompilar res) amb els fitxers de configuració de resolver (que sovint també anomenem DNS). Els fitxers més importants són:
Recursos:
Els clients que volen utilitzar un servidor de xarxa han d'afegir al fitxer /etc/resolv.conf la següent línia:
nameserver {ip-del-servidor-dns}
Algunes utilitats de gestió de xarxa amb GUI com network-admin també poden configurar els servidors DNS. Podeu consultar el Tutorial pas a pas configuració xarxa en Ubuntu.
NOTA: Pot no haver-hi fitxer /etc/resolv.conf. En aquest cas el servidor de DNS que buscarà el client de DNS és localhost. Per tant en un servidor de DNS no cal especificar el fitxer /etc/resolv.conf
Segons el manual:
$ man resolver
o
$ man resolv.conf
Es poden especificar múltiples servidors de DNS fins a un màxim establer per la variable MAXNS (establerta a nivell de compilació). El valor habitual és 3 i el podeu trobar:
/usr/include/resolv.h
cat /usr/include/resolv.h | grep MAXNS # define MAXNS 3 /* max # name servers we'll track */
La forma en que s'utilitzen els servidors de DNS es força simple:
El timeout per defecte és de 5:
$ cat /usr/include/resolv.h | grep TIMEOUT # define RES_TIMEOUT 5 /* min. seconds between retries */+
I el nombre d'intents:
$ cat /usr/include/resolv.h | grep RETRY # define RES_MAXRETRY 5 /* only for resolv.conf/RES_OPTIONS */ # define RES_DFLRETRY 2 /* Default #/tries. *
Per defecte espara 5 segons, si no volem esperar tant:
domain movie.edu
nameserver 0.0.0.0
nameserver 192.249.249.3
nameserver 192.249.249.
options timeout:2
Permet especificat quines IP són les preferides en el cas que es rebri una màquina amb diferents IP:
sortlist 128.32.42.0/255.255.255.0 15.0.0.0
NOTA: Cal que tingueu en compte la història d'aquest fitxer. Abans d'existir DNS, sistema jeràrquic i distribüit, el sistema utilitzar per a fer la resolució de noms era un sistema pla on totes les màquines d'un domini havien de tenir un fitxer /etc/hosts actualitzar
Guarda la taula local de resolució de noms. Normalment aquesta taula és prioritària respecte a DNS (vegeu el fitxer /etc/host.conf i també el fitxer /etc/nsswitch.conf).
$ cat /etc/hosts 127.0.0.1 localhost 127.0.0.1 casa-linux # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Es pot utilitzar per resoldre problemes amb la resolució de noms DNS o fins i tot per prohibir l'accés a certes pàgines web. Per exemple podem "redireccionar webs prohibides" amb una entrada com la següent:
192.168.0.10 sex.com
Si la IP 192.168.0.10 és la màquina que té el servidor web d'una escola, i els fitxers /etc/hosts dels alumnes tenen aquesta entrada. Cada cop que un alumne intenti entrar a la web sex.com es trobarà amb la pàgina de l'escola.
Vegeu també:
Servidor_DNS#Antecedents_de_DNS._Fitxer_.2Fetc.2Fhosts
Manual:
NOTA: Aquest fitxers només s'utilitza per a programes que utilitzin les versions antigues de libc (libc4 o libc5), per a programes glibc actuals, s'utilitza /etc/nsswitch.conf
Aquest fitxer configura el funcionament de la resolució de noms. La seva funció més important és identificar en quin ordre s'aplica la resolució de noms. Per exemple el següent fitxer /etc/host.conf:
$ cat /etc/host.conf order hosts,bind multi on
Determina que primer és llegirà el fitxer de hosts (/etc/hosts) per tal de determinar noms de màquina. Si en aquest fitxer no és troba el nom de màquina, aleshores es buscarà per DNS (bind).
Consulteu la taula de:
http://www.cez.com.pe/Linux/manual%20suse%20linux%209.1/suselinux-adminguide_es/html/ch13s03.html
Per conèixer les opcions.
Manual:
Recursos:
Amb la versió 2.0 (també coneguda com libc6) de la biblioteca GNU de C es va començar a utilitza Name Service Switch (NSS)
Pode obtenir més informació al manual:
$ man 5 nsswitch.conf
Vegeu també l'article NSSwitch
NOTA: Aquest servei i aquest fitxer s'utilitzen a les estacions de treball d'Skolelinux per fer el cache de l'autenticació via Ldap. Podeu veure l'exemple d'integració d'Ubuntu com a estació de treball a SkoleLinux a la web d'Skolelinux d'aquesta wiki.
Recursos:
És el fitxer de configuració del client de DNS (llibreria resolver). Aquí s'especifica el domini al qual pertany la màquina, les ips del servidors de noms, etc.
$ cat /etc/resolv.conf search politecnic.org nameserver 192.168.0.5 nameserver 195.235.113.3 nameserver 195.235.96.90
Manual:
Conté el nom de màquina:
$ cat /etc/hostname BSFHPCasa
Consulteu l'ordre hostname.
IMPORTANT: El fitxer no pot contindre res més, p. ex. no es poden posar comentaris. El nom de la màquina s'ha de posar sense nom de domini (no FQDN)
Vegeu Xarxes_Linux#.2Fetc.2Fhosts.allow_i_.2Fetc.2Fhosts.deny
La comanda hostname ens proporciona el nom de màquina
$ hostname moodle
També permet establir el nom d'una màquina. Consulteu l'apartat Establir el nom de màquina
Vegeu també: Noms de màquina vàlids.
Es pot canviar el nom d'una màquina amb l'ordre hostname:
$ sudo hostname nommaquina.domini
En aquest cas estem utilitzant un FQDN.
IMPORTANT: Cal tenir en compte que com és típic en Linux, les ordres no acostumen a generar canvis permanents al sistema. Per fer el canvi permanent cal modificar el fitxer /etc/hostname:
$ cat /etc/hostname nommaquina.domini
A Ubuntu/Debian l'script d'inici:
/etc/init.d/hostname.sh
NOTA: Els sistemes que utilitzen Upstart el fitxer és: /etc/init/hostname.conf
És l'encarregat d'establir el nom de màquina.
NOTA: A Ubuntu s'està utilitzant (--acacha 05:33, 2 gen 2011 (UTC)) upstart i el fitxer és /etc/init.d/hostname
$ cat /etc/init/hostname.conf # hostname - set system hostname # # This task is run on startup to set the system hostname from /etc/hostname, # falling back to "localhost" if that file is not readable or is empty and # no hostname has yet been set. description "set system hostname" start on startup task exec hostname -b -F /etc/hostname
Fixeu-vos l'ordre que s'executa:
hostname -b -F /etc/hostname
És a dir el nom de màquina s'estableix llegint el fitxer /etc/hostname.
Podeu forçar el canvi de nom de màquina sense reiniciar:
$ sudo service hostname start
NOTA: Utilitzeu $ sudo /etc/init.d/hostname restart si no utilitzeu upstart
Finalment però no menys important és posar el nom de màquina a /etc/hosts
$ cat /etc/hosts 192.168.0.221 nommaquina.domini
Això és així ja que realment no tindrem el nom de màquina FQDN fins que ens el proporcioni el DNS, i pot ser que no tinguem un DNS proporcionant aquest nom!
Consulteu també el manual:
$ man hostname ... SET NAME When called with one argument or with the --file option, the commands set the host name or the NIS/YP domain name. hostname uses the sethost‐ name(2) function, while all of the three domainname, ypdomainname and nisdomainname use setdomainname(2). Note, that this is effective only until the next reboot. Edit /etc/hostname for permanent change. Note, that only the super-user can change the names. It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below). The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).
NOTA: També es pot utilitzar sysctl per canviar el nom de màquina:
$ sudo sysctl kernel.hostname=NEW_HOSTNAME}}
O:
$ sudo sysctl kernel.hostname
Per llegir-lo.
També es pot establir el nom de màquina amb DHCP. Consulteu:
DHCP#Noms_de_m.C3.A0quina
Obtenir tots els hosts d'un domini (cal estar dins del domini o que estigui permès)
$ host -l iescopernic.com iescopernic.com name server domain.iescopernic.com. dhcp.iescopernic.com has address 192.168.0.10 domain.iescopernic.com has address 192.168.0.7 gateway.iescopernic.com has address 192.168.0.1 moodle.iescopernic.com has address 192.168.0.7 router.iescopernic.com has address 192.168.0.10 smtp.iescopernic.com has address 192.168.0.7 www.iescopernic.com has address 192.168.0.7
$ host -lv -t any upc.es Trying "upc.es" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64194 ;; flags: qr aa ra; QUERY: 1, ANSWER: 2086, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;upc.es. IN AXFR ;; ANSWER SECTION: upc.es. 172800 IN SOA backus.upc.es. hostmaster.upcnet.es. 2008012303 7200 7200 1209600 172800 upc.es. 172800 IN NS euler.upc.es. upc.es. 172800 IN NS backus.upc.es. upc.es. 172800 IN A 147.83.194.21 upc.es. 172800 IN MX 10 mx1.upc.es. upc.es. 172800 IN MX 10 mx2.upc.es. 170arl.upc.es. 172800 IN A 147.83.18.36 170dop.upc.es. 172800 IN A 147.83.18.37 170igg.upc.es. 172800 IN A 147.83.18.35 147.83.78.174.upc.es. 172800 IN A 147.83.78.174 9.194.upc.es. 172800 IN PTR terrance.upc.es. 38.198.upc.es. 172800 IN PTR voyeur.upc.es. 210aga01.upc.es. 172800 IN A 147.83.164.16 210aga02.upc.es. 172800 IN A 147.83.164.48 ...
Per obtenir la llista de resolució inversa:
$ host -l 201.168.192.in-addr.arpa 201.168.192.in-addr.arpa name server iescopernic.com. 1.201.168.192.in-addr.arpa domain name pointer gatewayaula1.iescopernic.com. 10.201.168.192.in-addr.arpa domain name pointer pc7aula1.iescopernic.com. 11.201.168.192.in-addr.arpa domain name pointer pc8aula1.iescopernic.com. 12.201.168.192.in-addr.arpa domain name pointer pc9aula1.iescopernic.com. 14.201.168.192.in-addr.arpa domain name pointer pc11aula1.iescopernic.com. 15.201.168.192.in-addr.arpa domain name pointer pc12aula1.iescopernic.com. 16.201.168.192.in-addr.arpa domain name pointer pc13aula1.iescopernic.com. 17.201.168.192.in-addr.arpa domain name pointer pc14aula1.iescopernic.com. 18.201.168.192.in-addr.arpa domain name pointer pc15aula1.iescopernic.com. 19.201.168.192.in-addr.arpa domain name pointer pc16aula1.iescopernic.com. 2.201.168.192.in-addr.arpa domain name pointer profe.aula1.iescopernic.com. 20.201.168.192.in-addr.arpa domain name pointer switchaula1.iescopernic.com. 21.201.168.192.in-addr.arpa domain name pointer puntaccesaula1.iescopernic.com. 3.201.168.192.in-addr.arpa domain name pointer pc1aula1.iescopernic.com. 4.201.168.192.in-addr.arpa domain name pointer pc2aula1.iescopernic.com. 6.201.168.192.in-addr.arpa domain name pointer pc3aula1.iescopernic.com. 7.201.168.192.in-addr.arpa domain name pointer pc4aula1.iescopernic.com. 8.201.168.192.in-addr.arpa domain name pointer pc5aula1.iescopernic.com. 9.201.168.192.in-addr.arpa domain name pointer pc6aula1.iescopernic.com.
$ sudo apt-get install mtr
Combina les ordres ping i traceroute.
La comanda host ens proporciona el nom de la màquina.
$ hostname moodle
Podem obtenir el FQDN (Fully Qualified Domain Name) amb la comanda
$hostname --fqdn moodle.politecnic.org
La comanda
$ dnsdomainname politecnic.org
Ens proporciona el nom de domini. És equivalent a executar:
$ hostname -d
IMPORTANT: A windows hi ha un ordre equivalent del mateix nom que gairebé funciona 100% de la mateixa forma
Aquesta comanda té dos modes de funcionament:
Mode interactiu:
$ nslookup > upc.edu Server: 192.168.1.3 Address: 192.168.1.3#53 Non-authoritative answer: Name: upc.edu Address: 147.83.194.21
El mode interactiu també es pot iniciar apuntant a un servidor de DNS:
$ nslookup - 87.216.1.66 > upc.edu Server: 87.216.1.66 Address: 87.216.1.66#53 Non-authoritative answer: Name: upc.edu Address: 147.83.194.21
Obtenir la informació d'un registre de zona SOA:
Primer consulteu quin DNS utilitzar:
$ cat /etc/resolv.conf # Generated by NetworkManager domain BSF search BSF nameserver 80.58.61.250 nameserver 80.58.61.254
Obrim el mode interactiu:
$ nslookup - 80.58.61.250 > set type=soa > upc.edu Server: 80.58.61.250 Address: 80.58.61.250#53 Non-authoritative answer: upc.edu origin = backus.upc.es mail addr = hostmaster.upcnet.es serial = 2010010802 refresh = 14400 retry = 1800 expire = 1857600 minimum = 8400 Authoritative answers can be found from: > exit
NOTA: El correu electrònic s'obté substituïnt el primer punt per una @
Mode no interactiu:
Amb els DNS del sistema:
$ nslookup upc.es Server: 192.168.1.3 Address: 192.168.1.3#53 Non-authoritative answer: Name: upc.es Address: 147.83.194.21
Fer una consulta amb un DNS concret:
$ nslookup www.google.com 87.216.1.66
Depurar:
nslookup -swdebug
$ cat /etc/nsswitch.conf hosts: dns [notfound=continue] nis [notfound=continue files # nslookup -swdebug
# nslookup > policy
# Lookups = 3 dns [RRCR] nis [RRCR] files [RRRR]
$ cat /etc/nsswitch.conf hosts: dns [NOTFOUND=continue] files
# Lookups = 2 dns [RCCR] files [RRRR]
Per sortir de nslookup escriviu exit.
Consulta no recursiva:
$ nslookup -type=ns -norecurse hp.com. b.gtld-servers.net.
Recursos
Pot proporcionar informació sobre un domini d'Internet:
$ whois iesebre.com ...
Domain servers in listed order: dns3.servidoresdns.net 217.76.128.129 dns4.servidoresdns.net 217.76.129.129
Segons el manual:
$ man dig
Es tracta d'una eina per fer cerques de resolució de noms de DNS.
La sintaxi és:
NOTA: $ dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...]
On:
Format de les respostes:
Vegem un exemple:
$ dig @185.13.76.12 ebretic.com ; <<>> DiG 9.8.1-P1 <<>> @185.13.76.12 ebretic.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57432 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;ebretic.com. IN A ;; ANSWER SECTION: ebretic.com. 3600 IN A 185.13.76.44 ;; AUTHORITY SECTION: ebretic.com. 3600 IN NS ns1.ebretic.com. ebretic.com. 3600 IN NS ns2.ebretic.com. ;; ADDITIONAL SECTION: ns1.ebretic.com. 3600 IN A 185.13.76.11 ns2.ebretic.com. 3600 IN A 185.13.76.12 ;; Query time: 9 msec ;; SERVER: 185.13.76.12#53(185.13.76.12) ;; WHEN: Sat Feb 2 14:12:31 2013 ;; MSG SIZE rcvd: 113
La primera part és:
; <<>> DiG 9.8.1-P1 <<>> @185.13.76.12 ebretic.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57432 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available
La primera línia mostra la versió de dig i els paràmetres que s'han utilitzat per a cridar dig. S'indiquen també les opcions globals de dig utilitzades:
global options: +cmd
Tot això és informació de la consulta que fem nosaltres. Les següent línies mostren informació de la resposta:
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57432 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available
IMPORTANT: Llegiu l'apartat Servidor_DNS#Protocol_DNS per conèixer en més detall el protocol
Aquesta secció es pot mostrar o no mostrar utilitzant els paràmetres +[no]comments (cal tenir en compte però que això també fa que no es mostrin moltes seccions de capçaleres). Desprḉes també es mostra el
opcode
que indica el tipus d'operació DNS. En el nostre cas una QUERY. És important també fixar-se amb l'estatus del resultat:
status: NOERROR
Podeu veure els flags DNS que incorpora la resposta:
Informació extreta de:
http://www.iana.org/assignments/dns-parameters/dns-parameters.xml#dns-parameters-12 http://marcoceresa.com/net-dns/classes/Net/DNS/Header.html
i es defineixen al RFC1035 i al RFC4035.
Tots seguit van les seccions amb els registres DNS que contenen.
Finalment tenim una secció resum amb estadístiques de la consulta:
;; Query time: 9 msec ;; SERVER: 185.13.76.12#53(185.13.76.12) ;; WHEN: Sat Feb 2 14:12:31 2013 ;; MSG SIZE rcvd: 113
Tota la informació d'un domini (si esta permès):
$ dig @ns.ubuntu.com ubuntu.com axfr
Múltiples consultes:
$ dig example.com any another.com any
Obtenir els servidors de correu d'un domini:
$ dig upc.es MX ; <<>> DiG 9.3.4 <<>> upc.es MX ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20062 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 4 ;; QUESTION SECTION: ;upc.es. IN MX ;; ANSWER SECTION: upc.es. 172800 IN MX 10 mx2.upc.es. upc.es. 172800 IN MX 10 mx1.upc.es. ;; AUTHORITY SECTION: upc.es. 172800 IN NS euler.upc.es. upc.es. 172800 IN NS backus.upc.es. ;; ADDITIONAL SECTION: mx1.upc.es. 172800 IN A 147.83.194.63 mx2.upc.es. 172800 IN A 147.83.194.64 euler.upc.es. 172800 IN A 147.83.2.10 backus.upc.es. 172800 IN A 147.83.2.3 ;; Query time: 2 msec ;; SERVER: 147.83.21.41#53(147.83.21.41) ;; WHEN: Thu Jan 24 21:09:04 2008 ;; MSG SIZE rcvd: 169
Obtenir els servidors de root de DNS:
$ dig +norec +noques +nostats +nocmd @A.ROOT-SERVERS.NET
Obtenir els servidors de DNS d'un domini:
Per exemple guifi.net:
$ dig ns +norec +noques +nostats +nocmd @8.8.8.8 guifi.net. ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24048 ;; flags: qr ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; ANSWER SECTION: guifi.net. 2504 IN NS ns1.guifi.net. guifi.net. 2504 IN NS ns3.guifi.net. guifi.net. 2504 IN NS ns2.guifi.net.
Per exemple edu. :
$ dig ns +norec +noques +nostats +nocmd @A.ROOT-SERVERS.NET edu.
Recursos:
Amb dig:
Per exemple per comprovar la delegació del domini tortosa.guifi.net des del domini guifi.net:
$ dig ns +norec +noques +nostats +nocmd @ns1.guifi.net tortosa.guifi.net. ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12104 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2 ;; AUTHORITY SECTION: tortosa.guifi.net. 3600 IN NS ns1.tortosa.guifi.net. tortosa.guifi.net. 3600 IN NS ns2.tortosa.guifi.net. ;; ADDITIONAL SECTION: ns1.tortosa.guifi.net. 3600 IN A 109.69.15.4 ns2.tortosa.guifi.net. 3600 IN A 109.69.15.5
També es pot fer amb:
$ dig trace cnn.com ; <<>> DiG 9.6.1-P2 <<>> trace cnn.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8272 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;trace. IN A ;; AUTHORITY SECTION: . 494 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2010012700 1800 900 604800 86400 ;; Query time: 0 msec ;; SERVER: 192.168.7.1#53(192.168.7.1) ;; WHEN: Wed Jan 27 20:52:16 2010 ;; MSG SIZE rcvd: 98 ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38795 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 13, ADDITIONAL: 0 ;; QUESTION SECTION: ;cnn.com. IN A ;; ANSWER SECTION: cnn.com. 194 IN A 157.166.226.25 cnn.com. 194 IN A 157.166.226.26 cnn.com. 194 IN A 157.166.255.18 cnn.com. 194 IN A 157.166.255.19 cnn.com. 194 IN A 157.166.224.25 cnn.com. 194 IN A 157.166.224.26 ;; AUTHORITY SECTION: com. 71491 IN NS I.GTLD-SERVERS.NET. com. 71491 IN NS J.GTLD-SERVERS.NET. com. 71491 IN NS E.GTLD-SERVERS.NET. com. 71491 IN NS D.GTLD-SERVERS.NET. com. 71491 IN NS G.GTLD-SERVERS.NET. com. 71491 IN NS K.GTLD-SERVERS.NET. com. 71491 IN NS L.GTLD-SERVERS.NET. com. 71491 IN NS H.GTLD-SERVERS.NET. com. 71491 IN NS M.GTLD-SERVERS.NET. com. 71491 IN NS B.GTLD-SERVERS.NET. com. 71491 IN NS F.GTLD-SERVERS.NET. com. 71491 IN NS A.GTLD-SERVERS.NET. com. 71491 IN NS C.GTLD-SERVERS.NET. ;; Query time: 0 msec ;; SERVER: 192.168.7.1#53(192.168.7.1) ; ; WHEN: Wed Jan 27 20:52:16 2010 ;; MSG SIZE rcvd: 345
ARCHIVE_UBUNTU_COM_IP=$(/usr/bin/dig +nocmd @$DNS_SERVER1 $ARCHIVE_DOMAIN_NAME A +noquestion +nostats +short | head -n 1)
Consulteu: RsyncMirror#Script
Consulteu la secció Paquet dnsutils de l'article XarxesLinux.
El client DNS de XP té un protocol/algoritme força agressiu, que va ser introduït per primer cop a Windows NT 4.0 SP4.
Cache:
Windows XP emmagatzema cada registre DNS que rep en una cache disponible per a totes les aplicacions del sistema. Aquesta cache durà el temps indicat pel camp TTL de la zona fins a un màxim de 24 hores.
NOTA: No importa quan gran sigui el TTL assignat al servidor, els clients Windows utilitzaran un TTL màxim de 24 hores
Aquest valor màxim es pot modificar al registre amb:
MaxCacheTtl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
Data type: REG_DWORD
Default value: 86,400 seconds (= 24 hours)
També suporta negative caching. Per defecte té 15 minuts. Es pot modificar al registre:
MaxNegativeCacheTtl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
Data type: REG_DWORD
Default value: 900 seconds (= 15 minutes)
Es pot desactivar indicant un 0.
Es pot consultar el cache de DNS amb:
ipconfig /displaydns
Es pot netejar el cache amb:
ipconfig /flushdns
Es pot desactivar el cache amb:
net stop dnscache
Només serà un canvi temporal fins al pròxim reboot. Per fer-ho permanent cal anar a Services (Administrative Tools program group) i establir el servei DNS Client service's Startup a Disabled.
Priorització de subxarxes
Windows prioritza les resolucions de noms que formin part de la subxarxa del client. Per exemple un servidor multihomed:
www.prova.eu. IN A 192.168.1.101
www.prova.eu. IN A 192.168.2.101
Si el client està a la xarxa 192.168.1.0/24, aleshores es quedarà la primera IP, si està a la xarxa 192.168.1.0/24 es quedarà amb la segona.
Això es carrega, si ho esteu utilitzant, el Round Robin que permet balancejar la carrega. Es pot desactivar al registre:
PrioritizeRecordData
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
Data type: REG_DWORD
Range: 0 - 1
NOTA: No confondre el programa resolvconf amb el fitxer /etc/resolv.conf. El programa resolvconf és opcionals en sistemes de la família Debian com és el cas d'Ubuntu
Es tracta d'un programa que permet gestionar dinàmicament la configuració de DNS
$ sudo apt-get install resolvconf
Un cop instal·lat veureu que modifica el fitxer /etc/resolv.conf:
$ ls -la /etc/resolv.conf lrwxrwxrwx 1 root root 31 2011-01-16 09:16 /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
Com vegeu ara és un link a /etc/resolvconf/run/resolv.conf.
El programa resolvconf només és necessari quan hi ha múltiples programes que necessiten modificar dinàmicament la informació del client DNS.
IMPORTANT: Si teniu instal·lat resolvconf és important que no canvieu el fitxer resolv.conf a mà, ja que serà modificat dinàmicament
Aleshores per definir els servidors de DNS no podeu modificar directament el fitxer /etc/resolv.conf però podeu modificar el fitxer /etc/network/interfaces posant la línia:
dns-nameservers 12.34.56.78 12.34.56.79
Ara si apliqueu els canvis (o reinicieu la màquina)
$ sudo /etc/init.d/networking restart
El fitxer /etc/resolv.conf serà modificat a:
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 172.16.135.21
IMPORTANT: Posar la línia dns-nameserver al fitxer interfaces només funciona si teniu instal·lat resolvconf
Cal tenir en compte que resolvconf és una aplicació bastant nova (--acacha 08:32, 16 gen 2011 (UTC)) i alguns programes poden no funcionar. Llegiu:
/usr/share/doc/resolvconf/README
Consulteu:
nscd dnsmasq dnscache