Implantation

Ce tutoriel développe la mise en place d'un serveur DNS (BIND) Master, qui sera mit à jour dynamiquement par un serveur DHCP. Puis le serveur DNS Master mettra à jour un serveur DNS Slave. Les routeurs transféreront les demandes dhcp des stations par dhcp-relay.


Installation des packages


Sur les 2 serveurs :
bind-9.2.3-6.rpm
bind-utils-9.2.3-6.rpm

Sur le serveur Master :
dhcp-common-3.0-1.rc14.rpm
dhcp-server-3.0-1.rc14.rpm
(ne pas installer dhcp-client-xx)


Sur les clients :
dhcp-common-3.0-1.rc14.rpm
dhcp-client-3.0-1.rc14.rpm


Sur les 2 serveurs :
bind-9_9.2.3+9.2.4-rc2-1_i386.deb
bind9-host_9.2.3+9.2.4-rc2-1_i386.deb
dnsutils_9.2.3+9.2.4-rc2-1_i386.deb
libdns11_9.2.3+9.2.4-rc2-1_i386.deb

Sur le serveur Master :
dhcp3-common_3.0.1-1_i386.deb
dhcp3-server_3.0.1-1_i386.deb
(ne pas installer dhcp3-client_xx)


Sur les clients :
dhcp3-common_3.0.1-1_i386.deb
dhcp3-client_3.0.1-1_i386.deb



Génération de la clef TSIG
(Transaction SIGnatures)

BIND utilise une signature par clef cryptée pour authentifier les transactions le concernant. Pour que DHCP soit autorisé à mettre à jour la base DNS Master et que le DNS Slave puisse être mis a jour par le Master, ils devront connaître cette clef.

La commande suivante génère une paire de clefs HMAC-MD5 à 128 bits intitulé mykey

[root@pc user]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER mykey
[root@pc user]# ls
Kmykey.+157+12345.key    Kmykey.+157+12345.private
[root@pc user]#

Ouvrez le fichier Kmykey.+157+12345.private pour extraire la clef
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: vwMIK07Iqm5+LjnKaiOvsg==

Copiez cette clef dans le fichier

/etc/rndc.key (chmod 600) sous cette forme :

/etc/bind/rndc.key (chmod 600) sous cette forme :


key mykey {
        algorithm        hmac-md5;
        secret "vwMIK07Iqm5+LjnKaiOvsg==";
};



Configuration de DHCP

Modifiez le fichier /etc/dhcpd.conf

Modifiez le fichier /etc/dhcp3/dhcpd.conf


# Indique une mise à jour DNS.
ddns-update-style interim;

# Indique que notre serveur fait autorité sur le réseau (master)
authoritative;

# Refuse les adresses MAC en double.
deny duplicates;

# Ignore les messages DHCPDECLINE des clients, permet d'éviter
# l'abandon successif d'adresses.
ignore declines;

# Nom ou adresses des DNS pour tout nos réseaux.
option domain-name-servers 192.168.0.1, 192.168.0.5;

# Divers renseignements sont disponible pour paramétrer les clients.
# voir man dhcp-options pour la liste. Dans notre cas ces options
# sont les mêmes pour tout nos réseaux.

option lpr-servers 192.168.0.7;
option netbios-name-servers 192.168.0.2, 192.168.0.6;
option smtp-server 192.168.1.3;
option pop-server 192.168.1.3;

# Indiquez l'adresse de votre réseau ou sous réseau avec son masque.
# Paramètres pour le réseau 192.168.0.0/24

subnet 192.168.0.0 netmask 255.255.255.0 {

# Nom de votre domaine pour cette zone.
option domain-name "alex.fr";

# Information sur votre réseau.
option routers 192.168.0.8;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;

# Plages d'adresses couvertes par DHCP.
range 192.168.0.20 192.168.0.250;
default-lease-time 21600;
max-lease-time 43200;

# Updates dynamique.
ddns-updates on;
ddns-domainname "alex.fr";
# Il faut mettre la valeur "in-addr.arpa" pour chaque réseaux/sous-réseaux.
ddns-rev-domainname "in-addr.arpa";

# La clef autorisant DHCP à écrire dans la base DNS.

include "/etc/rndc.key";

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



# Indique dans quelle
zone DNS, DHCP peut écrire.
# Ce sont les zones pour ce réseau, données dans named.conf

zone alex.fr {
primary 192.168.0.1;
key mykey;
}

# La zone reverve pour alex.fr

zone 0.168.192.in-addr.arpa {
primary 192.168.0.1;
key mykey;
}

# Déclaration des adresses fixes.
host srv2 {
hardware ethernet 00:50:04:87:41:3B;
fixed-address 192.168.0.2;
option host-name "srv2";
}
host srv5 {
hardware ethernet 00:50:0F:87:E1:3B;
fixed-address 192.168.0.5;
option host-name "srv5";
}
host srv6 {
hardware ethernet 00:0C:6E:7A:B8:21;
fixed-address 192.168.0.6;
option host-name "srv6";
}
host srv7 {
hardware ethernet 00:d0:19:24:96:7R;
fixed-address 192.168.0.7;
option host-name "srv7";
}
host fw2 {
hardware ethernet 00:30:V6:S4:78:43;
fixed-address 192.168.0.8;
option host-name "fw2";
}
host rt1 {
hardware ethernet 00:e4:24:j3:85:03;
fixed-address 192.168.0.254;
option host-name "rt1";
}
}
# Fin des paramètres pour le réseau 192.168.0.0/24

