Objectifs de certification
CCNA 200-301
1.5 Comparer TCP à UDP
1.6 Configurer et vérifier l’adressage et le sous-réseautage (subnetting) IPv4
1.10 Vérifier les paramètres IP des OS clients (Windows, Mac OS, Linux)
4.3 Expliquer le rôle de DHCP et de DNS au sein du réseau
4.1 Configurer et vérifier inside source NAT (static et pools)
Lab vérifications et analyses TCP/IP
1. Objectifs
Cette activité consiste à déployer une topologie LAN simple connecté à l’Internet avec la configuration d’un routeur en Cisco IOS. C’est un aussi un “Lab de démarrage”. L’objectif principal est d’observer du trafic ICMP, TCP et UDP et de réaliser des tâches de diagnostic fondamental.
1.1. Préalable
Au préalable, on ira lire les documents qui exposent la nature de l’IOS Cisco, celui qui permet de mettre en place un environnement d’exercice avec GNS3, celui qui expose les méthodes de connexion à un routeur Cisco et enfin, une initiation à l’environnement en ligne de commande Cisco IOS.
2. Construire la topologie
2.1. Composants
Composant | Nom | Image | Rôle |
---|---|---|---|
Routeur | gateway | vios-adventerprisek9-m.vmdk.SPA.156-2.T | Passerelle IPv4 entre l’Internet et le LAN avec services DHCP, DHCPv6, SLAAC, DNS Forwarder |
Nuage | Internet | Intégré au logiciel | Simule un Internet IPv4 |
Commutateur | SW0 | Intégré au logiciel | Commutateur du LAN |
Ordinateur | PC1 | centos7.qcow2 | PC client TCP/IP dans le LAN |
Ordinateur | PC2 | centos7.qcow2 | PC client TCP/IP dans le LAN |
2.2. Connexions
Périphérique 1 | Interface | Interface | Périphérique 2 | Réseau partagé |
---|---|---|---|---|
Internet | nat0 | G0/1 | - | - |
gateway | G0/1 | nat0 | Internet | WAN |
gateway | G0/0 | e0 | SW0 | LAN |
SW0 | e0 | G0/0 | Gateway | LAN |
SW0 | e1 | eth0 | PC1 | LAN |
SW0 | e2 | eth0 | PC2 | LAN |
2.3. Plan d’adressage
Une seule interface dispose de paramètres IPv4 et IPv6 statiques :
- G0/0 du routeur “gateway” :
- Adresse IPv4 privée :
192.168.1.254 255.255.255.0
- Adresse IPv6 Link-Local :
fe80::1/64
- Adresse IPv6 privée :
fd00:192:168:1::/64
Un service DHCP distribue les adresses dans cette plage de 192.168.1.1
à 192.168.1.199
.
Le routeur s’annonce en DHCP comme passerelle et comme résolveur de noms DNS.
Le routeur remplit les tâches NAT qui interconnecte le réseau IPv4 privé 192.168.1.0/24
à l’Internet (public).
2.4. Configuration du routeur
Pour appliquer la configuration suivante, veuillez :
- Coller la configuration suivante dans la mémoire tampon
- Vous connecter à la console physique avec un logiciel de terminal.
- Copier le texte à partir du mode privilège avec l’invite
router#
On remarque une configuration très sémantique.
configure terminal
!
hostname gateway
!
interface GigabitEthernet0/0
description LAN interface
ip address 192.168.1.254 255.255.255.0
ip nat inside
no shutdown
!
interface GigabitEthernet0/1
description WAN interface
ip address dhcp
ip nat outside
no shutdown
!
ip access-list standard LAN
permit 192.168.1.0 0.0.0.255
!
ip nat inside source list LAN interface GigabitEthernet0/1 overload
!
ip domain lookup
ip name-server 8.8.8.8
ip dns server
!
ip dhcp pool DHCP-LAN
network 192.168.1.0 255.255.255.0
default-router 192.168.1.254
dns-server 192.168.1.254
!
ip dhcp excluded-address 192.168.1.200 192.168.1.254
!
ipv6 unicast-routing
!
ipv6 dhcp pool DHCPv6-LAN
address prefix FD00:192:168:1::/64
dns-server FD00:192:168:1::1
!
interface GigabitEthernet0/0
ipv6 address FE80::1 link-local
ipv6 address FD00:192:168:1::1/64
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp server DHCPv6-LAN
!
interface GigabitEthernet0/1
description WAN interface
ipv6 address autoconfig
ipv6 nd ra suppress
!
end
!
wr
3. Vérifications à partir des clients TCP/IP
3.1. Paramètres IPv4
Visualisation de paramètres IPv4 :
[root@pc1 ~]# ip -4 add show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 83942sec preferred_lft 83942sec
Table de routage IPv4 :
[root@pc1 ~]# ip route
default via 192.168.1.254 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 metric 100
Résolveurs de noms :
[root@pc1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.254
nameserver fd00:192:168:1::1
Test de connectivité locale (passerelle) :
[root@pc1 ~]# ping -c 1 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=255 time=1.38 ms
--- 192.168.1.254 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.389/1.389/1.389/0.000 ms
Test de connectivité globale :
[root@pc1 ~]# ping -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=3.21 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.217/3.217/3.217/0.000 ms
Test de connectivité globale avec résolution de nom :
[root@pc1 ~]# ping -c 1 www.google.com
PING www.google.com (216.58.213.164) 56(84) bytes of data.
64 bytes from www.google.com (216.58.213.164): icmp_seq=1 ttl=52 time=2.24 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.247/2.247/2.247/0.000 ms
Test de résolution de noms locale :
user@ubuntu1604:~$ dig www.google.com
[root@pc1 ~]# dig www.google.com
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39810
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 267 IN A 216.58.213.164
;; Query time: 17 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: Mon Jun 19 18:07:14 CEST 2017
;; MSG SIZE rcvd: 48
Test de résolution de noms distante :
[root@pc1 ~]# dig @8.8.8.8 www.google.com
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> @8.8.8.8 www.google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42683
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 299 IN A 216.58.213.164
;; Query time: 22 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jun 19 18:08:04 CEST 2017
;; MSG SIZE rcvd: 59
Connectivité HTTP :
curl ipinfo.io/ip
XX.XX.XX.XX
Table ARP avec de joindre une nouvelle adresse :
[root@pc1 ~]# ip -4 neighbor
192.168.1.254 dev eth0 lladdr 00:60:0d:08:b4:00 STALE
Table ARP après avoir joint une nouvelle adresse :
[root@pc1 ~]# ping -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.90 ms
--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.909/2.909/2.909/0.000 ms
[[root@pc1 ~]# ip -4 neighbor
192.168.1.1 dev eth0 lladdr 00:60:0d:05:04:00 STALE
192.168.1.254 dev eth0 lladdr 00:60:0d:08:b4:00 STALE
4. Configuration manuelle d’un hôte terminal
Tâches à exécuter avec les droits du super-utilisateur (root).
Arrêt du gestionnaire réseau :
systemctl stop networking || systemctl stop NetworkManager
Définition de l’adresse IPv4 et de son masque :
ip add add dev eth0 192.168.1.1/24
Activation de l’interface :
ip link set dev eth0 up
Création d’une route par défaut :
ip route add default via 192.168.1.254
Paramètre de résolveur de noms :
echo "nameserver 192.168.1.254" >> /etc/resolv.conf
5. Analyse de trafic
- Capture de trafic
- Génération de trafic
- Analyse de trafic
5.1. Trafic HTTP et DNS
Lancer une capture à partir de l’interface de PC1.
curl -i -X GET http://www.test.tf
curl -i -X HEAD http://www.test.tf
Sauvegarder la capture : https://www.cloudshark.org/captures/70eea568e03c.
5.2. Trafic TCP / UDP
Netcat
est un outil libre de bas niveau qui sert à monter des tunnels TCP ou UDP. Seul, amélioré ou combiné avec des outils de chiffrement, il est une véritable boîte à outils du plombier du réseau.
On le propose ici dans un contexte client / serveur où PC1 joue le rôle de serveur TCP/UDP et PC2 joue le rôle de client TCP/UDP. L’objectif est de transmettre un dialogue texte du type “ici PC2”, “ici PC1”, “Au revoir” en UDP et en TCP.
Lancement du serveur TCP sur le port 4444 sur PC1 :
user@PC1:~$ nc -l -p 4444
Le client PC2 lance une session TCP sur le port 4444 de PC1 :
user@PC2:~$ nc 192.168.1.1 4444
ici PC2
Sur PC1, le message s’affiche et on répond :
user@PC1:~$ nc -l -p 4444
ici PC2
ici PC1
PC2 clôture la conversion :
user@PC2:~$ nc 192.168.1.1 4444
ici PC2
ici PC1
Au revoir
^C
Sauvegarder la capture : https://www.cloudshark.org/captures/f54d3f43824a.
Idem en UDP :
user@PC1:~$ nc -l -u -p 4444
user@PC2:~$ nc -u 192.168.1.1 4444
Sauvegarder la capture : https://www.cloudshark.org/captures/2c9e082671c9.