Scénario #28108
dhcp - cohérence de la configuration avec l'option interdire_hotes_inconnus
100%
Description
Bonjour,
La conf dhcp générée avec cette option a "oui" fait que l'on obtient dans le fichier de conf dhcp :
range 172.19.166.129 172.19.166.254; deny unknown-clients;
Sauf que avec un hôte déclaré dans /etc/dhcp/fixed-address/172.19.166.128_255.255.255.128.txt
On obtient l'erreur
2019-04-25T10:00:58.135070+02:00 amon-0451070u.clg-montesquieu-orleans.lan dhcpd: Dynamic and static leases present for 172.19.166.136. 2019-04-25T10:00:58.135082+02:00 amon-0451070u.clg-montesquieu-orleans.lan dhcpd: Remove host declaration wifi-dlink-8 or remove 172.19.166.136
En théorie, l'option deny unknown-clients ne doit pas être appelé avec un range pouvant entrer en conflit avec les IP déclarés. Sauf que le range est une valeur obligatoire dans la conf eole.
De notre coté, pour faire simple, j'ai fait un patch qui ne déclare le range que si interdire_hotes_inconnus == non
--- distrib/dhcpd.conf 2016-04-28 17:27:26.000000000 +0200 +++ modif/dhcpd.conf 2019-04-25 10:44:59.992660996 +0200 @@ -159,9 +159,10 @@ %if not %%lease_max == None max-lease-time %%lease_max; %end if - range %%range_ip[0] %%range_ip[1]; %if %%subnets[%%subnet]['ranges'][%%range_ip]['restriction'] == 'oui' deny unknown-clients; + %else + range %%range_ip[0] %%range_ip[1]; %end if %end if %end for
Je ne sais pas si il y a un/des cas où il est souhaitable/utile que le range puissent être déclaré si cette option est activé. J'aurais dit que non à priori, la réservation d'ip ne nécessitant pas le " deny unknown-clients;"
Solutions à mettre en œuvre¶
- Essayer de reproduire le problème sur EOLE >= 2.6.2 car le template a été entièrement réécrit entre 2.6.1 et 2.6.2
- Si toujours d'actualité, proposer et appliquer une correction pour EOLE >= 2.6.2
- Vérifier que cela n'entraîne pas de régression (EAD2/EAD3 par exemple)
Critères d'acceptation¶
- Le problème est corrigé sur EOLE >= 2.6.2
Sous-tâches
Demandes liées
Historique
#1 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Projet changé de eole-common à eole-dhcp
#2 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Tracker changé de Demande à Scénario
- Début
25/04/2019supprimé - Points de scénarios mis à 1.0
#3 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Echéance mis à 13/12/2019
- Version cible mis à Prestation Cadoles 48-50
- Début mis à 25/11/2019
- Points de scénarios changé de 1.0 à 3.0
#4 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Description mis à jour (diff)
- Release mis à EOLE 2.6.2.2
#5 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Description mis à jour (diff)
#6 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Lié à Tâche #29306: Validation du scénario : dhcp - cohérence de la configuration avec l'option interdire_hotes_inconnus ajouté
#7 Mis à jour par Benjamin Bohard il y a plus de 4 ans
À partir de la 2.6, la configuration générée est différente. Par exemple, avec gestion par l’ead2, pour deux range déclarés dans la configuration, l’un des deux refusant les hôtes inconnus, cette interdiction est implémentée de la façon suivante :
subnet 10.1.3.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 10.1.3.1; option domain-name "dompedago.etb1.lan"; option domain-name-servers 10.1.3.1; option netbios-name-servers 10.1.3.5; option netbios-dd-server 10.1.3.5; option netbios-node-type 8; # plages d'ip pool { option routers 10.1.3.1; option domain-name "dompedago.etb1.lan"; option domain-name-servers 10.1.3.1; option wpad-url "http://wpad.etb1.lan/wpad.dat\n"; range 10.1.3.50 10.1.3.100; deny members of "pool-10.1.2.50-10.1.2.100"; default-lease-time 36000; max-lease-time 144000; } } subnet 10.1.2.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 10.1.2.1; option domain-name "dompedago.etb1.lan"; option domain-name-servers 10.1.2.1; option netbios-name-servers 10.1.3.5; option netbios-dd-server 10.1.3.5; option netbios-node-type 8; # plages d'ip pool { option routers 10.1.2.1; option domain-name "dompedago.etb1.lan"; option domain-name-servers 10.1.2.1; option wpad-url "http://wpad.etb1.lan/wpad.dat\n"; range 10.1.2.50 10.1.2.100; allow members of "pool-10.1.2.50-10.1.2.100"; default-lease-time 36000; max-lease-time 144000; } }
Plutôt que d’utiliser la directive deny unknown_host, on autorise les hôtes renseignés dans le fichier construit dynamiquement.
range 10.1.2.50 10.1.2.100; allow members of "pool-10.1.2.50-10.1.2.100";
#8 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Assigné à mis à Benjamin Bohard
#9 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Statut changé de Nouveau à Terminé (Sprint)
OK, d'accord avec l'analyse.