Projet

Général

Profil

Tâche #4918

Distribution EOLE - Scénario #8797: Évolutions DHCP

Proposition d'évolution eole-dhcp

Ajouté par Philippe Carre il y a environ 11 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
05/01/2015
Echéance:
% réalisé:

100%

Temps estimé:
6.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

Fallait pas nous former à Python et Creole...
Résultat, proposition d'évolution du service DHCP.
Plutôt que de gérer plusieurs réseaux et une seule plage à l'intérieur de ceux-ci, il me semble plus logique de ne gérer qu'un seul réseau et plusieurs plages (pool). Chaque plage autorise ou non les postes inconnus, avec un bail réglable. ça nous permettra par ex. de proposer une ou plusieurs plages en adressage statique, et qq adresses pour des postes nomades.
J'ajoute également la possibilité de déclarer, en multi, des serveurs WINS, NTP et maintenant DNS. Ces valeurs sont communes à toutes les plages.
Donc, modification du dico 20_dhcp.xml et du template dhcpd.conf
Dans le dico, j'utilise la fonction personnalisée valid_networks , du fichier verif_ip.py (merci à Christophe DEZE), qui vérifie que les adresse ip basse et haute appartiennent bien au réseau déclaré.
Enfin, j'ai modifié le script /usr/share/eole/ gen_dhcp :
- pour qu'il crée maintenant un fichier d'adresses statiques par plage d'adresses.
- pour qu'il vérifie si l'adresse MAC est correctement écrite. Si une adresse mac est non valide, le reconfigure se termine sans erreur mais le serveur DHCP ne redémarre pas!

A vous de voir si ça vous convient.
A+

20_dhcp.xml Voir (6,38 ko) Philippe Carre, 19/02/2013 15:15

dhcpd.conf Voir (1,68 ko) Philippe Carre, 19/02/2013 15:15

verif_ip.py Voir (1,36 ko) Philippe Carre, 19/02/2013 15:15

gen_dhcp (3,56 ko) Philippe Carre, 19/02/2013 15:15

gen_dhcp (3,73 ko) Philippe Carre, 04/07/2013 10:11

gen_dhcp.diff Voir (446 octets) Philippe Carre, 04/07/2013 10:11

config.eol (38 ko) Philippe Carre, 05/01/2015 16:16

exxl-dhcp_1.0.deb (5,81 ko) Philippe Carre, 05/01/2015 16:16


Demandes liées

Lié à ead - Evolution #5176: empecher la saisie de mauvais formats d'adresses mac dans l'EAD Fermé 20/05/2013 24/05/2013
Lié à Documentations - Tâche #10202: Le fonctionnement du dhcp est harmonisé entre les modules EOLE et MEDDE pour la 2.4.1. Fermé 08/01/2015

Révisions associées

Révision b1637e6b (diff)
Ajouté par Benjamin Bohard il y a plus de 9 ans

Version temporaire des dictionnaire, template et script avant réévaluation des besoins.

Modifications destinées à être abandonnées.

Ref #4918

Révision 4d954077 (diff)
Ajouté par Benjamin Bohard il y a plus de 9 ans

Harmonisation des configurations dhcp.

Ajout de variables globales et pour chaque subnet.

Ref #4918
Ref #8405
Ref #8558
Ref #8485

Historique

#1 Mis à jour par Joël Cuissinat il y a environ 11 ans

  • Statut changé de Nouveau à A étudier
  • Version cible mis à Mises à jour 2.3.9

La compatibilité ascendante avec l'existant est-elle assurée ?
Sinon ce sera pour la 2.4 :)

#2 Mis à jour par Luc Bourdot il y a environ 11 ans

  • Version cible changé de Mises à jour 2.3.9 à Mises à jour 2.3.10

#3 Mis à jour par Luc Bourdot il y a environ 11 ans

  • Echéance mis à 29/03/2013
  • Début mis à 25/03/2013

#4 Mis à jour par Luc Bourdot il y a environ 11 ans

  • Echéance 29/03/2013 supprimé

#5 Mis à jour par Joël Cuissinat il y a presque 11 ans

  • Version cible changé de Mises à jour 2.3.10 à Mises à jour 2.3.11

Je ne m'embarque pas tout seul dans d'aussi grosses modifications...

Il faudrait en discuter ensemble... sur IRC par exemple !

#6 Mis à jour par Philippe Carre il y a presque 11 ans

ok. Je vous recontacterai.

