====== Différences ======

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

cours:activite2:quagga [2014/03/05 11:13]
r.doiteau créée
cours:activite2:quagga [2019/05/11 14:35] (Version actuelle)
Ligne 1: Ligne 1:
-zefzefr+====== QUAGGA ====== 
 + 
 +===== Objectifs ===== 
 + 
 +Nous avons utilisé jusqu'​ici les équipements Cisco, dans la suite du document nous vous proposons de découvrir une solution de routage logicielle appelée Quagga.  
 + 
 + ​Avantages : 
 + 
 +    Logiciel libre. 
 +    Plateforme supportée : gnu/Linux, FreeBSD, NetBSD, OpenBSD, Mac OSX. 
 +    L'un de ses intérêts est de proposer des commandes très proches des commande Cisco. 
 +    Quagga supporte les protocoles : IPv4, IPv6 
 +    Quagga supporte les protocoles de routage : RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, IS-IS, BGP-4, and BGP-4. 
 +    Quagga offre de nombreuses fonctionnalités de filtrage très flexibles. 
 + 
 +Nous mettrons en situation cette solution dans deux cas pratiques : 
 + 
 +    Routage statique. 
 +    Routage dynamique avec RIP. 
 + 
 +===== Topologie ===== 
 + 
 +==== Plan d’adressage =====  
 + 
 +{{:​cours:​activite2:​quagga.png|}} 
 + 
 +==== Configuration ==== 
 + 
 +  
 +    R1, R2, R3 : 
 +        Routeurs Quagga 
 +        OS : Debian 7.1 
 +        RAM : 128 Mo 
 +        CPU : 1 
 +        DD : 3 Go 
 + 
 +    S1, S2, S3 : 
 +        Machine clientes 
 +        OS : Debian 7.1 
 +        RAM : 128 Mo 
 +        CPU : 1 
 +        DD : 3 Go 
 +         
 +===== Installation ===== 
 + 
 +⇒ Installer une machine Debian sans interface graphique avec les caractéristiques proposées. 
 +⇒ Installer les paquets suivants : ssh, tcpdump et quagga 
 +Configuration 
 +Quagga 
 + 
 +⇒ Créer les fichiers suivants : 
 +<​code=bash>​ 
 +#nano /​etc/​quagga/​zebra.conf 
 +#nano /​etc/​quagga/​ripd.conf 
 +</​code>​ 
 +⇒ Modifier le fichier /​etc/​quagga/​deamon,​ en mettant à yes les champs suivants : 
 +<​code=bash>​ 
 +zebra=yes 
 +ripd=yes 
 +</​code>​ 
 +Configuration de VTYSH 
 + 
 +⇒ Copier et Modifier le fichier /​etc/​quagga/​vtysh.conf :  
 +<​code=bash>​ 
 +#cp /​usr/​share/​doc/​quagga/​examlples/​vtysh.conf.sample /​etc/​quagga/​vtysh.conf 
 +</​code>​ 
 +<​note><​code=bash>​! service intergrated-vtysh-config 
 +hostname Rx 
 +username root nopassword</​code></​note>​ 
 + 
 +Remplacer Rx avec le nom du routeur : R1, R2 ou R3 
 + 
 +⇒ Positionner les droits sur les fichiers :  
 +<​code=bash>​ 
 +# chown quagga:​quaggavty /​etc/​quagga/​*.conf 
 +# chmod 640 /​etc/​quagga/​*.conf 
 +</​code>​ 
 +⇒ Configurer l'​environnement :  
 +<​code=bash>​ 
 +# echo VTYSH_PAGER=more > /​etc/​environement 
 +</​code>​ 
 +<​note>​Sous DEBIAN; il faut aussi modifier le bash.bashrc en exportant cette variable : export VTYSH_PAGER=more 
 + </​note>​ 
 + 
 +===== Configuration des interfaces réseaux ===== 
 + 
 +⇒ En vous basant sur la topologie, entrer la configuration des interfaces réseau dans le fichier /​etc/​network/​interfaces. 
 + 
 +===== Transformer la machine en routeur ===== 
 + 
 +<​code=bash>​ 
 +#echo "​net.ipv4.ip_forward = 1" >> /​etc/​sysctl.conf 
 +</​code>​ 
 + 
 +===== Test et création des clones ===== 
 + 
 +⇒ Démarrer le service quagga :  
 + 
 +<​code=bash>​ 
 +# service quagga start 
 +root@quagga1:​~#​ service quagga start 
 +Loading capability module if not yet done. 
 +Starting Quagga daemons (prio:10): zebra ripd. 
 +Starting Quagga monitor daemon: watchquagga. 
 +</​code>​ 
 + 
 +⇒ Faire un test :  
 + 
 +<​code=bash>​ 
 +root@quagga1:​~#​ vtysh  
 +  
 +Hello, this is Quagga (version 0.99.22.4). 
 +Copyright 1996-2005 Kunihiro Ishiguro, et al. 
 +  
 +quagga1# 
 +</​code>​ 
 + 
 +<​code=bash>​ 
 +quagga1# show  ip route   
 +Codes: K - kernel route, C - connected, S - static, R - RIP, 
 +       O - OSPF, I - IS-IS, B - BGP, A - Babel, 
 +       > - selected route, * - FIB route 
 +  
 +C>* 100.0.0.0/8 is directly connected, eth1 
 +R>* 101.0.0.0/8 [120/2] via 102.0.0.2, eth2, 00:02:20 
 +C>* 102.0.0.0/8 is directly connected, eth2 
 +C>* 127.0.0.0/8 is directly connected, lo 
 +C>* 192.168.1.0/​24 is directly connected, eth0 
 +R>* 192.168.2.0/​24 [120/3] via 102.0.0.2, eth2, 00:02:20 
 +R>* 192.168.3.0/​24 [120/2] via 102.0.0.2, eth2, 00:02:20 
 +</​code>​ 
 + 
 + votre sortie sera différente. 
 + 
 +⇒ Arrêter le routeur modèle R1. 
 +⇒ Cloner deux autres machines, R2 et R3 depuis le routeur modèle. 
 + 
 +<note warning>​3 fichiers sont a modifier /etc/hosts, /​etc/​hostname et /​etc/​quagga/​vtysh.conf</​note>​ 
 +⇒ Démarrer les routeur R2 et R3. 
 +⇒ Configurer les routeur R2 et R3 selon la topologie. 
 + 
 + 
 +⇒Détails des fichiers /​etc/​network/​interfaces 
 + 
 +==== R1 ==== 
 + 
 +auto  eth0 
 +iface eth0 inet static 
 +address 192.168.1.254 
 +netmask 255.255.255.0 
 + 
 +auto eth1 
 +iface eth1 inet static 
 +address 100.0.0.1 
 +netmask 255.0.0.0 
 + 
 +auto eth2 
 +iface eth2 inet static 
 +address 102.0.0.1 
 +netmask 255.0.0.0 
 + 
 +==== R2 ==== 
 + 
 + 
 +auto eth0 
 +iface eth0 inet static 
 +address 192.168.2.254 
 +netmask 255.255.255.0 
 + 
 +auto eth1 
 +iface eth1 inet static 
 +address 100.0.0.2 
 +netmask 255.0.0.0 
 + 
 +auto eth2 
 +iface eth2 inet static 
 +address 101.0.0.1 
 +netmask 255.0.0.0 
 + 
 +==== R3 ==== 
 + 
 +auto eth0 
 +iface eth0 inet static 
 +address 192.168.3.254 
 +netmask 255.255.255.0 
 + 
 +auto eth1 
 +iface eth1 inet static 
 +address 101.0.0.2 
 +netmask 255.0.0.0 
 + 
 +auto eth2 
 +iface eth2 inet static 
 +address 102.0.0.2 
 +netmask 255.0.0.0 
 + 
 + 
 + 
 + 
 + 
 +===== Préparation des machines clientes : S1, S2 et S3 ===== 
 + 
 +==== Installation ==== 
 + 
 +⇒ Installer une machine Debian sans interface graphique avec les caractéristiques proposées. 
 +⇒ Installer le paquet suivant : ssh 
 +Configuration 
 +Configuration des interfaces réseaux 
 + 
 +    En vous basant sur la topologie et pour chaque machine : 
 + 
 +⇒ Entrer la configuration de l'​interface réseau dans le fichier /​etc/​network/​interfaces. 
 + 
 +⇒ Configurer la routes par défaut. 
 + 
 +==== Route Statique ==== 
 + 
 +=== R1 === 
 + 
 +R1(config)# ip route 192.168.2.0 255.255.255.0 100.0.0.2 
 +R1(config)# ip route 192.168.3.0 255.255.255.0 102.0.0.2 
 + 
 +=== R2 === 
 + 
 +R2(config)# ip route 192.168.1.0 255.255.255.0 100.0.0.1 
 +R2(config)# ip route 192.168.3.0 255.255.255.0 101.0.0.2 
 + 
 +=== R3 === 
 + 
 +R3(config)# ip route 192.168.2.0 255.255.255.0 101.0.0.1 
 +R3(config)# ip route 192.168.1.0 255.255.255.0 102.0.0.1 
 + 
 + 
 +==== RIP ==== 
 + 
 +<note warning>​Effacer les routes statiques</​note>​ 
 + 
 +=== R1 === 
 + 
 +conf t 
 +router rip 
 +network 192.168.1.0/​24 
 +network 100.0.0.0/​8 
 +network 102.0.0.0/​8 
 +passive-interface ​ eth0 
 + 
 +=== R2 === 
 + 
 +conf t 
 +router rip 
 +network 192.168.2.0/​24 
 +network 100.0.0.0/​8 
 +network 101.0.0.0/​8 
 +passive-interface ​ eth0 
 + 
 +=== R3 === 
 + 
 +conf t 
 +router rip 
 +network 192.168.2.0/​24 
 +network 101.0.0.0/​8 
 +network 102.0.0.0/​8 
 +passive-interface ​ eth0 
 + 
 +===== Intégration d'une quatrième interface INTERNET ===== 
 + 
 +==== Topologie ==== 
 + 
 +{{:​cours:​activite2:​quagga_1.png|}} 
 + 
 +==== Installation ==== 
 + 
 +⇒ modifier /​etc/​network/​interfaces pour faire correspondre la topologie  
 + 
 +⇒ Mettre en place la translation d’adressage 
 + 
 +<​code=bash>​ 
 +iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE 
 +</​code>​ 
 + 
 +⇒ Vérifiez la bonne prise en compte de la règle par : 
 + 
 +<​code=bash>​ 
 +iptables -t nat -L 
 +</​code>​ 
 + 
 +⇒ Activer la translation d’adresses (NAT) au démarrage : 
 + 
 +⇒ Inscrivez la ligne suivante juste avant exit 0 mais après la ligne concernant le routage dans le fichier /​etc/​rc.local : 
 + 
 +<​code=bash>​ 
 +/​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 +</​code>​ 
 + 
 +⇒ Relancez votre système et vérifiez à nouveau l’existence de la règle NAT à l’aide de la commande vue plus haut. 
 + 
 +==== Détails running-config ==== 
 + 
 +=== R1 === 
 + 
 +
 +hostname R1 
 +
 +debug rip packet 
 +
 +interface eth0 
 + ipv6 nd suppress-ra 
 +
 +interface eth1 
 + ipv6 nd suppress-ra 
 +
 +interface eth2 
 + ipv6 nd suppress-ra 
 +
 +interface eth3 
 + ipv6 nd suppress-ra 
 +
 +interface lo 
 +
 +router rip 
 + ​version 2 
 + ​redistribute kernel 
 + ​network 100.0.0.0/​8 
 + ​network 102.0.0.0/​8 
 + ​network 192.168.1.0/​24 
 + ​network 192.168.254.0/​24 
 + ​passive-interface eth0 
 +
 +ip forwarding 
 +
 +line vty 
 +
 +end 
 + 
 +=== R2 === 
 + 
 +hostname R2 
 +
 +interface eth0 
 + ipv6 nd suppress-ra 
 +
 +interface eth1 
 + ipv6 nd suppress-ra 
 +
 +interface eth2 
 + ipv6 nd suppress-ra 
 +
 +interface lo 
 +
 +router rip 
 + ​version 2 
 + ​network 100.0.0.0/​8 
 + ​network 101.0.0.0/​8 
 + ​network 192.168.2.0/​24 
 + ​passive-interface eth0 
 +
 +ip forwarding 
 +
 +line vty 
 +
 +end 
 + 
 +=== R3 === 
 + 
 +
 +hostname R3 
 +
 +interface eth0 
 + ipv6 nd suppress-ra 
 +
 +interface eth1 
 + ipv6 nd suppress-ra 
 +
 +interface eth2 
 + ipv6 nd suppress-ra 
 +
 +interface lo 
 +
 +router rip 
 + ​version 2 
 + ​network 101.0.0.0/​8 
 + ​network 102.0.0.0/​8 
 + ​network 192.168.3.0/​24 
 + ​passive-interface eth0 
 +
 +ip forwarding 
 +
 +line vty 
 +
 +end 
 + 
 + 
 + 
 + 
 + 
 
cours/activite2/quagga.1394014422.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page