Table of Contents

Comware: Autoconfiguration DHCP

Bootstrap Protocol (BOOTP) est un protocole réseau d'amorçage, qui permet à une machine cliente sans disque dur de découvrir sa propre adresse IP, l'adresse d'un hôte serveur, et le nom d'un fichier à charger en mémoire pour exécution.

DHCP (Dynamic Host Configuration Protocol) a été conçu pour être le successeur de l’ancien protocole Bootstrap, il a le même format de message que BOOTP, mais il utilise le champ Option pour transporter des informations pour allocation d'adresse dynamique et pour fournir des informations de configuration additionnelles aux clients.

Options communes DHCP

En configurant les options DHCP auto-définies, on peut:
- Définir de nouvelles options DHCP.
- Définir les options DHCP existantes. Certaines options n'ont pas de définitions unifiées dans la RFC 2132; cependant, les fournisseurs peuvent définir de telles options comme l'option 43 selon les besoins. L'option DHCP auto-définie permet aux clients DHCP d'obtenir des informations spécifiques au fournisseur.
- Étendre les options DHCP existantes. Lorsque les options DHCP actuelles ne peuvent pas répondre aux exigences des clients (par exemple, on ne peut pas utiliser la commande dns-list pour configurer plus de huit adresses de serveur DNS), on peut configurer une option d’extension auto-définie.

Configuration des options dhcp

Pour configurer une option DHCP auto-définie dans le pool d'adresses DHCP (dhcp server ip-pool <pool-name>), entrer la commande suivante:

option code { ascii ascii-string | hex hex-string&<1-16> | ip-address ip-address&<1-8> }
Option Option name Corresponding command Command parameter
3 Router Option gateway-list ip-address
6 Domain Name Server Option dns-list ip-address
15 Domain Name domain-name ascii
44 NetBIOS over TCP/IP Name Server Option nbns-list ip-address
46 NetBIOS over TCP/IP Node Type Option netbios-type hex
66 TFTP server name tftp-server ascii
67 Bootfile name bootfile-name ascii
43 Vendor Specific Information hex

Configuration de l'autoconfig

Lorsque l'adresse IP ou le nom d'un serveur TFTP et le nom du fichier de démarrage dans le pool d'adresses DHCP, les clients DHCP utilisent ces paramètres pour contacter le serveur TFTP, demandant le fichier de configuration utilisé pour l'initialisation du système, qui s'appelle la configuration automatique. Le processus de demande du client est le suivant:

1) Lorsqu'un routeur démarre sans charger de fichier de configuration, le système définit une interface active (telle que l'interface du VLAN par défaut) comme client DHCP pour demander au serveur DHCP des paramètres, tels qu'une adresse IP et un nom de un serveur TFTP et le nom du fichier de démarrage.
2) Après avoir obtenu les paramètres associés, le client DHCP enverra une requête TFTP pour obtenir le fichier de configuration du serveur TFTP spécifié pour l'initialisation du système. Si le client ne peut pas obtenir ces paramètres, il effectuera l'initialisation du système sans charger aucun fichier de configuration.

Pour implémenter la configuration automatique, il faut spécifier l'adresse IP ou le nom d'un serveur TFTP et le nom du fichier de démarrage dans le pool d'adresses DHCP sur le serveur DHCP, mais il n'est pas besoin d'effectuer de configuration sur le client DHCP.

Pour configurer l'adresse IP et le nom du serveur TFTP et le nom du fichier de démarrage dans le pool d'adresses DHCP:

  1. Accéder à la vue système : system-view
  2. Entrer dans la vue du pool d'adresses DHCP: dhcp server ip-pool pool-name
  3. Spécifier l'adresse du serveur TFTP tftp-server ip-address ip-address ou le nom du serveur TFTP tftp-server domain-name domain-name
  4. Spécifier le nom du fichier de démarrage bootfile-name bootfile-name

Exemple de configuration

La section suivante décrit l'utilisation de l'autoconfig pour le déploiement automatique d'un microgiciel sur un switch

Le serveur TFTP doit contenir ces fichiers:

Exemple de configurations DHCP:

dhcp enable
dhcp server ip-pool DHCP_OOB
 gateway-list 10.0.0.254
 network 10.0.0.0 mask 255.255.255.0
 address range 10.0.0.1 10.0.0.100
 option 67 ascii hpe_oob.cfg
 static-bind ip-address 10.0.0.1 mask 255.255.255.0 hardware-address 40b9-3ad3-8888
 tftp-server ip-address 10.0.0.101

Les fichiers présentés ci-dessous doivent être adapté aux besoins, il ne s'agit que d'un exemple de base pour illustrer la fonctionnalité de déploiement automatique.

Le fichier d'autoconfig initial

On utilise une approche en 2 étapes pour le déploiement automatique:

La planficiation des job diffèère en fonction de la version de Comware.

