Archives de catégorie : Réseau

Comprendre & configurer GNS3 correctement.

Comprendre :

Si je reprend le wiki: GNS3 (Graphical Network Simulator) est un logiciel libre permettant l’émulation ou la simulation de réseaux informatiques.

Explication:

GNS3  qui est l’équivalent de packet tracer de Cisco, a été conçu pour pallier à certaine limitation de packet tracer.  En effet, toutes les commandes ne sont pas présentes dans Packet Tracer.

Si vous souhaitez simplement tester la communication de machine virtuelle avec Wireshark à travers un hyperviseur de niveau 2 comme VMware ou VBox, vous n’avez pas besoin de GNS3. Parcontre, si vous souhaitez comprendre le fonctionnement des routeurs Cisco comme approfondir les protocoles de routage, etc…, ces deux outils sont adaptés pour cet apprentissage. Cependant, même s’ils permettent sensiblement de faire la même chose, ils ont une différence de taille; contrairement à Packet Tracert, GNS3 permet l’utilisation de machine virtuelle et un raccordement au réseau réel.

« Il faut bien garder en mémoire le but dans lequel GNS3 a été créé. »

Prérequis :

  • VMware installés et j’ai attribué les cartes réseaux VMnet comme ci-dessous.

  • Télécharger l’image de la machine virtuelle GNS3 et l’importer dans VMWare. Les deux cartes VMnet  sont  attribuées dans la machine virtuelle GNS3.
  • Une liste d’image IOS

1/ Choix du Serveur

Dans le menu Edit-> Preferences, renseigner GNS3 VMware server. En effet, ceci est du à une certaine instabilité de l’émulation des images IOS sous Windows. En faite, cette étape est primordiale.

2/Testes des Images IOS.

Ceci est une étape importante pour la mise en place de maquette, il faut s’assurer de la stabilité des images importées. Donc, on met en place une maquette simple mais efficace.

2-1/Importer une image IOS:

  1. Cliquer sur New Appliance Template
  2. Choisir l’option Add an IOS
  3. Cliquer sur OK

Ensuite, choisir l’option de faire fonctionner l’image IOS sur la machine virtuelle tournant dans GNS3.

2-2/Maquette:

  • 2 VPCS
  • 2 Routeur pour simuler le comportement d’une box
  • 1 Routeur pour recevoir les pings
  • 1 Switch

Dans cet exemple, les PC1 et 2 sont respectivement derrière une box et ping le routeur R1 à l’adresse 192.168.254.254.

Avant de commencer, pour mieux apprécier le schéma, dans le menu View, cocher les options :

  • Snap to grid
  • Show the grid

Mettre en place les éléments et les nommer correctement. Lors de la mise en place de l’EtherSwitch, il est demandé sur quel machine souhaitez vous la faire fonctionner, naturellement, choisissez GNS3 VM.

2-3/Configuration & Test

Raccorder les machines et enfin démarrer l’ensemble. Si vous avez mis le maximum de coeur pour la VM GNS3, le CPU est sollicité à 100%. Double cliquer sur tous les routeurs et vérifier qu’ils ont tous complètement booter. Ensuite clique droit sur L’icône du routeur et choisir Idle-PC. Un menu déroulant va apparaitre et choisir un des éléments signalé par un astérisque.

Entrer les commandes suivantes:

  • PCs
ip 192.168.0.1 192.168.0.254
save

BOX1

conf t
interface fa0/0
ip address 192.168.0.254 255.255.255.0
no shutdown
ip nat inside

interface fa0/1
ip address 192.168.254.1 255.255.255.0
no shutdown
ip nat outside

access-list 1 permit 192.168.0.0 0.0.0.255
access-list 1 deny any

ip nat inside source list 1 interface fastEthernet 0/1
ip route 0.0.0.0 0.0.0.0 192.168.254.254
exit
write memory
copy run start

BOX2

conf t

interface fa0/0
ip address 192.168.0.254 255.255.255.0
no shutdown
ip nat inside

interface fa0/1
ip address 192.168.254.2 255.255.255.0
no shutdown
ip nat outside

access-list 1 permit 192.168.0.0 0.0.0.255
access-list 1 deny any

