1 - Paramétrage d'une IP statique
On part du principe que la machine qui hébergera aura la configuration réseau suivante :
- IP : 192.168.0.1
- Masque de sous-réseau : 255.255.255.0
- Passerelle : 192.168.0.254
- Hostname : ns
- Domaine : fresh.local
Editer le fichier /etc/network/interfaces comme suit :
auto lo
iface lo inet loopback
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254
2 - Paramétrage du nom d'hote
sudo nano /etc/hostname
ns.fresh.local
Démarrage du service
sudo /etc/init.d/hostname.sh start
sudo nano /etc/hosts
127.0.0.1 localhost.fresh.local localhost
192.168.0.1 ns.fresh.local ns
sudo nano /etc/hosts.conf
order hosts, bind
multi on
Modification des résolveurs :
sudo nano /etc/resolv.conf
nameserver 192.168.0.1
domain fresh.local
3 - Installation de Bind 9 et les outils dnsutils
sudo apt-get install bind9 dnsutils
4. Création de la zone
4.1 - Création de la zone de recherche directe fresh.local
4.1 - Création de la zone de recherche directe fresh.local
On va copier le modèle de zone db.local en le renommant en db.fresh.local puis l'éditer comme suit :
sudo cp /etc/bind/db.local /etc/bind/db.fresh.local
sudo nano /etc/bind/db.local /etc/bind/db.fresh.local
;
; BIND data file for eth0 interface
;
$TTL 604800
@ IN SOA ns.fresh.local. root.fresh.local. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.fresh.local.
ns IN A 192.168.0.1
@ IN AAAA ::1
dev IN A 192.168.0.112
inte IN A 192.168.0.103
preprod IN A 192.168.0.172
4.2 - Création de la zone de recherche inversée fresh.local
On va copier le modèle de zone db.local en le renommant en db.fresh.local puis l'éditer comme suit :
cp /etc/bind/db.127 db.fresh.local.inv
nano /etc/bind/ db.fresh.local.inv
;
; BIND reverse data file for eth0 interface
;
$TTL 604800
@ IN SOA ns.fresh.local. root.fresh.local. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
1 IN PTR ns.fresh.local.
112 IN PTR dev.fresh.local.
103 IN PTR inte.fresh.local.
172 IN PTR preprod.fresh.local
4.3 - Paramétrage de named.conf.local
sudo nano /etc/bind/named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "fresh.local" {
type master;
file "/etc/bind/db.fresh.local";
forwarders{};
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.fresh.local.inv";
forwarders{};
};
4.4 - Paramétrage des forwarders
sudo nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
//forwarders first;
forwarders {
192.168.0.254;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
//dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
5 - Démarrage du service et test
sudo service bind9 restart
Depuis une autre machine du LAN, renseigner 192.168.0.1 comme dns dans votre config TCP/IP.
Effectuer un ping sur un de nos FQDN existant dans la zone :
ping inte.fresh.local
On résout le nom présent dans la zone.
Effectuer un ping sur google.fr
On résout bien les domaines extérieurs par le dns dans nos forwarders.
Source : http://webadonf.net/2011/03/configurer-un-serveur-dns-avec-bind9-sur-debian-squeeze/