Projet

Général

Profil

Scénario #28108

dhcp - cohérence de la configuration avec l'option interdire_hotes_inconnus

Ajouté par équipe eole Academie d'Orléans-Tours il y a presque 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
25/11/2019
Echéance:
13/12/2019
% réalisé:

100%

Points de scénarios:
3.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

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

Tâche #29337: Vérifier le fonctionnement en 2.6FerméBenjamin Bohard

Tâche #29340: Corriger la méthode add_option pour éviter les régressionsFerméBenjamin Bohard


Demandes liées

Lié à Distribution EOLE - Tâche #29306: Validation du scénario : dhcp - cohérence de la configuration avec l'option interdire_hotes_inconnus Fermé 25/11/2019

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/2019 supprimé
  • 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.

Formats disponibles : Atom PDF