Sinon, pas de pb de compatibilité noté.
Le fichier précédent network_netmask.txt est remplacé par ipbasse_iphaute.txt. La seule contrainte concernerait des postes ayant une IP qui se retrouverait hors nouvelle plage. Depuis l'EAD , ces baux en cours sont réaffectés en adressage statique.

Par contre, mon fichier gen_dhcp n'est pas correct : la méthode de comparaison des adresses IP (pour vérifier si elles se trouvent dans la plage) n'était pas fiable. Dans le nouveau script, je passe les ip avec format classique en format numérique (inet_aton(ip)), avant comparaison.

En p.j. le nouveau gen_dhcp, et le diff.

A suivre...

#7 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible changé de Mises à jour 2.3.11 à Mises à jour 2.3.12

A étudier lors de notre prochaine rencontre prévue pour novembre :)

#8 Mis à jour par Laurent Flori il y a environ 10 ans

  • Version cible changé de Mises à jour 2.3.12 à Mises à jour 2.3.13

#9 Mis à jour par Joël Cuissinat il y a presque 10 ans

  • Version cible Mises à jour 2.3.13 supprimé

#10 Mis à jour par Joël Cuissinat il y a plus de 9 ans

  • Tracker changé de Evolution à Tâche
  • Début 25/03/2013 supprimé
  • Tâche parente mis à #8797

#11 Mis à jour par Daniel Dehennin il y a plus de 9 ans

  • Statut changé de A étudier à Nouveau

#12 Mis à jour par Joël Cuissinat il y a plus de 9 ans

  • Temps estimé mis à 6.00 h
  • Restant à faire (heures) mis à 6.0
  • Distribution changé de EOLE 2.3 à EOLE 2.4

#13 Mis à jour par Benjamin Bohard il y a plus de 9 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Benjamin Bohard
  • Début mis à 05/01/2015

La modification réellement structurante est le passage de subnets aux pools.
Les modifications apportées sont utilisées en production.
L'enjeu est donc de combiner les deux approches (multiplicité des subnets et multiplicité des pools) sans entraîner de régressions.

#14 Mis à jour par Philippe Carre il y a plus de 9 ans

#15 Mis à jour par Benjamin Bohard il y a plus de 9 ans

  • % réalisé changé de 0 à 70
  • Restant à faire (heures) changé de 6.0 à 2.0

Les modifications seront à réévaluer en fonction d'un nouvel examen des cas d'utilisation au MEDDE.

#16 Mis à jour par Philippe Carre il y a plus de 9 ans

Au final, on s'adapte à l'architecture EN. C'est à dire :
  • utilisation de subnets (valeurs multi) pour l'adressage statique
  • une plage d'adresse, par subnet, pour l'adressage dynamique

Les valeurs renvoyées existantes sont :
Nom de domaine
Adresse IP du routeur
Adresse IP du DNS

Pour le MEDDE, il manque (valeurs non obligatoires) :
Serveur WINS principal
Serveur WINS secondaire
Serveur NTP

A voir : possibilité de changer la durée de bail pour la plage "dynamique"

Et, question subsidiaire : comment faire pour déclarer un subnet uniquement "statique", sans plage dynamique (à priori ce n'est pas possible) ?

#17 Mis à jour par Philippe Carre il y a plus de 9 ans

Précisions :
les valeurs WINS 1 & 2 , NTP sont propre à chaque subnet.
Pour un subnet , on trouverait :
Nom de domaine
Adresse IP du routeur
Adresse IP du DNS

Serveur WINS principal
Serveur WINS secondaire
Serveur NTP

#18 Mis à jour par Benjamin Bohard il y a plus de 9 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 70 à 100
  • Restant à faire (heures) changé de 2.0 à 0.25

Les variables WINS primaire et secondaire ont été ajoutées.
Les DNS, WINS, NTP peuvent être globaux ou spécifiques à un subnet.
Le routeur est spécifique au subnet.

#19 Mis à jour par Benjamin Bohard il y a plus de 9 ans

Pour mettre en place un subnet sans plage d'adresse dynamique, il faudrait conditionner l'ajout de la directive //range//.
Pour rétro-compatibilité, cette directive serait ajoutée par défaut.

#20 Mis à jour par Benjamin Bohard il y a plus de 9 ans

On en reste donc à la version sans l'option "pas de plage dynamique".

#21 Mis à jour par Thierry Bertrand il y a plus de 9 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.25 à 0.0

Formats disponibles : Atom PDF