Vous êtes sur la page 1sur 6

DNS

Sommaire
Installation du DNS.................................................................................................................................2
Création zones........................................................................................................................................2
Script d’ipV6 inversée.............................................................................................................................4
Installation du DNS
//mettre une IP V6
ifconfig eth0 add 2001:660:1:2010::1/64

//install de bind9
//tout est dans /etc/bind/

Création zones
//dans /var/cache/bind/ on va créer toutes nos zones DNS.
// Création de répertoires : /Primary et /secondary et dans chaque /forward /reverse

//Dans /primary/forward/ on crée la zone evryO1.fr à partir du fichier /etc/bind/db.local


//on le modifie
;;;;;;;;;;;;;;;;;;
; Zone evry1.fr ;
;;;;;;;;;;;;;;;;;;

; Created on 09/03/2010

$TTL 1d
@ IN SOA ns.evry1.fr. dnsmastermail.localhost. (
2010030901 ; Serial
3600 ; Refresh
3600 ; Retry
3600000 ; Expire
604800 ; Negative Cache TTL
)
;
IN NS ns.evry1.fr.
IN NS ns.evry13.fr.
;;;;;;;;;;
;hosts;;
;;;;;;;;;;

ns IN AAAA 2001:660:1:2010::1

//dans /etc/bind/named.conf.local
zone "evry1.fr" {
type master;
file "primary/forward/evry1.fr";
}

//ensuite on fait
Rndc reload

//test
dig @::1 ns.evry1.fr aaaa

//utiliser rndc-confgen
Rndc-conf –b 256 > tmp
Je découpe le fichier dans rndc.conf ;rndc.key ; .controls

//dans named.conf.controls je met ça :


include "/etc/bind/rndc.key";

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

//dans /etc/bind/named.conf
include "/etc/bind/named.conf.controls";

//dans named.conf.options
allow-transfer { none; };

//dans named.conf.local on ajoute


zone "evry13.fr" {
type slave;
file "secondary/forward/evry13.fr";
masters { 2001:660:1:2010::13; };
};

//on ajoute a named.conf.controls


acl "secondaries" {
2001:660:1:2010::13; //ns.evry13.fr
};

//on ajoute à named.conf.local


allow-transfer { secondaries; };

//chmod
chmod 775 /var/cache/bind/secondary/forward/
chmod 775 /var/cache/bind/secondary/reverse/

//chown
chown -R root:bind /var/cache/bind/

//très pratique pour comprendre les erreurs


tail -f /var/log/syslog

//on trace avec des logs


mkdir /var/cache/bind/log
chown root:bind /var/cache/bind/log/
chmod 770 /var/cache/bind/log/

//on ajoute à named.conf


include "/etc/bind/named.conf.logging";
//on ajoute le fichier named.conf.logging fournis pas le prof
//On ajoute à evry1.fr des hosts
ns0 IN CNAME ns
ns1 IN AAAA 2001:660:1:1::1

/ /on reload la zone


Rndc reload evry1.fr

//Maintenant on s’occupe des zones reverse


//dans named.conf.local on ajoute
zone "1.0.0.1.0.0.0.0.6.6.0.1.0.0.2.ip6.arpa" {
type master;
file 'primary/reverse/1.0.0.1.0.0.0.0.6.6.0.1.0.0.2.ip6.arpa";
allow-transfer { secondaries; };
};

//dans /var/cache/bind/primary/reverse

Script d’ipV6 inversée


//on crée un script perméttant de générer l’ip à mettre dans le DNS
#!/usr/bin/env python

import struct, sys

from socket import *

l = struct.unpack('!16B', inet_pton(AF_INET6, sys.argv[1]))


l = [hex( b & 0x0f)[-1]+ '.'+ hex((b & 0xf0) >> 4)[-1] for b in l]
l.reverse()
l = '.'.join(l)
l += '.ip6.arpa.'
print

//version plus hard


#!/usr/bin/env python

import getopt, struct, sys

from socket import *

try:
opts, args = getopt.getopt(sys.argv[1:], "r", ["reverse"])
except getopt.GetoptError, err:
print str(err)
sys.exit(1)
reverse = False
for o, a in opts:
if o == "-r":
reverse = True

plen = 32
l = args[0].split('/')
if len(l) > 1:
if int(l[1]) & 3:
raise ValueError, 'prefix length must a multiple of 4'
plen = int(l[1]) >> 2
l = struct.unpack('!16B', inet_pton(AF_INET6, l[0]))
q = []
for b in l:
q.append(hex((b & 0xf0) >> 4)[-1])
q.append(hex(b & 0x0f)[-1])
if reverse:
q = q[plen:]
else:
q = q[:plen]
q.reverse()
q = '.'.join(q)
if not reverse:
q += '.ip6.arpa.'
print q

//on ajoute de la sécurité


/usr/sbin/dnssec-keygen -k -a rsasha1 -b 2048 -n host -r /dev/urandom ns.evry1.fr

//Je copie le contenu dans la zone forward evry1.fr


ns IN AAAA 2001:660:1:2010::1
IN KEY 512 3 5 AwEAAeMwUeE50DyfT3vCrcwMnm9u9DK3bnIZ0+PV/hxAgXT6cccDkKK5 kht

//pour tester
Dig @ ::1 ns.evry1.fr aaaa
Dig @ ::1 ns.evry1.fr key

DNS Dynamique
Je copie la zone evry1.fr en dyn-evry1.fr
Je modifie le fichier de la façon suivante :
;;;;;;;;;;;;;;;;;;
; Zone evry1.fr ;
;;;;;;;;;;;;;;;;;;

; Created on 09/03/2010

$TTL 1d
$ORIGIN dyn-evry1.fr.
@ IN SOA ns.evry1.fr. dnsmastermail.localhost. (
1 ; Serial
3600 ; Refresh
3600 ; Retry
3600000 ; Expire
604800 ; Negative Cache TTL
)
;
IN NS ns.evry1.fr.
IN NS ns.evry13.fr.

Dans named.conf.local on ajoute


zone "dyn-evry1.fr" {
type master;
file "primary/forward/dyn-evry1.fr";
allow-transfer { secondaries; };
update-policy { grant ns.evry1.fr subdomain dyn-evry1.fr AAAA TXT; };
//faire ça
chmod 775 ../forward/

//on utilise le prog du prof, on place la clé, le nom de la zone, l’ip local ::1
//on ajoute dynamiquement des enregistrements

//on test
dig @::1 marilyn.dyn-evry1.fr TXT

//si ça marche on Remarque que c’est pas encore dans la zone dyn-evry1.fr mais dans un fichier
//journal en binaire.

//donc on freeze la zone


Rndc freeze dyn-evry1.fr
//ca supprime le journal et ajoute l’enregistrement dans la zone.

Vous aimerez peut-être aussi