Configuration de base sous Junos

Configuration de base sous Junos
Jérémie Kassianoff
10 septembre 2014
6 min de lecture

Prendre en main : JunOS 12.3R7.7 Débuter avec JunOS, le système de Juniper Network. Configuration en mode CLI sur EX4200.

CertifiéJunos Associé (JNCIA-Junos)

Cas d'usage concret

Vous prenez en main un routeur Juniper pour la première fois : voici les commandes de base indispensables sous Junos 12.3R7.7.

Juniper Network : JunOS

Juniper Network est un acteur majeur en équipement de télécommunication réseau & sécurité.
JunOSest un des systèmes d’exploitation de Juniper qui gère le réseau, routage, la sécurité et SDN.
Le système d’exploitation de Juniper est basé sur FreeBSD ce qui lui assure un caractère intègre.
JunOS c’est aussi une philosophie UNIX :  » Ne faire qu’une seule chose, et la faire bien » !

Dans cet article j’utilise 3 switch EX4200 en mode virtual chassissous JunOS 12.3R7.7.
Pour comprendre le virtual chassis un article sera bientôt disponible (dec 2014).

Le prix étant très élevé, je vous conseille d’investir dans un modèle SRX-100 (~300€).
Ou bien, essayer gratuitement la version d’évaluation deFirefly Perimeter en OVA sur votre ESXi !

Débuter avec JunOS

Pour bien débuter avec JunOS il faut un peu de théorie mais surtout beaucoup de pratique.
Au premier démarrage de l’appareil (EX, SRX, Perimeteretc…) JunOS nous affiche :

bash
Amnesiac (ttyd0)

On comprend donc que le système JunOS est amnésique et ne connaît pas l’ancienne connexion.
Lors de la première connexion, nous allons nous loguer avec le super utilisateur : root (sans mot de passe).

bash
login : root

Généralement, un message d’accueil s’affiche sur notre écran, nous rentrons en mode : cli.

bash
root@% cli

Nous sommes désormais connectés en tant que root sur le système JunOS.
Après avoir lancé la commande cli nous sommes en mode opérationnel dit de fonctionnement.

Les deux principaux modes

Identifier dans quel mode vous vous trouvez est essentiel, pour cela rien de très compliqué :

  1. Le mode dit de : fonctionnement permet de gérer et de contrôler les activités de l’appareil.
    Pour reconnaître le mode de fonctionnement il suffit de vérifier le signe du « prompt » en « > ».
    bash
    root@juex1_24p>
    
  2. Le mode dit de : configuration permet de configurer l’appareil (réseaux, securité etc…).
    Pour reconnaître le mode de configuration il suffit de vérifier le signe du « prompt » en « # ».
    bash
    root@juex1_24p#
    

Tout comme sous Unix on retrouve le « prompt » ou « invite » en français qui permet de nous situer.
Dans cet exemple, nous sommes connectés en tant que root sur l’équipement « juex1_24p ».
Nous sommes maintenant prêts pour comprendre la hiérarchisation de JunOS.

Le système de hiérarchisation

Juniper Network utilise trois niveaux hiérarchiques, c’est une notion théorique importante.
Quand nous configurons l’appareil sous JunOS, nous sommes forcés d’utiliser le hiérarchisation.
Cette hiérarchisation est représentée sous forme d’arbre, exemple : le tronc, la branche, la feuille.
Par exemple voici un fichier de configuration pour deux interfaces ge (giga-ethernet):

bash
interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 192.168.0.25/24;
            }
        }
    }
    ge-0/0/1 {
        unit 0 {
            family inet {
                address 192.168.0.26/24;
            }
        }
    }
}
  1. « interfaces » est le niveau le plus haut du nœud c’est le  top level (le tronc).
  2. « ge-0/0/0 » et « ge-0/0/01 » sont tous les deux des subordonnées du conteneur (la branche).
  3. « address 192.168.0.25/24 » est une déclaration propre à la subordonnée (la feuille).

Si vous avez du mal avec cette notion, voici des exemples de configuration hiérarchique.
Désormais, nous sommes prêts à nous lancer dans la configuration de base de JunOS!

Configuration de base sous Junos

Pour débuter la configuration de Junos, nous allons commencer par les points suivants :

  • Ajouter les utilisateurs système suivants  : root et admin.
  • Modifier le nom de l’hôte et ajouter une zone de temps.
  • Supprimer le service http et configurer le service https.
  • Configurer le service SSH.
  • Configuration de deux interfaces Gigabytes.
  • Ajouter une configuration DNS au système.
  • Mettre en place une route statique vers la passerelle du réseaux.
  • Créer un Pool DHCP pour le réseau local.

Pour passer en mode configuration sous Junos (après un cli) :

bash
configure

Ajouter un mot de passe au « root »

bash
set systeme root-authentication plaintext-password
New password:
Retype new password:

Ajouter un utilisateur administrateur :

bash
set system login user admin class super-user authentication plain-text-password
New password:
Retype new password:

Modifier le nom de l’hôte

bash
set system host-name juvsrx01

Ajouter une zone de temps

bash
set system time-zone Europe/Paris

Changement de date :

bash
set date 201410011458.00

Supprimer le service d’accès web en « http »

bash
delete system services web-management http

Ajouter le service web « https »

bash
set system services web-management https system-generated-certificate

Ajouter le service « ssh »

bash
set system services ssh

Configuration d’une interface gigabyte 0/0/0

bash
set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.2/24

Configuration d’une interface gigabyte 0/0/1

bash
set interfaces ge-0/0/1 unit 0 family inet address 192.168.1.1/24

Configuration de la résolution DNS

bash
set system name-server 213.186.33.199

Ajoutern une route vers la passerelle

bash
set routing-options static route 0.0.0.0/0 next-hop 192.168.0.1

Configuration d’un POOL DHCP

bash
set system services dhcp pool 192.168.1.0/24
set system services dhcp pool 192.168.1.0/24 address-range low 192.168.1.1 high 192.168.1.254
set system services dhcp pool 192.168.1.0/24 name-server 213.186.33.199
set system services dhcp pool 192.168.1.0/24 router 192.168.1.1
set system services dhcp pool 192.168.1.0/24 exclude-address 192.168.1.1

La validation des changements sous JunOS

Pour valider les changements de configuration dans le système JunOS il existe plusieurs méthodes :

  • La première permet de faire une vérification des bonnes pratiques avant changement définitif :
bash
commit check
  • La seconde permet de faire directement les changements sans vérification préalable :
bash
commit

Je vous incite à utiliser la première méthode, notamment pour éviter les mauvaises surprises, exemple se retrouver éjecté d’une connexion SSH. Soyez Vigilant!

Pour continuer l’apprentissage de JunOS , rendez-vous sur le site officiel et sur le support!

Conclusion

J'ai posé ici les bases indispensables pour administrer un équipement JunOS : gestion des utilisateurs, nom d'hôte, SSH/HTTPS, interfaces réseau, résolution DNS, route statique et pool DHCP. Cette configuration de base constitue le socle sur lequel s'appuient ensuite des sujets plus avancés comme le virtual chassis ou les règles de sécurité. Je recommande d'utiliser systématiquement commit check avant de valider ses changements pour éviter toute mauvaise surprise, notamment une perte d'accès SSH.