Project

General

Profile

Tâche #4918

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

Proposition d'évolution eole-dhcp

Added by Philippe Carre almost 7 years ago. Updated about 5 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
01/05/2015
Due date:
% Done:

100%

Estimated time:
6.00 h
Spent time:
Remaining (hours):
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 View (6.38 KB) Philippe Carre, 02/19/2013 03:15 PM

dhcpd.conf View (1.68 KB) Philippe Carre, 02/19/2013 03:15 PM

verif_ip.py View (1.36 KB) Philippe Carre, 02/19/2013 03:15 PM

gen_dhcp (3.56 KB) Philippe Carre, 02/19/2013 03:15 PM

gen_dhcp (3.73 KB) Philippe Carre, 07/04/2013 10:11 AM

gen_dhcp.diff View (446 Bytes) Philippe Carre, 07/04/2013 10:11 AM

config.eol (38 KB) Philippe Carre, 01/05/2015 04:16 PM

exxl-dhcp_1.0.deb (5.81 KB) Philippe Carre, 01/05/2015 04:16 PM


Related issues

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

Associated revisions

Revision b1637e6b (diff)
Added by Benjamin Bohard about 5 years ago

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

Modifications destinées à être abandonnées.

Ref #4918

Revision 4d954077 (diff)
Added by Benjamin Bohard about 5 years ago

Harmonisation des configurations dhcp.

Ajout de variables globales et pour chaque subnet.

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

History

#1 Updated by Joël Cuissinat almost 7 years ago

  • Status changed from Nouveau to A étudier
  • Target version set to Mises à jour 2.3.9

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

#2 Updated by Luc Bourdot almost 7 years ago

  • Target version changed from Mises à jour 2.3.9 to Mises à jour 2.3.10

#3 Updated by Luc Bourdot almost 7 years ago

  • Due date set to 03/29/2013
  • Start date set to 03/25/2013

#4 Updated by Luc Bourdot almost 7 years ago

  • Due date deleted (03/29/2013)

#5 Updated by Joël Cuissinat over 6 years ago

  • Target version changed from Mises à jour 2.3.10 to 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 Updated by Philippe Carre over 6 years ago

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 Updated by Joël Cuissinat over 6 years ago

  • Target version changed from Mises à jour 2.3.11 to Mises à jour 2.3.12

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

#8 Updated by Laurent Flori almost 6 years ago

  • Target version changed from Mises à jour 2.3.12 to Mises à jour 2.3.13

#9 Updated by Joël Cuissinat over 5 years ago

  • Target version deleted (Mises à jour 2.3.13)

#10 Updated by Joël Cuissinat over 5 years ago

  • Tracker changed from Evolution to Tâche
  • Start date deleted (03/25/2013)
  • Parent task set to #8797

#11 Updated by Daniel Dehennin over 5 years ago

  • Status changed from A étudier to Nouveau

#12 Updated by Joël Cuissinat about 5 years ago

  • Estimated time set to 6.00 h
  • Remaining (hours) set to 6.0
  • Distribution changed from EOLE 2.3 to EOLE 2.4

#13 Updated by Benjamin Bohard about 5 years ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Benjamin Bohard
  • Start date set to 01/05/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 Updated by Philippe Carre about 5 years ago

#15 Updated by Benjamin Bohard about 5 years ago

  • % Done changed from 0 to 70
  • Remaining (hours) changed from 6.0 to 2.0

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

#16 Updated by Philippe Carre about 5 years ago

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 Updated by Philippe Carre about 5 years ago

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 Updated by Benjamin Bohard about 5 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 70 to 100
  • Remaining (hours) changed from 2.0 to 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 Updated by Benjamin Bohard about 5 years ago

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 Updated by Benjamin Bohard about 5 years ago

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

#21 Updated by Thierry Bertrand about 5 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.25 to 0.0

Also available in: Atom PDF