Correction de l'exercice sur Packet Tracer : NAT Statique

Capture d'écran

(Voici une proposition de réalisation de l'exercice.)

Objectif : Permettre au PC-Externe d'accéder au site web hébergé sur le serveur WEB en contactant l'IP publique de R1.


Sur COM_1

(il n'y a, en réalité, rien à faire puisque nous laissons tout dans le VLAN 1)

COM_1> enable
COM_1# conf t
COM_1(config)# interface range Gig7/1 - Gig9/1
COM_1(config-if)# switchport mode access
COM_1(config-if)# no shut
COM_1(config-if)# end
COM_1# write mem

Sur R1 :

R1> enable
R1# conf t
R1(config)# int Gig9/0
R1(config-if)# ip add 192.168.1.1 255.255.255.0
R1(config-if)# no shut
R1(config-if)# int Gig8/0
R1(config-if)# ip add 203.0.113.1 255.255.255.252
R1(config-if)# no shut
R1(config-if)# exit

! Définir le NAT inside / NAT outside
R1(config)# int Gig9/0
R1(config-if)# ip nat inside
R1(config-if)# int Gig8/0
R1(config-if)# ip nat outside
R1(config-if)# exit

! NAT : Associer l'IP privée 192.168.1.10 à une IP publique (exemple : 203.0.113.1, celle de R1)
R1(config)# ip nat inside source static 192.168.1.10 203.0.113.1

! Créer la route par défaut de R1 vers R2
R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.2
R1(config)# end
R1# write mem

Sur R2

R2> enable
R2# conf t
R2(config)# int Gig9/0
R2(config-if)# ip add 203.0.113.2 255.255.255.252
R2(config-if)# no shut
R2(config-if)# int Gig8/0
R2(config-if)# ip add 192.168.2.1 255.255.255.0
R2(config-if)# no shut
R2(config-if)# exit

! Créer la route par défaut de R2 vers R1
R2(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
R2(config)# end
R2# write mem

Configurer le serveur WEB

IP : 192.168.1.10
Netmask : 255.255.255.0
Passerelle : 192.168.1.1
Vérifiez que le service HTTP dans l'onglet Services du serveur est sur On (pour pouvoir tester l'accès au site web depuis PC-Externe). Par défaut, il l'est.


Configurer le PC0

(il ne sert qu'à tester l'accès au site web en interne)

IP : 192.168.1.20
Netmask : 255.255.255.0
Passerelle : 192.168.1.1


Configurer le PC-Externe

IP : 192.168.2.10
Netmask : 255.255.255.0
Passerelle : 192.168.2.1


Effectuer les tests

1) Tester l'accès de PC0 au site web de WEB

Dans l'onglet "Desktop", cliquez sur "Web Browser" et entrez l'URL "http://192.168.1.10"

2) Depuis R2, pinguer l'interface de R1 (ping 203.113.1)

3) Depuis R1, pinguer l'interface de R2 (ping 203.0.113.2)

Pourquoi est-ce que ça ne fonctionne pas dans ce sens?
-> Quand R1 envoie un ping, il utilise comme adresse source 203.0.113.1 (l'IP de son interface WAN).
Or cette même adresse est également associée, par la NAT, au serveur WEB (192.168.1.10) pour tout trafic entrant.
Cela perturbe donc le fonctionnement normal du routage et de l'ARP car pour R1, la cible 203.0.113.1 est sa propre WAN, alors que pour le trafic entrant depuis R2 ou PC-Externe, cette IP doit se traduire vers 192.168.1.10.

Qu'aurait-il fallu faire pour éviter cette situation ?
-> Utiliser une IP publique distincte pour la NAT !
Par exemple :

R1(config)# ip nat inside source static 192.168.1.10 203.0.113.10

Je vous laisse donc apporter les modifications pour éviter cette situation ou bien effectuer un DNAT (voir un peu plus bas !

Sur Internet, cette situation n'est possible que si vous disposez d'un bloc d'adresses IP publiques. (englobant à la fois la WAN de R1 et l'IP publique réservée au NAT).
Cette situation a du sens si vous voulez offrir un vrai NAT 1:1 pour votre serveur. Mais il faut posséder ou louer cette IP (ou le bloc !).

Mais alors comment faire si je ne dispose qu'une seule adresse IP publique pour R1 ?
-> C'est là que le port forwarding intervient ! (souvent appelé PAT, Nat port mapping, redirection de port ou encore DNAT).
Au lieu de déclarer la translation sur toute l'IP, nous la déclarons uniquement sur un port de l'IP (le port 80 pour HTTP ou 443 pour HTTPS).

R1(config)# ip nat inside source static 192.168.1.10 80 203.0.113.1 80 extendable

C'est cette technique qui est la plus couramment employée.
Nous verrons cela plus loin.

4) Depuis R2, pinguer le LAN derrière R1

(ping 192.168.1.1 et ping 192.168.1.10 pour WEB)

5) Depuis PC-Externe

Pinguer R2 (ping 192.168.2.1) puis R1 (ping 203.0.113.1) et enfin ouvrez le navigateur web pour le test d'accès au site WEB (http://203.0.113.10)

6) Afficher les translations NAT sur R1 :

R1# show ip nat translations

⬆️ Retour en haut de la page