# Pas de paramètres pour le réseau 192.168.1.0/24 car il n'y a que des serveurs.

# Paramètres pour le réseau 192.168.2.0/24
subnet 192.168.2.0 netmask 255.255.255.0 {

# Nom de votre domaine pour cette zone.
option domain-name "compta.alex.fr";

# Information sur votre réseau.
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;

# Plages d'adresses couvertes par DHCP.
range 192.168.2.20 192.168.2.250;
default-lease-time 21600;
max-lease-time 43200;

# Updates dynamique.
ddns-updates on;
ddns-domainname "compta.alex.fr";
ddns-rev-domainname "in-addr.arpa";

# La clef autorisant DHCP à écrire dans la base DNS.
include "/etc/rndc.key";

# Ce sont les zones pour ce réseau, données dans named.conf
zone compta.alex.fr {
primary 192.168.0.1;
key mykey;
}

zone 2.168.192.in-addr.arpa {
primary 192.168.0.1;
key mykey;
}
}
# Fin des paramètres pour le réseau 192.168.2.0/24

# Paramètres pour le réseau 192.168.3.0/24
subnet 192.168.3.0 netmask 255.255.255.0 {

# Nom de votre domaine pour cette zone.
option domain-name "etude.alex.fr";

# Information sur votre réseau.
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.3.255;

# Plages d'adresses couvertes par DHCP.
range 192.168.3.20 192.168.3.250;
default-lease-time 21600;
max-lease-time 43200;

# Updates dynamique.
ddns-updates on;
ddns-domainname "etude.alex.fr";
ddns-rev-domainname "in-addr.arpa";

# La clef autorisant DHCP à écrire dans la base DNS.
include "/etc/rndc.key";

# Ce sont les zones pour ce réseau, données dans named.conf
zone etude.alex.fr {
primary 192.168.0.1;
key mykey;
}

zone 3.168.192.in-addr.arpa {
primary 192.168.0.1;
key mykey;
}
}
# Fin des p
aramètres pour le réseau 192.168.3.0/24

# Paramètres pour le réseau 192.168.4.0/24
subnet 192.168.4.0 netmask 255.255.255.0 {

# Nom de votre domaine pour cette zone.
option domain-name "methode.alex.fr";

# Information sur votre réseau.
option routers 192.168.4.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;

# Plages d'adresses couvertes par DHCP.
range 192.168.4.245 192.168.4.250;
default-lease-time 21600;
max-lease-time 43200;

# Updates dynamique.
ddns-updates on;
ddns-domainname "methode.alex.fr";
ddns-rev-domainname "in-addr.arpa";

# La clef autorisant DHCP à écrire dans la base DNS.
include "/etc/rndc.key";

# Ce sont les zones pour ce réseau, données dans named.conf
zone methode.alex.fr {
primary 192.168.0.1;
key mykey;
}

zone 4.168.192.in-addr.arpa {
primary 192.168.0.1;
key mykey;
}
}
# Fin des paramètres pour le réseau 192.168.4.0/24

Configuration de BIND

Modifiez le fichier /etc/named.conf sur le Master

Appliquez les droits suivants sur /etc/bind/
pc:/home/user# chmod 2775 /etc/bind/
pc:/home/user# chown root:bind /etc/bind/

Modifiez le fichier
/etc/bind/named.conf sur le Master


// Déclaration de la clef en incluant directement le fichier clef.

include "/etc/rndc.key";


// Déclaration de la clef en incluant directement le fichier clef.

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


// Instructions de mise a jour du DNS Slave.
server 192.168.0.1 {
provide-ixfr yes;
keys { mykey; };
};

// Autorise une mise a jour avec clef sur le port 953.
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { mykey; };
};


// Définit les options du serveur dans son ensemble.

 

options {
directory "/var/named";
pid-file "/var/run/named/named.pid";

// Permet de masquer la version de BIND.
version "SECRET";

// Indique les serveurs vers lesquelles les requêtes seront
// retransmissent si votre serveur DNS ne peut répondre.

# forward first;
# forwarders { 212.27.32.17; };

// Indique que le port 53 est le port d'échange entre les serveurs DNS
// Recommandé lorsque l'on traverse un Firewall.

query-source address * port 53;

// Contient une liste des adresses dont le serveur acceptera ou
// refusera les requêtes :
// 127.0.0.0/8 Autorise localhost.
// !192.168.0.19 Interdit cette adresse.
// Autorise les réseaux 192.168.0.0/24 192.168.2.0/24 ...

Allow-query { 127.0.0.0/8; !192.168.0.19; 192.168.0.0/24; 192.168.2.0/24; 192.168.3.0/24; 192.168.4.0/24;};

// Indique un transfert de zones pour le DNS Slave.
allow-transfer { 192.168.0.5; };

// Indique le port en écoute pour les clients et les interfaces.
// Indiquer {*;}; pour écouter toutes les interfaces.

listen-on port 53 { 127.0.0.1; 192.168.0.1; };
};