ip nat inside source list 1 interface fastEthernet 0/1
ip route 0.0.0.0 0.0.0.0 192.168.254.254

exit
write memory
copy run start

R1

conf t

interface fa0/0
ip address 192.168.254.254 255.255.255.0
no shutdown

exit
exit
write memory
copy run start

On ouvre Wireshark sur la pâte reliant le switch et le routeur R1 et on lance un ping d’un des deux PCs pour vérifier que le NAT s’exécute correctement.

Enfin, on enregistre la maquette, ensuite, on ferme le document et on le réouvre. Mise à part le problème de l’occupation du CPU à 100%, si le ping est correctement « natté », alors c’est que l’image est stable.

Connecter des machines virtuelles dans GNS3

Suite à diverse message d’erreur dans GNS3 comme ci-dessous, j’en suis venu à utiliser diverse méthode pour connecter les machines virtuelles.

Server error from http://127.0.0.1:3080: SW1: unable to create generic ethernet NIO

Server error from http://127.0.0.1:3080: Windows Server 2012 contorse: Could not find NPF id for VMnet interface VMnet1

Prérequis :

  • GNS3 et VMware (fraîchement) installés.
  • Importer une image IOS afin de créer un routeur avec deux cartes réseaux et un périphérique final virtuel avec une carte réseau.
  • l’hôte se connecte à Internet

Mise en scène :

  1. Un routeur virtuel
  2. Une machine virtuel

schema-1-gns3

Dans cet exemple, la machine virtuelle à l’adresse IP 172.16.254.10 accède à Internet à l’aide d’un routeur virtuel par l’adresse IP 172.16.254.1.

1/ Créer les cartes VMnetX depuis GNS3

Après une nouvelle installation, choisir serveur local (127.0.0.1).

Dans le menu Edit->Preferences
à droite de la fenêtre, dans le menu, choisir VMware, à gauche choisir l’onglet Network,
Pour mon exemple,
mettre de vmnet4 à vmnet 5,
sélectionner la case « Block network traffic originating from the host OS »
et cliquer sur Configure

fix interface in GNS3
fix interface in GNS3

2/ Attribuer correctement les cartes réseaux dans les machines virtuelles.

Suite à une nouvelle installation de VMware workstation, dans le menu Edit, Virtual Network Editor, il y a 3 cartes réseaux.
VMnet0 bridged Auto-bridging – – –
VMnet1 Host-only – Connected – X
VMnet8 NAT NAT Connected – X

fix-network-in-wmware-1
fix-network-in-wmware-1

Logiquement, après manipulation dans GNS3 deux cartes réseaux ont été rajouté comme sur l’image ci-dessous. (Ne pas tenir compte des adresses réseaux)

Assigner correctement les cartes réseaux dans les machines virtuelles.

Attention de bien  attribuer les cartes réseaux dans la machine virtuel surtout quand vous en avez deux ou plus comme dans le cas du parefeu.
Dans virtual Machine Settings => Network Adapter => « Custom: Spécific virtual network » => VMnet1(Host-only)
Network Adapter 2 => « Custom: Spécific virtual network » => VMnet5(Host-only)

 

fix-iface-ipfire-1
fix-iface-ipfire-1

On peut démarrer la machine virtuelle.

3/ Connexions dans GNS3.

Il est possible d’importer des machines virtuelles dans GNS3 comme une image IOS ou de passer par le cloud.

Pour le serveur 2012.

  1. on clique sur le petit écran et on glisse un nuage dans la partie central du logiciel.
  2. on clique droit sur le nuage et sur Configure.
  3. Dans la fenêtre Node properties, on reste sur l’onglet Ethernet on sélectionne la liste Generic Ethernet NIO VMnet4.
  4. Il est possible de définir un icône différent en cliquant droit sur le nuage

makeacloud-1

 

On glisse un switch et on interconnecte les cloud et le routeur.
Si la communication ne se fait pas, écouter avec Wireshark en cliquant droit sur l’un des câbles connectant un cloud et le switch pour savoir si c’est le client ou le serveur qui n’émet pas. Débrancher dans GNS3 la connexion qui bogue et rebrancher. Retourner dans la configuration de la machine virtuel, sélectionner la carte réseau défaillante, et en haut à droite, décocher la case Connected, faire Ok. Enfin, cocher la case Connected et encore Ok. Logiquement la machine à communique. Si vraiment ça ne fonctionne pas, c’est surement les libpcap qui ont crashé, je suis désolé, il faut redémarrer l’hôte.

