Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utiliser Cloud-Init dans un environnement OpenStack pour automatiser l’initialisation des instances de pare-feu virtuel vSRX

À partir de La version 15.1X49-D100 de Junos OS et de la version 17.4R1 de Junos OS, le package cloud-init (version 0.7x) est préinstallé dans l’image du pare-feu virtuel vSRX afin de simplifier la configuration de nouvelles instances de pare-feu virtuel vSRX fonctionnant dans un environnement OpenStack selon un fichier de données utilisateur spécifié. Cloud-init est effectué lors du premier démarrage d’une instance de pare-feu virtuel vSRX.

Cloud-init est un package logiciel OpenStack permettant d’automatiser l’initialisation d’une instance cloud au démarrage. Il est disponible dans Ubuntu et la plupart des principaux systèmes d’exploitation Linux et FreeBSD. Cloud-init est conçu pour prendre en charge plusieurs fournisseurs de cloud différents afin que la même image de machine virtuelle (VM) puisse être directement utilisée dans plusieurs hyperviseurs et instances cloud sans aucune modification. La prise en charge du cloud-init dans une instance de VM s’exécute au moment du démarrage (premier démarrage) et initialise l’instance de vm en fonction du fichier de données utilisateur spécifié.

Un fichier de données utilisateur est une clé spéciale du service de métadonnées qui contient un fichier accessible aux applications cloud de l’instance vm lors d’un premier démarrage. Dans ce cas, c’est le fichier de configuration Junos OS validé que vous avez l’intention de télécharger sur une instance de pare-feu virtuel vSRX en tant que configuration active. Ce fichier utilise la syntaxe de commande Junos OS standard pour définir les détails de configuration, tels que le mot de passe racine, l’adresse IP de gestion, la passerelle par défaut et d’autres déclarations de configuration.

Lorsque vous créez une instance de pare-feu virtuel vSRX, vous pouvez utiliser cloud-init avec un fichier de configuration Junos OS validé (juniper.conf) pour automatiser l’initialisation de nouvelles instances de pare-feu virtuel vSRX. Le fichier de données utilisateur utilise la syntaxe Junos OS standard pour définir tous les détails de configuration de votre instance de pare-feu virtuel vSRX. La configuration Junos OS par défaut est remplacée lors du lancement de l’instance de pare-feu virtuel vSRX par une configuration Junos OS validée que vous fournissez sous la forme d’un fichier de données utilisateur.

Note:

Si vous utilisez une version antérieure à Junos OS version 15.1X49-D130 et Junos OS version 18.4R1, le fichier de configuration des données utilisateur ne peut pas dépasser 16 Ko. Si votre fichier de données utilisateur dépasse cette limite, vous devez compresser le fichier à l’aide de gzip et utiliser le fichier compressé. Par exemple, la commande gzip junos.conf génère le fichier junos.conf.gz.

À partir de La version 15.1X49-D130 de Junos OS et de la version 18.4R1 de Junos OS, si vous utilisez une source de données de lecteur de configuration dans un environnement OpenStack, la taille du fichier de configuration des données utilisateur peut atteindre 64 Mo.

La configuration doit être validée et inclure des détails sur l’interface fxp0, la connexion et l’authentification. Il doit également avoir un routage par défaut pour le trafic sur fxp0. Si l’une de ces informations est manquante ou incorrecte, l’instance est inaccessible et vous devez en lancer une nouvelle.

Avertissement:

Assurez-vous que le fichier de configuration des données utilisateur n’est pas configuré pour effectuer une installation automatique sur les interfaces à l’aide du protocole DHCP (Dynamic Host Configuration Protocol) pour attribuer une adresse IP au pare-feu virtuel vSRX. L’installation automatique avec DHCP entraînera un « échec de validation » pour le fichier de configuration des données utilisateur.

À partir de La version 15.1X49-D130 de Junos OS et de la version 18.4R1 de Junos OS, la fonctionnalité cloud-init du pare-feu virtuel vSRX a été étendue pour prendre en charge l’utilisation d’une source de données de lecteur de configuration dans un environnement OpenStack. Le lecteur de configuration utilise l’attribut de données utilisateur pour transmettre un fichier de configuration Junos OS validé à l’instance de pare-feu virtuel vSRX. Les données utilisateur peuvent être du texte brut ou du type de fichier MIME type text/plain. Le lecteur de configuration est généralement utilisé conjointement avec le service Compute et est présent à l’instance sous la forme d’une partition de disque étiquetée config-2. Le lecteur de configuration a une taille maximale de 64 Mo et doit être formaté avec le système de fichiers vfat ou ISO 9660.

