Ampliació

Subdominis
  • Hi ha dos formes de definir-los:
    • Definir el domini i els subdominis en un sol servidor de DNS.
    • Delegant completament el subdomini a un altre servidors de DNS.

Un sol servidor

  • Es pot fer especificant els noms de màquina del subdomini de forma explicita o amb la directiva $ORIGIN.
  • Exemple:

; zone fragment for 'zone name' example.com
; name server in the same zone
$TTL 2d ; zone default TT = 2 days
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; serial number
2h ; refresh = 2 hours
15M ; update retry = 15 minutes
3W12h ; expiry = 3 weeks + 12 hours
2h20M ; minimum = 2 hours + 20 minutes
)
; main domain name server
@ IN NS ns1.example.com.
; A record for name server above
ns1.example.com. IN A IP_ns1
; other domain level hosts and services
host1.exemple.com. IN A IP_host1
....
; sub-domain definitions
; A record for subdomain host2
host2.us.exemple.com. IN A IP_host2

  • Potser es recomanable utilitzar la directiva INCLUDE:
; snippet from file above showing use of $INCLUDE
; sub-domain definitions
$INCLUDE /etc/bind/db.subdomini

Delegant el subdomini

  • La clau d'aquesta configuració està en el que s'anomenen els GLUE RECORDS.
  • Els glue records són registres que s'inclouen al servidor DNS del domini pare que contenen les adreces dels servidors DNS del domini fill tot i que els servidors DNS del domini fill no són, estrictament parlant, propis de la zona pare.
  • Per exemple amb:
    • Domini principal: example.com
    • Subdomini: subdomain.example.com
  • Al fitxer de zona del domini principal:
subdomain IN NS ns1.subdomain.example.com.
ns1.subdomain.example.com. IN A IP_SERVIDOR_DNS1
Comanda rndc
  • Aquesta comanda ens permet controlar el servidor de noms bind utilitzant comandes. Podem consultar les comandes disponibles executant rndc sense paràmetres:
  • Sintaxis: rndc [-c config] [-s server] [-p port] [-k key-file ] [-y key] [-V] command
  • Si s'escriu rndc en consola apareixen les diferents opcions.
  • El podem utilitzar per fer que bind s'adoni de canvis ens els fitxers de configuració (identic a reload de l'script /etc/init.d/bind9) i fins i tot només executar canvis per zones però també es pot utilitzar per estadístiques i consultes de la memòria cau.
  • Exemples:
    • Per fer un volcat de totes les resolucions de noms de domini que té bind a la memòria cau: sudo rndc dumpdb. Aquest volcat es guarda en el fitxer named_dump.db que es troba a la carpeta de base de dades de bind (especificada a les opcions de bind) que normalment és /var/cache/bind.
    • Consultar l'estatus d'un servidor DNS: sudo rndc status.
    • Consultar les estadístiques (per defecte no estan activades): sudo rndc stats.
      • S'interpreten de la següent manera:
        • success The number of successful queries made to the server or zone. A successful query is defined as query which returns a NOERROR response with at least one answer RR.
        • referral The number of queries which resulted in referral responses.
        • nxrrset The number of queries which resulted in NOERROR responses with no data.
        • nxdomain The number of queries which resulted in NXDOMAIN responses.
        • failure The number of queries which resulted in a failure response other than those above.
        • recursion The number of queries which caused the server to perform recursion in order to find the final answer.
      • Es guarden al fitxer d'estadístiques: /var/cache/bind/named.stats
      • Aquest fitxer es pot canviar amb l'opció statistics-file i cal posar-lo al fitxer name.conf.options: statistics-file "/var/cache/bind/named.stats";
      • I es poden activar estadístiques per zones: zone-statistics [ yes | no ; ]
Segrestar algunes dominis. Exemple: Repositoris Ubuntu.
  • La idea és "segrestar" els següents noms de domini:
    • .archive.ubuntu.com (es.archive.ubuntu.com, ad.archive.ubuntu.com, etc... i el propi archive.ubuntu.com)
    • security.ubuntu.com
  • Per què? Doncs bé per tal que a la nostra xarxa local, les màquines Ubuntu al fer actualitzacions no se les descarreguin d'Internet, sinó del nostre propi mirror dels repositoris.
  • Avantatges:
    • No cal modificar el fitxer /etc/apt/sources.list de cada màquina
    • Qualsevol PC, o disc dur itinerant (que hagi de funcionar a la nostra pròpia xarxa i fora d'ella) funcioni el mirror a la nostra xarxa i fora de forma transparent als usuaris.
  • Suposem que el mirror el tenim a la màquina: 192.168.0.7
  • Aquesta és la configuració de DNS que hem utilitzat.
  • Hem creat dos fitxers: /etc/bind/db.archive.ubuntu.com i /etc/bind/db.security.ubuntu.com

 

/etc/bind/db.archive.ubuntu.com /etc/bind/db.security.ubuntu.com

$TTL 1H
@ IN SOA archive.ubuntu.com. hostmaster (
2007041701 ; serial
8H ; refresh for slaves
3H ; retry
4W ; expire time at slaves
1H ; negative TTL
)

IN NS ns.archive.ubuntu.com
;;;;;;;;;;;;;;;;;;;;;;
; Server with aliases
;;;;;;;;;;;;;;;;;;;;;;
ns IN A 192.168.0.7
archive.ubuntu.com. IN A 192.168.0.7
ch.archive.ubuntu.com IN A 130.59.10.34
*.archive.ubuntu.com. IN A 192.168.0.7

NOTA:

  • En aquest cas el nom de màquina ch.archive.ubuntu.com apunta a un repositori "real".
  • És necessari per tal que apt-mirror pugui fer les còpies.

 

$TTL 1H
@ IN SOA security.ubuntu.com. hostmaster (
2007041701 ; serial
8H ; refresh for slaves
3H ; retry
4W ; expire time at slaves
1H ; negative TTL
)

IN NS ns.security.ubuntu.com
;;;;;;;;;;;;;;;;;;;;;;
; Server with aliases
;;;;;;;;;;;;;;;;;;;;;;
ns IN A 192.168.0.7
security.ubuntu.com. IN A 192.168.0.7

 

 



 

 

 

 

 

 

 

 

 

 

 

 

  • Hem afegit les zones al fitxer /etc/bind/named.conf.local:

//Mirrors d'ubuntu
zone "archive.ubuntu.com" {
type master;
file "/etc/bind/db.archive.ubuntu.com";
};

zone "security.ubuntu.com" {
type master;
file "/etc/bind/db.security.ubuntu.com";
};
  • Això conjuntament amb la configuració d'Apt-mirror, ens estalvia un munt de temps i ample de banda a la xarxa.
Forwarding de zones
  • Es poden definir zones forwarding.
  • Aquest tipus de zones no les gestionem nosaltres però sobrescrivim els forwardings indicats al fitxer /etc/bind/name.conf.options i per a una zona concreta utilitzem uns DNS concrets.
  • Per exemple es pot fer amb el domini xtec.cat de la següent forma:
zone "xtec.cat" {
type forward;
forwarders { 213.176.161.16; 213.176.161.18;};
};