Comware: Autoconfiguration DHCP
Table of Contents
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
- Option 3: Option de routeur. Il spécifie l'adresse de passerelle à attribuer au client.
- Option 6: Option de serveur DNS. Il spécifie l'adresse IP du serveur DNS à attribuer au client.
- Option 33: Option d'itinéraire statique. Il spécifie une liste de classes routes statiques pleines (les adresses de destination dans ces routes statiques sont classées) qu'un client doit ajouter à sa table de routage. Si l'option 121 existe, l'option 33 est ignorée.
- Option 51: Option de location d'adresse IP.
- Option 53: Option de type de message DHCP. Il identifie le type du message DHCP.
- Option 55: Option de liste de demandes de paramètres. Il est utilisé par un client DHCP pour demander des paramètres de configuration. L'option contient des valeurs qui correspondent aux paramètres demandés par le client.
- Option 60: Option d'identificateur de classe de fournisseur. Il est utilisé par un client DHCP pour identifier son fournisseur et par un serveur DHCP pour distinguer les clients DHCP par classe de fournisseur et attribuer des adresses IP spécifiques pour le Clients DHCP.
- Option 66: Option de nom de serveur TFTP. Il spécifie un serveur TFTP à attribuer au client.
- Option 67: Option de nom de fichier de démarrage. Il spécifie le nom du fichier de démarrage à attribuer au client.
- Option 121: Option d'itinéraire sans classe. Il spécifie une liste de routes statiques sans classe (la destination adresses dans ces routes statiques sont sans classe) que le client demandeur doit ajouter à sa table de routage.
- Option 150: Option d'adresse IP du serveur TFTP. Il spécifie l'adresse IP du serveur TFTP à attribuer le client
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:
- Accéder à la vue système :
system-view
- Entrer dans la vue du pool d'adresses DHCP:
dhcp server ip-pool pool-name
- Spécifier l'adresse du serveur TFTP
tftp-server ip-address ip-address
ou le nom du serveur TFTPtftp-server domain-name domain-name
- 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:
- fichier d'autoconfig initial (voir la section suivante)
- fichier de configuration final (le fichier final réel que vous voulez sur l'appareil)
- fichier de mise à jour bootrom
- fichier de mise à jour du micrologiciel
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:
- Utilisation du fichier autoconfig pour nettoyer le périphérique actuel, mettre à jour le bootrom, le micrologiciel, réinitialiser l'ID de l'unité IRF. Cela garantira que la procédure fonctionnera également avec un périphérique qui était auparavant membre d'une pile IRF et utilisé pour avoir un ID d'unité différent (différent de 1).
- Utilisation le fichier autoconfig pour enfin télécharger automatiquement le fichier de configuration final de l'appareil
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