La source de données du lecteur de configuration offre également la flexibilité d’ajouter plusieurs fichiers pouvant être utilisés pour la configuration. Un cas d’utilisation typique est d’ajouter un fichier de configuration Day0 et un fichier de licence. Dans ce cas, deux méthodes peuvent être utilisées pour utiliser une source de données de lecteur de configuration avec une instance de pare-feu virtuel vSRX :

  • Données utilisateur (fichier de configuration Junos OS) : cette approche utilise l’attribut de données utilisateur pour transmettre le fichier de configuration Junos OS à chaque instance de pare-feu virtuel vSRX. Les données utilisateur peuvent être du texte brut ou du type de fichier MIME type text/plain.

  • Fichier et fichier de licence Junos OS : cette approche utilise la source de données du lecteur de configuration pour envoyer le ou les fichiers de configuration et de licence Junos OS à chaque instance de pare-feu virtuel vSRX.

    Note:

    Si un fichier de licence doit être configuré dans le pare-feu virtuel vSRX, il est recommandé d’utiliser l’option –file plutôt que l’option pour offrir la user-data flexibilité nécessaire pour configurer des fichiers plus larges que la limite de 16 Ko de données utilisateur.

Pour utiliser une source de données de lecteur de configuration pour envoyer des fichiers de configuration et de licence Junos OS à une instance de pare-feu virtuel vSRX, les fichiers doivent être envoyés dans une structure de dossier spécifique. Dans cette application, la structure de dossiers de la source de données du lecteur de configuration dans le pare-feu virtuel vSRX est la suivante :

//OpenStack//latest/junos-config/configuration.txt

//OpenStack//latest/junos-license/license.lic

Avant de commencer :

  • Créez un fichier de configuration avec la syntaxe de commande Junos OS et enregistrez-le. Le fichier de configuration peut être de type texte brut ou MIME type text/plain. La chaîne #junos-config doit être la première ligne du fichier de configuration des données utilisateur avant la configuration Junos OS.

    Note:

    La #junos-config chaîne est obligatoire dans le fichier de configuration des données utilisateur; si elle n’est pas incluse, la configuration ne sera pas appliquée à l’instance du pare-feu virtuel vSRX en tant que configuration active.

  • Déterminez le nom de l’instance de pare-feu virtuel vSRX que vous souhaitez initialiser avec un fichier de configuration Junos OS validé.

  • Déterminez la saveur de votre instance de pare-feu virtuel vSRX, qui définit la capacité de calcul, de mémoire et de stockage de l’instance de pare-feu virtuel vSRX.

  • À partir des versions 15.1X49-D130 et 18.4R1 de Junos OS, si vous utilisez un lecteur de configuration, assurez-vous que les critères suivants sont remplis pour permettre la prise en charge cloud-init d’un lecteur de configuration dans OpenStack :

    • Le lecteur de configuration doit être formaté avec le ou iso9660 le vfat système de fichiers.

      Note:

      Le format par défaut d’un lecteur de configuration est un système de fichiers ISO 9660. Pour spécifier explicitement le format ISO 9660/vfat, ajoutez la config_drive_format=iso9660/vfat ligne au nova.conf fichier.

    • Le lecteur de configuration doit avoir un label de système de fichiers de config-2.

    • La taille du dossier ne doit pas dépasser 64 Mo.

En fonction de votre environnement OpenStack, vous pouvez utiliser une interface de ligne de commande OpenStack (telle que nova boot ou ) ou openstack server createle tableau de bord OpenStack (« Horizon ») pour lancer et initialiser une instance de pare-feu virtuel vSRX.

Configuration automatique d’une instance de pare-feu virtuel vSRX à l’aide d’une interface de ligne de commande OpenStack

Vous pouvez lancer et gérer une instance de pare-feu virtuel vSRX à l’aide nova boot de commandes, openstack server create qui comprennent l’utilisation d’un fichier de données utilisateur validé de configuration Junos OS à partir de votre répertoire local pour initialiser la configuration active de l’instance de pare-feu virtuel vSRX cible.