Sous comware V5 elle est de la forme:
job {id du job}
time {Id de la command} {at (hh:mm)}{one-off [at (hh:mm)/delay (interval hh:mm ou mm)}{repeating[at (hh:mm)/delay (interval hh:mm ou mm)]} command {ligne de commande}

Sous comware V7 elle est de la forme
scheduler job {id du job}
command {ligne de commande}

Voici l'exemple startup-unit1.cfg:

# Définition du nom d'hôte temporaire
 sysname unit-initiale1
#
# Réinitialisation de  l'ID de l'unité IRF à 1, ne s'appliquerait que si l'appareil
# était auparavant dans un système IRF.
 irf member 2 renumber 1
 irf member 3 renumber 1
 irf member 4 renumber 1
#
# L'appareil doit pouvoir atteindre le serveur tftp
# Configuration de  l'adresse statique temporaire ou DHCP
# Tous les ports sont dans vlan1 par défaut
int vlan 1
 ip ad dhcp

# Planification des travaux
# Important: les jobs répondront par Y à toutes les questions!

# Job1: télécharger le bootrom après 1 min
job j1
  view monitor
  time 1 one-off delay 1 command tftp 10.0.1.100 get A5120EI-BTM-610.btm

# Job2: mise à niveau du bootrom après 2 min
# plusieurs commandes sont utilisées, car le renumérotation IRF ne serait efficace
# après le prochain redémarrage. L'utilisation de plusieurs commandes ici économise les
# reboot
job j2
  view monitor
  time 1 one-off delay 2 command bootrom update file A5120ei-btm-610.btm slot 1  
  time 2 one-off delay 2 command bootrom update file A5120ei-btm-610.btm slot 2  
  time 3 one-off delay 2 command bootrom update file A5120ei-btm-610.btm slot 3  
  time 4 one-off delay 2 command bootrom update file A5120ei-btm-610.btm slot 4  

# Job3: formate le flash pour nettoyer le système de fichiers local. Prend environ 40 secondes sur 5120
# Le fichier bootrom n'est plus nécessaire après la mise à jour. Job répondra automatiquement avec Y.
job j3
 view monitor
 time 1 one-off delay 3 command format flash:

# Job4: télécharge un nouveau fichier de firmware
# Sur le 5120, cela prend environ 160 secondes + suppression de l'image si le format n'est pas utilisé.
job j4
  view monitor
  time 1 one-off delay 4 command tftp 10.0.1.100 get A5120EI-CMW520-R2215.bin

# Job5: définir le chargeur de démarrage sur un nouveau fichier, en utilisant un délai supplémentaire de 3 minutes pour le tftp
# compléter.
job j5
  view monitor
  time 1 one-off delay 7 command boot-loader file A5120EI-CMW520-R2215.bin slot 1 main
  time 2 one-off delay 7 command boot-loader file A5120EI-CMW520-R2215.bin slot 2 main
  time 3 one-off delay 7 command boot-loader file A5120EI-CMW520-R2215.bin slot 3 main
  time 4 one-off delay 7 command boot-loader file A5120EI-CMW520-R2215.bin slot 4 main

# Job6: récupère le fichier de configuration final
job j6
  view monitor
  time 1 one-off delay 8 command tftp 10.0.1.100 get final-unit1.cfg startup.cfg

# Job7: modifier le fichier de démarrage et planifier le redémarrage après 1 minute
job j7
  view monitor
  time 1 one-off delay 9 command startup saved-configuration startup.cfg
  time 2 one-off delay 9 command schedule reboot delay 1

# optionnel: génére les clés ssh
Le fichier de configuration final

Il s'agit du fichier final-unit1.cfg qui est téléchargé par la tâche de configuration initiale (job j6).

#
 sysname IRF-Unit1
#
 irf mac-address persistent timer
 irf auto-update enable
 undo irf link-delay
 irf member 1 priority 31 
 irf member 2 priority 30
#
 domain default enable system
#
 telnet server enable
#
vlan 1
#
vlan 11
 description V11-Management
#
radius scheme system
 primary authentication 127.0.0.1 1645
 primary accounting 127.0.0.1 1646
 user-name-format without-domain
#
domain system
 access-limit disable
 state active
 idle-cut disable
 self-service-url disable
#
user-group system
 group-attribute allow-guest
#
local-user admin
 password simple hp
 authorization-attribute level 3
 service-type ssh terminal
#
interface Bridge-Aggregation1
 port link-type trunk
 port trunk permit vlan 1 to 100
 link-aggregation mode dynamic
#
interface NULL0
#
int vlan 11
 ip ad 10.0.11.41 24

#
interface GigabitEthernet1/0/11
 port access vlan 11
#
 ip route-static 0.0.0.0 0.0.0.0 10.0.11.1
#
 ssh server enable
#
 load xml-configuration
#
user-interface aux  0

user-interface vty 0 4
 authentication-mode scheme
#
irf-port 1/1
 port group interface Ten-GigabitEthernet1/1/1 mode normal
#
irf-port 1/2
 port group interface Ten-GigabitEthernet1/1/2 mode normal
#
return