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.
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.
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 |
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:
system-view
dhcp server ip-pool pool-name
tftp-server ip-address ip-address
ou le nom du serveur TFTP tftp-server domain-name domain-name
bootfile-name bootfile-name
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.
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
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