ISC-DHCP-SERVER
Aller à la navigation
Aller à la recherche
Présentation
- Le service DHCP permet de configurer automatiquement les paramètres IP des équipements sur le réseau.
- Le programme ISC DHCP est fournit par l'Internet Systems Consortium et peut jouer divers rôles :
- Rôle serveur, pour gérer les ressources IPs et les affecter aux différents terminaux.
- Rôle client, pour interroger un serveur DHCP tiers en vu de récupérer la configuration IP du terminal sur lequel il est installé.
- Rôle serveur relai, pour transférer les requêtes DHCP à un serveur tiers faisant autorité sur le réseau.
Configuration de base
- Il faut indiquer au service sur quel(s) port(s) il doit écouter les requêtes DHCP.
- Pour cela, il faut éditer le fichier /etc/default/isc-dhcp-server et renseigner la ligne suivante avec le(s) nom(s) de(s) interface(s).
INTERFACESv4="ens19"
Déclaration d'un sous-réseau
- La configuration du service DHCP ISC est définie dans le fichier /etc/dhcp/dhcpd.conf.
- On définit d'abord les baux DHCP, c'est la durée d'attribution et de réservation d'une adresse IP à une machine sur le réseau :
default-lease-time 14400; max-lease-time 28800;
- On va indiquer au service qu'il fait autorité sur le réseau. En effet, il est possible d'avoir des serveurs DHCP relais.
authoritative;
- Un même serveur DHCP peut attribuer des adresses IP à un ou plusieurs réseaux. Nous allons déclarer notre réseau dans le fichier de configuration :
subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "net.glx"; option domain-name-servers 192.168.1.8; range 192.168.1.100 192.168.1.130; option routers 192.168.1.254; }
- Dans le cas de configuration présenté ci-dessus, notre serveur DHCP attribuera des adresses ip allant de 192.168.1.100 jusqu'à 192.168.1.130. On indique également quelques paramètres fondamentaux comme l'adresse du serveur de DNS (option domain-name-servers) ainsi que celui de la passerelle par défaut (option routers).
- Au final, notre fichier de configuration ressemble à ceci :
default-lease-time 14400; max-lease-time 28800; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "net.glx"; option domain-name-servers 192.168.1.8; range 192.168.1.100 192.168.1.130; option routers 192.168.1.254; }
- Pour appliquer les paramètres il est nécessaire de redémarrer le service :
|
|
IP fixe
- Il est possible de distribuer la même adresse IP pour un équipement donné. Pour cela, il faudra faire une association entre l'adresse IP voulue et l'adresse mac de la carte réseau de l'équipement.
- Cette configuration s'effectue dans le fichier de configuration /etc/dhcp/dhcpd.conf dans le subnet auquel appartient l'adresse IP.
- Dans notre exemple, nous souhaitons ici attribué l'adresse IP 192.168.1.50 à un équipement ayant pour adresse mac c0:a1:d7:45:56:74.
- Cette affectation s'effectue avec le paramètre host :
host PC20151 { hardware ethernet c0:a1:d7:45:56:74; fixed-address 192.168.1.50; }
- Au final, voici ce que cela nous donne dans notre fichier de configuration :
option domain-name "net.glx";
option domain-name-servers 192.168.1.8;
default-lease-time 14400;
max-lease-time 28800;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.130;
option routers 192.168.1.254;
option broadcast-addres 192.168.1.255;
host PC20151 {
hardware ethernet c0:a1:d7:45:56:74;
fixed-address 192.168.1.50;
}
}
- Pour appliquer les paramètres il est nécessaire de redémarrer le service :
|
|
BootP
Vous devez disposer d'un serveur TFTP sur votre machine. Dans cet exemple, il est installé sur la même machine que le service DHCP |
- Bootstrap Protocol permet d'indiquer à une machine - pendant sa phase de démarrage et de négociation DHCP - un fichier à exécuter au démarrage.
- Ce fichier peut être un fichier de configuration par exemple. Nous prendrons ici l'exemple d'un commutateur réseau devant charger un fichier de configuration au démarrage.
- Notre commutateur a pour adresse IP 192.168.1.10 et adresse mac 8c:de:45:fa:23:00. Le fichier de configuration à charger s'appelle sw20147_startup.bkp.
- Dans les options générales du subnet nous allons indiquer les deux paramètres suivants :
allow bootp; allow booting;
- Puis nous allons déclarer notre commutateur comme un hôte spécifique avec le paramètre host :
host SW20147 { filename "sw20147_startup.bkp"; next-server 10.46.0.254; hardware ethernet 8c:de:45:fa:23:00; fixed-address 192.168.1.10; }
- Au final, le fichier de configuration /etc/dhcp/dhcpd.conf ressemble à ceci :
default-lease-time 14400; max-lease-time 28800; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "net.glx"; option domain-name-servers 192.168.1.8; range 192.168.1.100 192.168.1.130; option routers 192.168.1.254; allow bootp; allow booting; host PC20151 { hardware ethernet c0:a1:d7:45:56:74; fixed-address 192.168.1.50; } host SW20147 { filename "sw20147_startup.bkp"; next-server 10.46.0.254; hardware ethernet 8c:de:45:fa:23:00; fixed-address 192.168.1.10; } }
- Pour appliquer les paramètres il est nécessaire de redémarrer le service :
|
|
Fuseau horaire
option PCode code 100 = text; option TCode code 101 = text; option PCode "CET-1CEST,M3.5.0,M10.5.0/3"; option TCode "Europe/Paris";
Vous devez disposer d'un serveur NTP sur votre machine. Dans cet exemple, il est installé sur la même machine que le service DHCP |
rDNS
Vous devez disposer d'un serveur de DNS sur lequel vous avez des droits d'administration. Cette configuration s'applique pour un serveur de DNS BIND9. |
- Sur le serveur de DNS, il est nécessaire de modifier le fichier de configuration /etc/apparmor.d/local/usr.sbin.named et d'y ajouter les deux lignes suivantes :
/etc/bind/** rw, /etc/bind/ rw,
- On rafraîchit la lecture du fichier afin d'appliquer les modifications :
|
|
- rndc.conf :
key "rndc-key" { algorithm hmac-md5; secret "Ma clé Ultra Secrète !!!"; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; };
- /etc/bind/name.conf.local :
zone "mobi.net.glx" { type master; file "/etc/bind/db.mobi.net.glx"; notify yes; allow-query { }; allow-update { key rndc-key; }; allow-transfer { 10.46.0.47; 5.39.80.98; 2001:41d0:8:9262::1; }; }; zone "11.46.10.in-addr.arpa" { type master; notify yes; file "/etc/bind/db.11.46.10"; allow-query { }; allow-update { key rndc-key; }; allow-transfer { 5.39.80.98; 2001:41d0:8:9262::1; }; };
- /etc/bind/name.conf :
key rndc-key { algorithm hmac-md5; secret "Ma clé Ultra Secrète !!!"; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; }; inet ::1 port 953 allow { ::1; } keys { rndc-key; }; inet 10.46.0.46 port 953 allow { 127.0.0.1; } keys { rndc-key; }; inet fd00:10:46::46 port 953 allow { ::1; } keys { rndc-key; }; }; logging { };
|
|
- /etc/dhcp/rndc.key :
key "rndc-key" { algorithm hmac-md5; secret "Ma clé Ultra Secrète !!!"; };
- /etc/dhcp/dhcpd.conf :
ddns-update-style interim; subnet 10.46.0.0 netmask 255.255.255.0 { ddns-updates on; ddns-domainname "sys.net.glx"; ddns-rev-domainname "in-addr.arpa"; include "/etc/dhcp/rndc.key"; zone mobi.net.glx { primary 10.46.0.46; key rndc-key; } zone 11.46.10.in-addr.arpa { primary 10.46.0.46; key rndc-key; } }
|
|