WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:kea-dhcp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:kea-dhcp [2017/04/29 21:23]
gingerbread [Administration de la DB]
wiki:services:kea-dhcp [2021/03/12 14:00] (Version actuelle)
lionofinterest
Ligne 1: Ligne 1:
 ===== DHCP ===== ===== DHCP =====
  
-<WRAP center round alert 60%+<WRAP important
-Kea est a relancé dès que la VM SQL est éteinte+Kea est à relancer dès que la VM SQL est éteinte : les services kea plantent et ne redémarrent pas seuls lorsque le SQL n'est plus joignable</WRAP>
-</WRAP>+
  
-<WRAP INFOWIP </WRAP>+<WRAP info> 
 +Les fichiers de configurations de Kea sont disponibles sur le [[http://gitlab.minet.net/adh6/kea|gitlab]] 
 +</WRAP>
  
 Nous utilisons [[http://kea.isc.org/wiki|ISC-KEA]], notamment car il permet l'enregistrement de réservations d'adresses IP directement depuis une base de donnée (MySQL, pgSQL), pour ne plus dépendre d'un [[http://gitlab.minet.net/adh5/dhcp-http-json|patch]] qui permettait au serveur ISC-DHCP d'obtenir les réservations depuis l'API JSON d'ADH5.  Nous utilisons [[http://kea.isc.org/wiki|ISC-KEA]], notamment car il permet l'enregistrement de réservations d'adresses IP directement depuis une base de donnée (MySQL, pgSQL), pour ne plus dépendre d'un [[http://gitlab.minet.net/adh5/dhcp-http-json|patch]] qui permettait au serveur ISC-DHCP d'obtenir les réservations depuis l'API JSON d'ADH5. 
Ligne 70: Ligne 71:
 apt install kea-admin apt install kea-admin
 </code> </code>
-Ce paquet debian installe dans '' /usr/share/kea-admin/scripts/'' un certain nombre de scripts d'administration pour Kea et sa base de donnée, notamment '' /usr/share/kea-admin/scripts/mysql/dhcpdb_create.mysql'' qui contient le schéma de la base de donnée utilisée par Kea (importer le fichier .mysql dans le MySQL MiNET pour initialiser la base utilisée par Kea), et un certain nombre de script de mise à jour de la base de donnée.+Ce paquet debian installe dans '' /usr/share/kea-admin/scripts/'' un certain nombre de scripts d'administration pour Kea et sa base de donnée, notamment '' /usr/share/kea-admin/scripts/mysql/dhcpdb_create.mysql'' qui contient le schéma de la base de donnée utilisée par Kea (importer le fichier .mysql dans le MySQL MiNET pour initialiser la base utilisée par Kea), et un certain nombre de script de mise à jour du schéma de la base de donnée (si jamais une maj de Kea change le schéma). 
 + 
 +=== Création des réservations d'hôtes à partir de la base d'ADH === 
 + 
 +Pour construire les réservations d'hôtes à partir de la base d'ADH de manière dynamique, nous remplaçons uniquement deux tables de la BDD de KEA par des vues faites à partir de champs des tables de la base ADH et de champs statiques. 
 + 
 +La vue ''hosts'' utilise la requête de sélection suivante :  
 +<code sql> 
 +select  
 +  `adh5-prod`.`ordinateurs`.`id` AS `host_id`, 
 +   unhex(replace(`adh5-prod`.`ordinateurs`.`mac`,'-','')) AS `dhcp_identifier`, 
 +   0 AS `dhcp_identifier_type`,`adh5-prod`.`vlans`.`numero` AS `dhcp4_subnet_id`, 
 +   `adh5-prod`.`vlans`.`numero` AS `dhcp6_subnet_id`, 
 +   inet_aton(`adh5-prod`.`ordinateurs`.`ip`) AS `ipv4_address`, 
 +   NULL AS `hostname`, 
 +   NULL AS `dhcp4_client_classes`, 
 +   NULL AS `dhcp6_client_classes`, 
 +   NULL AS `dhcp4_next_server`, 
 +   NULL AS `dhcp4_server_hostname`, 
 +   NULL AS `dhcp4_boot_file_name`  
 +from  
 +  (((`adh5-prod`.`ordinateurs` join `adh5-prod`.`adherents`) join `adh5-prod`.`chambres`) join `adh5-prod`.`vlans`)  
 +where  
 +  ((`adh5-prod`.`ordinateurs`.`adherent_id` = `adh5-prod`.`adherents`.`id`) and  
 +  (`adh5-prod`.`adherents`.`chambre_id` = `adh5-prod`.`chambres`.`id`) and  
 +  (`adh5-prod`.`chambres`.`vlan_id` = `adh5-prod`.`vlans`.`id`) and  
 +  (`adh5-prod`.`ordinateurs`.`ip` like '%.%.%.%')) 
 +</code> 
 +La vue ''ipv6_reservations'' utilise la requête de sélection suivante :  
 +<code sql> 
 +select  
 +  `adh5-prod`.`ordinateurs`.`id` AS `reservation_id`, 
 +  `adh5-prod`.`ordinateurs`.`ipv6` AS `address`, 
 +  128 AS `prefix_len`, 
 +  0 AS `type`, 
 +  NULL AS `dhcp6_iaid`, 
 +  `adh5-prod`.`ordinateurs`.`id` AS `host_id`  
 +from  
 +  `adh5-prod`.`ordinateurs`  
 +where  
 +((`adh5-prod`.`ordinateurs`.`ip` like '%.%.%.%') and  
 +(`adh5-prod`.`ordinateurs`.`ipv6` like '2001:660:3203:%::a%')) 
 +</code>
  
 +==== Liens externes ====
  
 +[[http://kea.isc.org/docs/kea-guide.html|Manuel KEA]]
 +[[ https://kea.isc.org/wiki/HostReservationDesign | KEA IPv6 Host Reservation ]]
wiki/services/kea-dhcp.1493493819.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)