// Zones locales, pour les résolutions propre à la machine.
zone "localhost" {
type master;
file "zone/db.localhost";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "zone/db.127.0.0.1";
allow-transfer { 127.0.0.1; };
notify no;
};

// Zone racine contenant les adresses des serveurs DNS racine d'internet.
// Je ne l'utilise pas car mes DNS ne sortent pas vers Internet.

// zone "." {
// type hint;
// file "zone/root.hints";
// };

// Zone de recherche pour le domaine alex.fr
zone "alex.fr" {
type master;
file "zone/db.alex.fr";
// Autorise la mise à jour du fichier "db.alex.fr" avec la clef.
allow-update { key mykey; };
// Indique le transfert de zone pour le DNS Slave.
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine alex.fr
zone "0.168.192.in-addr.arpa" {
type master;
file "zone/db.alex.fr.rev";
// Autorise la mise à jour du fichier "db.alex.fr.rev" avec la clef.
allow-update { key mykey; };
// Indique le transfert de zone pour le DNS Slave.
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine dmz.alex.fr
// Il n'y aura pas de mise à jour dynamique DHCP pour cette zone.

zone "dmz.alex.fr" {
type master;
file "zone/db.dmz.alex.fr";
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine dmz.alex.fr
// Il n'y aura pas de mise à jour dynamique DHCP pour cette zone.
zone "1.168.192.in-addr.arpa" {
type master;
file "zone/db.dmz.alex.fr.rev";
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine compta.alex.fr
zone "compta.alex.fr" {
type master;
file "zone/db.compta.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine compta.alex.fr
zone "2.168.192.in-addr.arpa" {
type master;
file "zone/db.compta.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine etude.alex.fr
zone "etude.alex.fr" {
type master;
file "zone/db.etude.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine etude.alex.fr
zone "3.168.192.in-addr.arpa" {
type master;
file "zone/db.etude.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine methode.alex.fr
zone "methode.alex.fr" {
type master;
file "zone/db.methode.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};


// Zone de recherche inversée pour le domaine methode.alex.fr
zone "4.168.192.in-addr.arpa" {
type master;
file "zone/db.methode.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

























include "/etc/bind/named.conf.options";
Contenu du fichier
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
pid-file "/var/run/bind/run/bind.pid";

// Permet de masquer la version de BIND.
version "SECRET";

// Indique les serveurs vers lesquelles les requêtes seront
// retransmissent si votre serveur DNS ne peut répondre.

# forward first;
# forwarders { 212.27.32.17; };

// Indique que le port 53 est le port d'échange entre les serveurs DNS.
// Recommandé lorsque l'on traverse un Firewall.

query-source address * port 53;

// Contient une liste des adresses dont le serveur acceptera ou
// refusera les requêtes :
// 127.0.0.0/8 Autorise localhost.
// !192.168.0.19 Interdit cette adresse.
// Autorise les réseaux 192.168.0.0/24 192.168.2.0/24 ...

Allow-query { 127.0.0.0/8; !192.168.0.19; 192.168.0.0/24; 192.168.2.0/24; 192.168.3.0/24; 192.168.4.0/24;};

// Indique un transfert de zones pour le DNS Slave.
allow-transfer { 192.168.0.5; };

// Indique le port en écoute pour les clients et les interfaces.
// Indiquer {*;}; pour écouter toutes les interfaces.

listen-on port 53 { 127.0.0.1; 192.168.0.1; };
};
Fin de/etc/bind/named.conf.options

// Zones locales, pour les résolutions propre à la machine.
zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
allow-transfer { 127.0.0.1; };
notify no;
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

// Zone racine contenant les adresses des serveurs DNS racine d'internet.
// Je ne l'utilise pas car mes DNS ne sortent pas vers Internet.

// zone "." {
// type hint;
// file "/etc/bind/db.root";
// };

include "/etc/bind/named.conf.local";
Contenu du fichier
/etc/bind/named.conf.local

// Zone de recherche pour le domaine alex.fr

zone "alex.fr" {
type master;
file "/etc/bind/db.alex.fr";
// Autorise la mise à jour du fichier "alex.fr.db" avec la clef.
allow-update { key mykey; };
// Indique le transfert de zone pour le DNS Slave.
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine alex.fr
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.alex.fr.rev";
// Autorise la mise à jour du fichier "db.alex.fr.rev" avec la clef.
allow-update { key mykey; };
// Indique le transfert de zone pour le DNS Slave.
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine dmz.alex.fr
// Il n'y aura pas de mise à jour dynamique DHCP pour cette zone.

zone "dmz.alex.fr" {
type master;
file "/etc/bind/db.dmz.alex.fr";
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine dmz.alex.fr
// Il n'y aura pas de mise à jour dynamique DHCP pour cette zone.
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.dmz.alex.fr.rev";
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine compta.alex.fr
zone "compta.alex.fr" {
type master;
file "/etc/bind/db.compta.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine compta.alex.fr
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.compta.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine etude.alex.fr
zone "etude.alex.fr" {
type master;
file "/etc/bind/db.etude.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};


// Zone de recherche inversée pour le domaine etude.alex.fr
zone "3.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.etude.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche pour le domaine methode.alex.fr
zone "methode.alex.fr" {
type master;
file "/etc/bind/db.methode.alex.fr";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};

// Zone de recherche inversée pour le domaine methode.alex.fr
zone "4.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.methode.alex.fr.rev";
allow-update { key mykey; };
allow-transfer { 192.168.0.5; };
notify yes;
};
Fin de /etc/bind/named.conf.local


Modifiez le fichier /etc/named.conf sur le Slave.

Modifiez le fichier /etc/bind/named.conf sur le Slave.

// Déclaration de la clef en incluant directement le fichier clef.
include "/etc/rndc.key";

// Déclaration de la clef en incluant directement le fichier clef.
include "/etc/bind/rndc.key";


// Instructions de mise à jour depuis le DNS Master.
server 192.168.0.5 {
request-ixfr yes;
keys { mykey; };
};

// Autorise une mise à jour avec clef depuis le DNS Master.
controls {
inet 127.0.0.1 allow { 192.168.0.1; } keys { mykey; };
};

// Définit les options du serveur dans son ensemble.

 

Options {
directory "/var/named";
pid-file "/var/run/named/named.pid";

// Permet de masquer la version de BIND.
version "SECRET";
// Indique les serveurs vers lesquelles les requêtes seront
// retransmissent si votre serveur DNS ne peut répondre.

# forward first;
# forwarders { 192.168.0.1; 212.27.32.17; };

// Indique que le port 53 est le port d'échange entre les serveurs DNS
// Recommandé lorsque l'on traverse un Firewall.

query-source address * port 53;






// Contient une liste des adresses dont le serveur acceptera ou
// refusera les requêtes :
// 127.0.0.0/8 Autorise localhost.
// !192.168.0.19 Interdit cette adresse.
// Autorise les réseaux 192.168.0.0/24 192.168.2.0/24 ...
Allow-query { 127.0.0.0/8; !192.168.0.19; 192.168.0.0/24; 192.168.2.0/24; 192.168.3.0/24; 192.168.4.0/24;};

// Indique le port en écoute pour les clients et les interfaces.

// Indiquer {*;}; pour écouter toutes les interfaces.

listen-on port 53 { 127.0.0.1; 192.168.0.5; };

};

 

include "/etc/bind/named.conf.options";
Contenu du fichier
/etc/bind/named.conf.options

options {
directory "/var/cache/bind";
pid-file "/var/run/bind/run/bind.pid";

// Permet de masquer la version de BIND.
version "SECRET";

// Indique les serveurs vers lesquelles les requêtes seront
// retransmissent si votre serveur DNS ne peut répondre.

# forward first;
# forwarders { 192.168.0.1; 212.27.32.17; };

// Indique que le port 53 est le port d'échange entre les serveurs DNS.
// Recommandé lorsque l'on traverse un Firewall.
query-source address * port 53;

// Contient une liste des adresses dont le serveur acceptera ou
// refusera les requêtes :
// 127.0.0.0/8 Autorise localhost.
// !192.168.0.19 Interdit cette adresse.
// Autorise les réseaux 192.168.0.0/24 192.168.2.0/24 ...
Allow-query { 127.0.0.0/8; !192.168.0.19; 192.168.0.0/24; 192.168.2.0/24; 192.168.3.0/24; 192.168.4.0/24;};

// Indique le port en écoute pour les clients et les interfaces.

// Indiquer {*;}; pour écouter toutes les interfaces.

listen-on port 53 { 127.0.0.1; 192.168.0.5; };

};
Fin de/etc/bind/named.conf.options


 

// Zones locales, pour les résolutions propre à la machine.
zone "localhost" {
type master;
file "zone/db.localhost";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "zone/db.127.0.0.1";
allow-transfer { 127.0.0.1; };
notify no;
};

// Zone racine contenant les adresses des serveurs DNS racine d'internet.
// Je ne l'utilise pas car mes DNS ne sortent pas vers Internet.

// zone "." {
// type hint;
// file "zone/root.hints";
// };

// Demande la mise à jour de la zone alex.fr depuis le DNS Master.
zone "alex.fr" {
type slave;
file "zone/db.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve alex.fr depuis le DNS Master.
zone "0.168.192.in-addr.arpa" {
type slave;
file "zone/db.alex.fr.rev";
masters {192.168.0.1;};

};

// Demande la mise à jour de la zone dmz.alex.fr depuis le DNS Master.
zone "dmz.alex.fr" {
type slave;
file "zone/db.dmz.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve dmz.alex.fr depuis le DNS Master.
zone "1.168.192.in-addr.arpa" {
type slave;
file "zone/db.dmz.alex.fr.rev";
masters {192.168.0.1;};

};

// Demande la mise a jour de la zone compta.alex.fr depuis le DNS Master.
zone "compta.alex.fr" {
type slave;
file "zone/db.compta.alex.fr";
masters {192.168.0.1; };
};

// Demande la mise à jour de la zone reverve compta.alex.fr depuis le DNS Master.
zone "2.168.192.in-addr.arpa" {
type slave;
file "zone/db.compta.alex.fr.rev";
masters {192.168.0.1; };
};

// Demande la mise a jour de la zone etude.alex.fr depuis le DNS Master.
zone "etude.alex.fr" {
type slave;
file "zone/db.etude.alex.fr";
masters {192.168.0.1; };
};

// Demande la mise à jour de la zone reverve etude.alex.fr depuis le DNS Master.
zone "3.168.192.in-addr.arpa" {
type slave;
file "zone/db.etude.alex.fr.rev";
masters {192.168.0.1; };
};

// Demande la mise a jour de la zone methode.alex.fr depuis le DNS Master.
zone "methode.alex.fr" {
type slave;
file "zone/db.methode.alex.fr";
masters {192.168.0.1; };
};

// Demande la mise à jour de la zone reverve methode.alex.fr depuis le DNS Master.
zone "4.168.192.in-addr.arpa" {
type slave;
file "zone/db.methode.alex.fr.rev";
masters {192.168.0.1; };
};





 

 

 

 

 

 

 

// Zones locales, pour les résolutions propre à la machine.
zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
allow-transfer { 127.0.0.1; };
notify no;
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

// Zone racine contenant les adresses des serveurs DNS racine d'internet.
// Je ne l'utilise pas car mes DNS ne sortent pas vers Internet.

// zone "." {
// type hint;
// file "/etc/bind/db.root";
// };

include "/etc/bind/named.conf.local";
Contenu du fichier
/etc/bind/named.conf.local

// Demande la mise à jour de la zone alex.fr depuis le DNS Master.

zone "alex.fr" {
type slave;
file "/etc/bind/db.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve alex.fr depuis le DNS Master.
zone "0.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.alex.fr.rev";
masters {192.168.0.1;};
};



// Demande la mise à jour de la zone dmz.alex.fr depuis le DNS Master.
zone "dmz.alex.fr" {
type slave;
file "/etc/bind/db.dmz.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve dmz.alex.fr depuis le DNS Master.
zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.dmz.alex.fr.rev";
masters {192.168.0.1;};

};

// Demande la mise à jour de la zone compta.alex.fr depuis le DNS Master.
zone "compta.alex.fr" {
type slave;
file "/etc/bind/db.compta.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve compta.alex.fr depuis le DNS Master.
zone "2.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.compta.alex.fr.rev";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone etude.alex.fr depuis le DNS Master.
zone "etude.alex.fr" {
type slave;
file "/etc/bind/db.etude.alex.fr";
masters {192.168.0.1;};
};

// Demande la mise à jour de la zone reverve etude.alex.fr depuis le DNS Master.
zone "3.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.etude.alex.fr.rev";
masters {192.168.0.1;};
};

// Zone de recherche pour le domaine methode.alex.fr
zone "methode.alex.fr" {
type slave;
file "/etc/bind/db.methode.alex.fr";
masters {192.168.0.1;};
};


// Zone de recherche inversée pour le domaine methode.alex.fr
zone "4.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/db.methode.alex.fr.rev";
masters {192.168.0.1;};
};
Fin de /etc/bind/named.conf.local


 

Modifiez le fichier /etc/rndc.conf sur le Master.
options {
default-server 127.0.0.1;
default-key "mykey";
default-port 953;
};

server localhost {
key "mykey";
};
include "/etc/rndc.key";

Modifiez le fichier
/etc/rndc.conf sur le Slave.
options {
default-server localhost;
default-key "mykey";
};
server localhost { key "mykey"; };
include "/etc/rndc.key";

Modifiez le fichier

/var/named/zone/db.127.0.0.1
(initialement appelé named.local) il sera pratiquement le même pour le Master et le Slave.

Ajoutez simplement la ligne en rouge :

$TTL 3D
@ IN SOA alex.fr. root.alex.fr. (
    31082004 ; Serial
    28800    ; Refresh
    7200     ; Retry
    604800   ; Expire
    86400 )   ; Minimum TTL
    NS srv1.alex.fr.
localhost IN A 127.0.0.1




Conservez le fichier /var/named/zone/root.hints (initialement appelé named.ca)

Créez le fichier
/var/named/zone/db alex.fr sur le Master uniquement.

$ORIGIN .
$TTL 259200 ; 3 days
alex.fr IN SOA srv1.alex.fr. root.srv1.alex.fr. (
    31082015 ; serial
    28800    ; refresh (8 hours)
    7200     ; retry (2 hours)
    2419200  ; expire (4 weeks)
    86400    ; minimum (1 day)
)
NS srv1.alex.fr.
NS srv5.alex.fr.

$ORIGIN alex.fr.
localhost A 127.0.0.1
srv1 A 192.168.0.1
srv2 A 192.168.0.2
srv5 A 192.168.0.5
srv6 A 192.168.0.6
srv7 A 192.168.0.7
srv11 A 192.168.0.11
srv12 A 192.168.0.12
srv13 A 192.168.0.13

fw2 A 192.168.0.8
rt1 A 192.168.0.254
; aliases
intranet CNAME srv5.alex.fr.

Créez le fichier /var/named/zone/db.alex.fr.rev sur le Master uniquement.
$ORIGIN .
$TTL 259200 ; 3 days
0.168.192.in-addr.arpa IN SOA srv1.alex.fr. srv1.alex.fr. (
    31082012 ; serial
    10800    ; refresh (3 hours)
    3600     ; retry (1 hour)
    604800   ; expire (1 week)
    86400    ; minimum (1 day)
)
IN NS srv1.alex.fr.
IN NS srv5.alex.fr.

$ORIGIN 0.168.192.in-addr.arpa.
; adresses IP inverses
1 IN PTR srv1.alex.fr.
2 IN PTR srv2.alex.fr.
5 IN PTR srv5.alex.fr.
6 IN PTR srv6.alex.fr.
7 IN PTR srv7.alex.fr.
8 IN PTR fw2.alex.fr.
11 IN PTR srv11.alex.fr.
12 IN PTR srv12.alex.fr.
13 IN PTR srv13.alex.fr.

254 IN PTR rt1.alex.fr.

Créez le fichier 
/var/named/zone/db.dmz.alex.fr
sur le Master uniquement. Et copiez le, en le renommant db.votre_zone et ainsi de suite.
$ORIGIN .
$TTL 259200 ; 3 days
dmz.alex.fr IN SOA srv1.alex.fr. root.srv1.alex.fr. (
    31082015 ; serial
    28800    ; refresh (8 hours)
    7200     ; retry (2 hours)
    2419200  ; expire (4 weeks)
    86400    ; minimum (1 day)
)
NS srv1.alex.fr.
NS srv5.alex.fr.
; MX = serveur de Mail
MX 10 srv3.dmz.alex.fr.


$ORIGIN dmz.alex.fr.
localhost A 127.0.0.1
srv8 A 192.168.1.1
srv9 A 192.168.1.2
srv3 A 192.168.1.3
srv4 A 192.168.1.4
vpn A 192.168.1.5
fw1 A 192.168.1.10
; aliases
mail CNAME srv3.dmz.alex.fr.
smtp CNAME srv3.dmz.alex.fr.
www CNAME srv8.dmz.alex.fr.

Créez le fichier /var/named/zone/db.dmz.alex.fr.rev sur le Master uniquement. Et copiez le, en le renommant db.votre_zone.rev et ainsi de suite.

$ORIGIN .
$TTL 259200 ; 3 days
1.168.192.in-addr.arpa IN SOA srv1.alex.fr. srv1.alex.fr. (
    31082012 ; serial
    10800    ; refresh (3 hours)
    3600     ; retry (1 hour)
    604800   ; expire (1 week)
    86400    ; minimum (1 day)
)
IN NS srv1.alex.fr.
IN NS srv5.alex.fr.

$ORIGIN 1.168.192.in-addr.arpa.
; adresses IP inverses
1 IN PTR srv8.dmz.alex.fr.
2 IN PTR srv9.dmz.alex.fr.
3 IN PTR srv3.dmz.alex.fr.
4 IN PTR srv4.dmz.alex.fr.
5 IN PTR vpn.dmz.alex.fr.
10 IN PTR fw1.dmz.alex.fr.

 

Créez le fichier /etc/bind/rndc.conf sur le Master.
options {
default-server 127.0.0.1;
default-key "mykey";
default-port 953;
};

server localhost {
key "mykey";
};
include "/etc/bind/rndc.key";

Modifiez le fichier
/etc/bind/rndc.conf sur le Slave.
options {
default-server localhost;
default-key "mykey";
};
server localhost { key "mykey"; };
include "/etc/bind/rndc.key";

Modifiez le fichier
/etc/bind/db.127 il sera pratiquement le même pour le Master et le Slave.

Ajoutez simplement la ligne en rouge :

$TTL 604800
@ IN SOA localhost. root.localhost.(
    1 ; Serial
    604800   ; Refresh
    86400    ; Retry
    2419200  ; Expire
    604800 ) ; Negative Cache TTL
    NS srv1.alex.fr.
@ IN NS localhost.
1.0.0 IN PTR localhost.


Conservez le fichier /etc/bind/db.root

Créez le fichier /etc/bind/db.alex.fr sur le Master uniquement.

$ORIGIN .
$TTL 259200 ; 3 days
alex.fr IN SOA srv1.alex.fr. root.srv1.alex.fr. (
    31082015 ; serial
    28800    ; refresh (8 hours)
    7200     ; retry (2 hours)
    2419200  ; expire (4 weeks)
    86400    ; minimum (1 day)

)
NS srv1.alex.fr.
NS srv5.alex.fr.

$ORIGIN alex.fr.
localhost A 127.0.0.1
srv1 A 192.168.0.1
srv2 A 192.168.0.2
srv5 A 192.168.0.5
srv6 A 192.168.0.6
srv7 A 192.168.0.7
srv11 A 192.168.0.11

srv12 A 192.168.0.12
srv13 A 192.168.0.13

fw2 A 192.168.0.8
rt1 A 192.168.0.254
; aliases
intranet CNAME srv5.alex.fr.


Créez le fichier /etc/bind/db.alex.fr.rev sur le Master uniquement.
$ORIGIN .
$TTL 259200 ; 3 days
0.168.192.in-addr.arpa IN SOA srv1.alex.fr. srv1.alex.fr. (
    31082012 ; serial
    10800    ; refresh (3 hours)
    3600     ; retry (1 hour)
    604800   ; expire (1 week)
    86400    ; minimum (1 day)

)
IN NS srv1.alex.fr.
IN NS srv5.alex.fr.

$ORIGIN 0.168.192.in-addr.arpa.
; adresses IP inverses
1 IN PTR srv1.alex.fr.
2 IN PTR srv2.alex.fr.
5 IN PTR srv5.alex.fr.
6 IN PTR srv6.alex.fr.
7 IN PTR srv7.alex.fr.
8 IN PTR fw2.alex.fr.
11 IN PTR srv11.alex.fr.
12 IN PTR srv12.alex.fr.
13 IN PTR srv13.alex.fr.

254 IN PTR rt1.alex.fr.

Créez le fichier 
/etc/bind/db.dmz.alex.fr sur le Master uniquement. Et copiez le, en le renommant db.votre_zone
et ainsi de suite.
$ORIGIN .
$TTL 259200 ; 3 days
dmz.alex.fr IN SOA srv1.alex.fr. root.srv1.alex.fr. (
    31082015 ; serial
    28800    ; refresh (8 hours)
    7200     ; retry (2 hours)
    2419200  ; expire (4 weeks)
    86400    ; minimum (1 day)
)
NS srv1.alex.fr.
NS srv5.alex.fr.
; MX = serveur de Mail
MX 10 srv3.dmz.alex.fr.


$ORIGIN dmz.alex.fr.
localhost A 127.0.0.1
srv8 A 192.168.1.1
srv9 A 192.168.1.2
srv3 A 192.168.1.3
srv4 A 192.168.1.4
vpn A 192.168.1.5
fw1 A 192.168.1.10
; aliases
mail CNAME srv3.dmz.alex.fr.
smtp CNAME srv3.dmz.alex.fr.
www
CNAME srv8.dmz.alex.fr.


Créez le fichier /etc/binddb.dmz.alex.fr.rev sur le Master uniquement. Et copiez le, en le renommant db.votre_zone.rev puis db.votre_zone.rev et ainsi de suite.

$ORIGIN .
$TTL 259200 ; 3 days
1.168.192.in-addr.arpa IN SOA srv1.alex.fr. srv1.alex.fr. (
    31082012 ; serial
    10800    ; refresh (3 hours)
    3600     ; retry (1 hour)
    604800   ; expire (1 week)
    86400    ; minimum (1 day)
)
IN NS srv1.alex.fr.
IN NS srv5.alex.fr.

$ORIGIN 1.168.192.in-addr.arpa.
; adresses IP inverses
1 IN PTR srv8.dmz.alex.fr.
2 IN PTR srv9.dmz.alex.fr.
3 IN PTR srv3.dmz.alex.fr.
4 IN PTR srv4.dmz.alex.fr.
5 IN PTR vpn.dmz.alex.fr.
10 IN PTR fw1.dmz.alex.fr.


Modifiez le fichier /etc/resolv.conf des serveurs DNS et des autres serveurs qui s'adresseront aux DNS dans la zone alex.fr.

search alex.fr local
nameserver 127.0.0.1
nameserver 192.168.0.1
nameserver 192.168.0.5


Pour les machines des autres zones qui n'utilisent pas DHCP modifiez le fichier 
/etc/resolv.conf de cette facon :

# Pour la zone compta.alex.fr par exemple.
search compta.alex.fr local
nameserver 192.168.0.1
nameserver 192.168.0.5

Vérifiez que le fichier
/etc/nsswitch.conf contient la ligne :
hosts: files dns

et que /etc/host.conf :
order hosts,bind
multi on

Vous pouvez aussi ajouter la liste de vos serveurs dans /etc/hosts

Configuration de dhcp-relay sur les routeurs

Installation des packages

Sur les routeurs :
dhcp-relay-3.0-1.rc14.rpm

Editez le script
/etc/init.d/dhcrelay
pour ajouter l'adresse du serveur DHCP et l'interface du coté du serveur DHCP :

...
# Define SERVERS with a list of one or more DHCP servers where
# DHCP packets are to be relayed to and from. This is mandatory.
#SERVERS="10.11.12.13 10.9.8.7"
SERVERS="192.168.0.1"

# Define OPTIONS with any other options to pass to the dhcrelay server. See dhcrelay(8) for available options and syntax.
#OPTIONS="-q -i eth0 -i eth1"
# l'option -q pour silencieux.
OPTIONS="-q"
...

Lancez le script : [root@
rt1 user]# /etc/init.d/dhcrelay start



 

Sur les routeurs :
dhcp3-relay_3.0+3.0.1rc14_i386.deb

Répondez à l'assistant :







Ce qui modifira le fichier /etc/default/dhcp3-relay :

# Defaults for dhcp3-relay initscript
# sourced by /etc/init.d/dhcp3-relay
# installed at /etc/default/dhcp3-relay by the maintainer scripts
#
# This is a POSIX shell fragment
#
# What servers should the DHCP relay forward requests to?
SERVERS="192.168.0.1"

# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
INTERFACES="eth0"

# Additional options that are passed to the DHCP relay daemon?
OPTIONS="-q"

Configuration des Clients DHCP

Sous Linux :

vous devez installer uniquement dhcp-commun-3.0-1.rc13.4.rpm et dhcp-client-3.0-1.rc13.4.rpm

Copiez ensuite le fichier d'exemple 
/usr/share/doc/dhcp-client-3.0/dhclient.conf fournit à l'installation vers /etc/dhclient-eth0.conf (Adaptez selon le nom de votre interface réseau)

Editez le pour modifier :

vous devez installer uniquement dhcp3-common_3.0+3.0.1rc13-1_i386.deb et dhcp3-client_3.0+3.0.1rc13-1_i386.deb

Editez le fichier
/etc/dhcp3/dhclient.conf pour modifier :







# Détermine le temps maximum entre le moment ou le client
# demande une adresse et le moment de réponse. Si personne
# ne lui répond au bout de x secondes, le client prendra
# une adresse existante dans sa base
# /var/lib/dhcp/dhclient-eth0.leases
timeout 60;

# Détermine l'intervalle de temps ou le client doit
# rechercher un serveur DHCP.
retry 60;

# Détermine la durée avant que le client redemande son
# ancienne adresse au lieu de prendre une nouvelle
# après un reboot de la machine.
reboot 10;

# Détermine le temps d'une réponse de la part d'un serveur
# après une demande d'adresse.
initial-interval 5;

# Dans le cas ou vous utilisez plusieurs serveurs DHCP,
# lorsque votre client lance une demande, il attend x secondes
# avant de recommencer si personne lui a répondu.
select-timeout 5;

# Indique le chemin du fichier de configuration dhclient-script.
script "/sbin/dhclient-script";

# Indique le chemin du fichier de configuration dhclient-script.
script "/etc/dhcp3/dhclient-script";



# Informations sur le client qui seront envoyées au serveur DHCP.
# son hostname et sa MAC
send host-name "momclient.alex.fr";
send dhcp-client-identifier 00:0C:29:E2:4B:28;
send dhcp-lease-time 3600;

# Informations demandées au serveur DHCP.
request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, netbios-name-servers, netbios-scope;
require subnet-mask, domain-name-servers;
# Si vous utilisez plusieurs serveurs DHCP, vous ne voulez
# pas qu'ils donnent 2 fois la même adresse. Cette option
# demande de rejeter les offres du serveur indiqué.
# reject 192.168.0.1x;

# Permet en cas de non réponse du serveur DHCP d'utiliser
# les paramètres suivant.
lease {
  interface "eth0";
  option host-name "momclient.alex.fr";
  
option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.8;
  option domain-name-servers 192.168.0.1, 192.168.0.5;
}


Vérifiez le contenu du fichier /etc/sysconfig/network sur vos clients.
HOSTNAME=momclient.alex.fr
NETWORKING=yes

Modifiez le fichier 
/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
MII_NOT_SUPPORTED=yes

Relancez l'interface réseau :
[root@momclient user]# 
/etc/init.d/network restart

Vérifiez le contenu du fichier /etc/network/interfaces sur vos clients.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Relancez l'interface réseau :

momclient:/home/user# 
/etc/init.d/networking restart





Vérifiez dans le fichier /var/lib/dhcp/dhcpd.leases du serveur DHCP si la transaction a bien été effectuée.

lease 192.168.0.247 {
  starts 2 2004/03/16 17:45:32;
  ends 2 2004/03/16 18:45:32;
  tstp 2 2004/03/16 18:45:32;
  binding state free;
  hardware ethernet 00:0C:29:E2:4B:28;
  
uid "\000\014)\342K(";
  client-hostname "momclient.alex.fr";
}

Sinon lancez manuellement la commande suivante sur le client et comparez le résultat sur le serveur.

[root@momclient
user]# dhclient


Sous Windows :
Démarrer > Paramètres > Connexion réseau > Propriété sur votre interface > Propriétés sur "Protocole Internet (TCP/IP)" > cochez "Obtenir une adresse IP automatiquement" et "Obtenir les adresses des serveurs DNS
automatiquement".




Source : http://www.faqs.org/docs/securing/soft-netwrkng.html


Dernière modification : 09/06/05

 

Copyright © 04/02/2004, Arnofear

Contrat Creative Commons Ce document est publié sous licence Creative Commons
Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique :
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.fr