Pour lancer la configuration automatique d’une instance de pare-feu virtuel vSRX à partir d’un client de ligne de commande OpenStack :

  1. Si vous ne l’avez pas encore fait, créez un fichier de configuration avec la syntaxe de commande Junos OS et enregistrez le fichier. Le fichier de configuration peut être de type texte brut ou MIME type text/plain.

    Le fichier de configuration des données utilisateur doit contenir la configuration complète du pare-feu virtuel vSRX qui doit être utilisée comme configuration active sur chaque instance de pare-feu virtuel vSRX, et la chaîne #junos-config doit être la première ligne du fichier de configuration des données utilisateur avant la configuration Junos OS.

    Note:

    La #junos-config chaîne est obligatoire dans le fichier de configuration des données utilisateur; si elle n’est pas incluse, la configuration ne sera pas appliquée à l’instance du pare-feu virtuel vSRX en tant que configuration active.

  2. Copiez le fichier de configuration Junos OS vers un emplacement accessible d’où il peut être récupéré pour lancer l’instance de pare-feu virtuel vSRX.
  3. En fonction de votre environnement OpenStack, utilisez la nova boot commande ou openstack server create pour lancer l’instance de pare-feu virtuel vSRX avec un fichier de configuration Junos OS validé comme données utilisateur spécifiées.
    Note:

    Vous pouvez également utiliser l’équivalent nova boot dans un service d’orchestration tel que HEAT.

    Par exemple :

    • nova boot -user-data </path/to/vsrx_configuration.txt> --image vSRX_image --flavor vSRX_flavor_instance

    • openstack server create -user-data </path/to/vsrx_configuration.txt> --image vSRX_image --flavor vSRX_flavor_instance

      Où:

      -user-data </path/to/vsrx_configuration.txt> spécifie l’emplacement du fichier de configuration Junos OS. La taille du fichier de configuration des données utilisateur est limitée à environ 16 384 octets.

      --image vSRX_image identifie le nom d’une image unique du pare-feu virtuel vSRX.

      --flavor vSRX_flavor_instance identifie la saveur du pare-feu virtuel vSRX (ID ou nom).

    À partir des versions 15.1X49-D130 et 18.4R1 de Junos OS, pour permettre l’utilisation d’un lecteur de configuration pour une demande spécifique dans l’environnement de calcul OpenStack, incluez le paramètre dans la -config-drive true nova boot commande ou openstack server create .

    Note:

    Il est possible d’activer automatiquement le lecteur de configuration sur toutes les instances en configurant le service OpenStack Compute pour toujours créer un lecteur de configuration. Pour ce faire, spécifiez l’option force_config_drive=True dans le nova.conf fichier.

    Par exemple, pour utiliser l’attribut user-data pour transmettre la configuration Junos OS à chaque instance de pare-feu virtuel vSRX :

    nova boot -config-drive true -flavor vSRX_flavor_instance -image vSRX_image -user-data </path/to/vsrx_configuration.txt>

    Où:

    -user-data </path/to/vsrx_configuration.txt> spécifie l’emplacement du fichier de configuration Junos OS. La taille du fichier de configuration des données utilisateur est limitée à environ 64 Mo.

    -image vSRX_image identifie le nom d’une image unique du pare-feu virtuel vSRX.

    -flavor vSRX_flavor_instance identifie la saveur du pare-feu virtuel vSRX (ID ou nom).

    Par exemple, pour spécifier le lecteur de configuration avec plusieurs fichiers (fichier de configuration et fichier de licence Junos OS) :

    nova boot -config-drive true -flavor vSRX_flavor_instance -image vSRX_image [-file /config/junos-config/configuration.txt=/path/to/file] [-file /junos-license/license.lic=path/to/license]

    Où:

    [-file /config/junos-config/configuration.txt=/path/to/file] spécifie l’emplacement du fichier de configuration Junos OS.

    [-file /config/junos-license/license.lic=path/to/license] spécifie l’emplacement du fichier de configuration Junos OS.

    -image vSRX_image identifie le nom d’une image unique du pare-feu virtuel vSRX.

    -flavor vSRX_flavor_instance identifie la saveur du pare-feu virtuel vSRX (ID ou nom).

  4. Démarrez ou redémarrez l’instance de pare-feu virtuel vSRX. Au cours de la séquence de démarrage initiale, l’instance du pare-feu virtuel vSRX traite la demande cloud-init.
    Note:

    Le temps de démarrage de l’instance de pare-feu virtuel vSRX peut augmenter avec l’utilisation du package cloud-init. Ce temps supplémentaire dans la séquence de démarrage initiale est dû aux opérations effectuées par le package cloud-init. Au cours de cette opération, le package cloud-init arrête la séquence de démarrage et effectue une recherche des données de configuration dans chaque source de données identifiée dans cloud.cfg. Le temps nécessaire pour rechercher et remplir les données cloud est directement proportionnel au nombre de sources de données définies. En l’absence de source de données, le processus de recherche se poursuit jusqu’à ce qu’il atteigne un délai d’expiration prédéfini de 30 secondes pour chaque source de données.

  5. Lorsque la séquence de démarrage initiale reprend, le fichier de données utilisateur remplace la configuration d’usine par défaut de Junos OS chargée sur l’instance de pare-feu virtuel vSRX. Si la validation réussit, la configuration d’usine par défaut sera définitivement remplacée. Si la configuration n’est pas prise en charge ou ne peut pas être appliquée à l’instance du pare-feu virtuel vSRX, le pare-feu virtuel vSRX démarre à l’aide de la configuration Junos OS par défaut.