4/ Comment accéder aux réseaux virtuels depuis l’hôte ?

4-a/Pour les cartes Ethernet

1/Les cartes Ethernet peuvent directement mises dans un cloud. Dans ce cas là, il est même possible, d’enlever les protocoles IPv4 et IPv6 de la carte et laissez le matériel virtuel servir de routeur ou de pare-feu gérant l’accès vers l’extérieur (Internet).

2/ Il est aussi possible d’installer une carte de bouclage Microsoft-KM test et l’inclure dans un nouveau cloud.

Clique droit dans le menu Démarrer et Gestionnaire de périphériques. Dans la fenêtre mmc qui apparait, clique droit sur l’ordinateur et ajouter un matériel d’ancienne génération.
Sélectionner la Carte réseau et cliquer sur Suivant,
Sélectionner Microsoft puis la carte carte de bouclage Microsoft-KM test, et enfin Suivant.

installloopback-1
installloopback-1

4-b/Pour les cartes Wifi:

Les cartes WIFI ne prennent pas en charge le pont. Cependant, il existe une veille méthode de partage de connexion en passant par les propriétés de la carte.
givewifi-1

Si l’on souhaite dans ce cas de figure donner un accès à l’hôte au réseau GNS3 sans cartes de bouclage réseau, il faut renseigner correctement l’existence de la route à l’hôte pour accéder au réseau GNS3. A l’aide de la commande route print, je récupère le numéro de la carte réseau (celui avant les trois petits points et l’adresse physique).

[bash]C:\Windows\system32>ipconfig

[…]
Carte Ethernet VMware Network Adapter VMnet1 :

Suffixe DNS propre à la connexion. . . :
Adresse IPv6 de liaison locale. . . . .: fe80::a83d:4467:abb7:65e1%18
Adresse IPv4. . . . . . . . . . . . . .: 192.168.137.1
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Passerelle par défaut. . . . . . . . . :
[…]

C:\Windows\system32>route print
===========================================================================
Liste d’Interfaces
17…44 8a 5b ed 6b 7f ……Qualcomm Atheros AR8161 PCI-E Gigabit Ethernet Controller (NDIS 6.30)
36…02 00 4c 4f 4f 50 ……Npcap Loopback Adapter
60…02 00 4c 4f 4f 50 ……Carte de bouclage Microsoft KM-TEST
23…48 51 b7 00 d4 8b ……Microsoft Wi-Fi Direct Virtual Adapter
18…00 50 56 c0 00 01 ……VMware Virtual Ethernet Adapter for VMnet1
19…00 50 56 c0 00 08 ……VMware Virtual Ethernet Adapter for VMnet8
56…00 50 56 c0 00 04 ……VMware Virtual Ethernet Adapter for VMnet4
58…00 50 56 c0 00 05 ……VMware Virtual Ethernet Adapter for VMnet5
4…48 51 b7 00 d4 8a ……Intel(R) Dual Band Wireless-AC 7260
3…48 51 b7 00 d4 8e ……Bluetooth Device (Personal Area Network)
1………………………Software Loopback Interface 1
===========================================================================
[…]
C:\Windows\system32>route add 172.16.254.0 mask 255.255.255.0 192.168.137.81 if 18
OK!

C:\Windows\system32>ping 172.16.254.10

Envoi d’une requête ‘Ping’ 172.16.254.10 avec 32 octets de données :
Réponse de 172.16.254.10 : octets=32 temps=1 ms TTL=127
Réponse de 172.16.254.10 : octets=32 temps=1 ms TTL=127
Réponse de 172.16.254.10 : octets=32 temps=2 ms TTL=127
Réponse de 172.16.254.10 : octets=32 temps=1 ms TTL=127

Statistiques Ping pour 172.16.254.10:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 1ms, Maximum = 2ms, Moyenne = 1ms [/bash]