Juniper Network : JunOS
Juniper Network est un acteur majeur en équipement de télécommunication réseau & sécurité.
JunOS est 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 chassis sous 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 de Firefly 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, Perimeter etc…) JunOS nous affiche :
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).
login : root
Généralement, un message d’accueil s’affiche sur notre écran, nous rentrons en mode : cli.
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é :
- 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 « > ».root@juex1_24p>
- 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 « # ».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):
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; } } } }
- « interfaces » est le niveau le plus haut du nœud c’est le top level (le tronc).
- « ge-0/0/0 » et « ge-0/0/01 » sont tous les deux des subordonnées du conteneur (la branche).
- « 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) :
configure
Ajouter un mot de passe au « root »
set systeme root-authentication plaintext-password New password: Retype new password:
Ajouter un utilisateur administrateur :
set system login user admin class super-user authentication plain-text-password New password: Retype new password:
Modifier le nom de l’hôte
set system host-name juvsrx01
Ajouter une zone de temps
set system time-zone Europe/Paris
Changement de date :
set date 201410011458.00
Supprimer le service d’accès web en « http »
delete system services web-management http
Ajouter le service web « https »
set system services web-management https system-generated-certificate
Ajouter le service « ssh »
set system services ssh
Configuration d’une interface gigabyte 0/0/0
set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.2/24
Configuration d’une interface gigabyte 0/0/1
set interfaces ge-0/0/1 unit 0 family inet address 192.168.1.1/24
Configuration de la résolution DNS
set system name-server 213.186.33.199
Ajoutern une route vers la passerelle
set routing-options static route 0.0.0.0/0 next-hop 192.168.0.1
Configuration d’un POOL DHCP
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 :
commit check
- La seconde permet de faire directement les changements sans vérification préalable :
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!