Configurer automatiquement une instance de pare-feu virtuel vSRX à partir du tableau de bord OpenStack (Horizon)

Horizon est l’implémentation canonique du tableau de bord OpenStack. Il fournit une interface utilisateur Web aux services OpenStack, notamment Nova, Swift, Keystone, etc. Vous pouvez lancer et gérer une instance de pare-feu virtuel vSRX à partir du tableau de bord OpenStack, qui comprend l’utilisation d’un fichier de données utilisateur validé de configuration Junos OS à partir de votre répertoire local pour initialiser la configuration active de l’instance de pare-feu virtuel vSRX cible.

Pour lancer la configuration automatique d’une instance de pare-feu virtuel vSRX à partir du tableau de bord OpenStack :

  1. Si vous ne l’avez pas encore fait, créez un fichier de configuration avec la syntaxe de commande Junos OS et enregistrez le fichier. Le fichier de configuration peut être de type texte brut ou MIME type text/plain.

    Le fichier de configuration des données utilisateur doit contenir la configuration complète du pare-feu virtuel vSRX qui doit être utilisée comme configuration active sur chaque instance de pare-feu virtuel vSRX, et la chaîne #junos-config doit être la première ligne du fichier de configuration des données utilisateur avant la configuration Junos OS.

    Note:

    La #junos-config chaîne est obligatoire dans le fichier de configuration des données utilisateur; si elle n’est pas incluse, la configuration ne sera pas appliquée à l’instance du pare-feu virtuel vSRX en tant que configuration active.

  2. Copiez le fichier de configuration Junos OS vers un emplacement accessible d’où il peut être récupéré pour lancer l’instance de pare-feu virtuel vSRX.
  3. Connectez-vous au tableau de bord OpenStack à l’aide de vos informations d’identification, puis sélectionnez le projet approprié dans le menu déroulant en haut à gauche.
  4. Sur l’onglet Projet, cliquez sur l’onglet Calcul et sélectionnez Instances. Le tableau de bord affiche les différentes instances avec le nom de l’image, les adresses IP privées et flottantes, la taille, l’état, la zone de disponibilité, la tâche, l’état d’alimentation, etc.
  5. Cliquez sur Launch Instance. La boîte de dialogue Launch Instance s’affiche.
  6. Dans l’onglet Détails (voir figure 1), saisissez le nom de l’instance de la vm du pare-feu virtuel vSRX ainsi que la zone de disponibilité associée (par exemple, Nova), puis cliquez sur Suivant. Nous vous recommandons de conserver ce nom comme le nom d’hôte assigné à la VM de pare-feu virtuel vSRX.
    Figure 1 : onglet Launch Instance Details Tab Détails de l’instance de lancement
  7. Dans l’onglet Source (voir figure 2), sélectionnez le fichier source de l’image de vm vSRX Virtual Firewall dans la liste Disponible, puis cliquez sur +(Plus). L’image sélectionnée du pare-feu virtuel vSRX apparaît sous Allocation. Cliquez sur Suivant.
    Figure 2 : onglet Launch Instance Source Tab Source de l’instance de lancement
  8. Dans l’onglet Saveur (voir figure 3), sélectionnez une instance de pare-feu virtuel vSRX avec une capacité de calcul, de mémoire et de stockage spécifique dans la liste disponible, puis cliquez sur +(plus signe). Le pare-feu virtuel vSRX sélectionné apparaît sous Allocation. Cliquez sur Suivant.
    Figure 3 : onglet Launch Instance Flavor Tab Type d’instance de lancement
  9. Dans l’onglet Réseaux (voir figure 4), sélectionnez le réseau spécifique de l’instance de pare-feu virtuel vSRX dans la liste Disponible, puis cliquez sur +(plus signe). Le réseau sélectionné apparaît sous Allocation. Cliquez sur Suivant.
    Note:

    Ne mettez à jour aucun paramètre dans les onglets Ports réseau, Groupes de sécurité ou Paire de clés de la boîte de dialogue Lancer l’instance.

    Figure 4 : onglet Launch Instance Networks Tab Launch Instance Networks
  10. Dans l’onglet Configuration (voir figure 5), cliquez sur Parcourir et accédez à l’emplacement du fichier de configuration Junos OS validé à partir de votre répertoire local que vous souhaitez utiliser comme fichier de données utilisateur. Cliquez sur Suivant.
    Figure 5 : onglet Launch Instance Configuration Tab Configuration de l’instance de lancement
  11. Vérifiez que la configuration Junos OS chargée contient la #junos-config chaîne dans la première ligne du fichier de configuration de données utilisateur (voir figure 6), puis cliquez sur Suivant.
    Note:

    Ne mettez à jour aucun paramètre dans l’onglet Métadonnées de la boîte de dialogue Launch Instance.

    Figure 6 : onglet Configuration de l’instance de lancement avec configuration Launch Instance Configuration Tab with Loaded Junos OS Configuration Junos OS chargée
  12. Cliquez sur Launch Instance. Au cours de la séquence de démarrage initiale, l’instance du pare-feu virtuel vSRX traite la demande cloud-init.
    Note:

    Le temps de démarrage de l’instance de pare-feu virtuel vSRX peut augmenter avec l’utilisation du package cloud-init. Ce temps supplémentaire dans la séquence de démarrage initiale est dû aux opérations effectuées par le package cloud-init. Au cours de cette opération, le package cloud-init arrête la séquence de démarrage et effectue une recherche des données de configuration dans chaque source de données identifiée dans cloud.cfg. Le temps nécessaire pour rechercher et remplir les données cloud est directement proportionnel au nombre de sources de données définies. En l’absence de source de données, le processus de recherche se poursuit jusqu’à ce qu’il atteigne un délai d’expiration prédéfini de 30 secondes pour chaque source de données.

  13. Lorsque la séquence de démarrage initiale reprend, le fichier de données utilisateur remplace la configuration d’usine par défaut de Junos OS chargée sur l’instance de pare-feu virtuel vSRX. Si la validation réussit, la configuration d’usine par défaut sera définitivement remplacée. Si la configuration n’est pas prise en charge ou ne peut pas être appliquée à l’instance du pare-feu virtuel vSRX, le pare-feu virtuel vSRX démarre à l’aide de la configuration Junos OS par défaut.
Tableau de l’historique des versions
Libération
Description
15.1X49-D130
À partir de La version 15.1X49-D130 de Junos OS et de la version 18.4R1 de Junos OS, la fonctionnalité cloud-init du pare-feu virtuel vSRX a été étendue pour prendre en charge l’utilisation d’une source de données de lecteur de configuration dans un environnement OpenStack. Le lecteur de configuration utilise l’attribut de données utilisateur pour transmettre un fichier de configuration Junos OS validé à l’instance de pare-feu virtuel vSRX.
15.1X49-D100
À partir de La version 15.1X49-D100 de Junos OS et de la version 17.4R1 de Junos OS, le package cloud-init (version 0.7x) est préinstallé dans l’image du pare-feu virtuel vSRX afin de simplifier la configuration de nouvelles instances de pare-feu virtuel vSRX fonctionnant dans un environnement OpenStack selon un fichier de données utilisateur spécifié. Cloud-init est effectué lors du premier démarrage d’une instance de pare-feu virtuel vSRX.