Configuration NAT statique de Cisco ASA
Contenu de la Leçon
Dans les leçons précédentes, j’ai expliqué comment vous pouvez utiliser NAT ou PAT dynamique pour que vos hôtes ou serveurs à l’intérieur de votre réseau puissent accéder au monde extérieur. C’est génial, mais c’est uniquement pour le trafic sortant ou dans la “terminologie ASA” – le trafic d’un niveau de sécurité supérieur passant à un niveau de sécurité inférieur.
Que se passe-t-il si un hôte extérieur sur Internet veut atteindre un serveur sur notre zone interne ou DMZ? C’est impossible avec seulement un NAT ou un PAT dynamique. Lorsque nous voulons y parvenir, nous devons faire deux choses:
- Configurez le NAT statique de sorte que le serveur interne soit accessible via une adresse IP publique extérieure.
- Configurez une liste d’accès afin que le trafic soit autorisé.
Pour démontrer le NAT statique, j’utiliserai la topologie suivante:
Ci-dessus, nous avons notre pare-feu ASA avec deux interfaces; une pour la DMZ et une autre pour le monde extérieur. Imaginez que R1 est un serveur Web sur la DMZ tandis que R2 est un hôte sur Internet qui veut atteindre notre serveur Web. Configurons notre pare-feu pour que cela soit possible
Configuration NAT statique
Nous allons d’abord créer un objet réseau qui définit notre “serveur Web” dans la DMZ et configurons également à quelle adresse IP il doit être traduit. Cette configuration est pour la version 8.3 d’ASA et plus tard:
ASA1(config)# object network WEB_SERVERASA1(config-network-object)# host 192.168.1.1ASA1(config-network-object)# nat (DMZ,OUTSIDE) static 192.168.2.200
La configuration ci-dessus indique à l’ASA que chaque fois qu’un périphérique extérieur se connecte à l’adresse IP 192.168.2.200 qu’il doit être traduit en adresse IP 192.168.1.1. Cela prend en charge le NAT mais nous devons toujours créer une liste d’accès ou le trafic sera supprimé:
ASA1(config)# access-list OUTSIDE_TO_DMZ extended permit tcp any host 192.168.1.1
La liste d’accès ci-dessus permet à n’importe quelle adresse IP source de se connecter à l’adresse IP 192.168.1.1. Lorsque vous utilisez ASA version 8.3 ou ultérieure, vous devez spécifier l’adresse IP “réelle”, pas l’adresse “traduite NAT”. Activons cette liste d’accès:
ASA1(config)# access-group OUTSIDE_TO_DMZ in interface OUTSIDE
Ceci active la liste d’accès sur l’interface extérieure. Nous allons telnet de R2 à R1 sur le port TCP 80 pour voir si cela fonctionne:
R2#telnet 192.168.2.200Trying 192.168.2.200 ... Open
Génial, nous sommes capables de nous connecter de R2 à R1, jetons un coup d’œil à l’ASA pour vérifier certaines choses:
ASA1# show xlate1 in use, 1 most usedFlags: D - DNS, e - extended, I - identity, i - dynamic, r - portmap, s - static, T - twice, N - net-to-netNAT from DMZ:192.168.1.1 to OUTSIDE:192.168.2.200 flags s idle 0:08:44 timeout 0:00:00
ASA1# show access-listaccess-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300access-list OUTSIDE_TO_DMZ; 1 elements; name hash: 0xe96c1ef3access-list OUTSIDE_TO_DMZ line 1 extended permit tcp any host 192.168.1.1 eq www (hitcnt=6) 0x408b914e
Ci-dessus, vous pouvez voir l’entrée NAT statique et également le hit sur la liste d’accès. Tout fonctionne comme il est censé l’être.
NAT statique pour l’ensemble du sous-réseau
L’exemple précédent était correct si vous n’avez que quelques serveurs car vous pouvez créer quelques traductions NAT statiques et en finir avec. Il existe cependant une autre option, il est également possible de traduire un sous-réseau entier en un pool entier d’adresses IP. Permettez-moi de vous donner un exemple de ce dont je parle:
La topologie ci-dessus est exactement la même que l’exemple précédent, mais j’ai ajouté R3 à la DMZ. Imaginez maintenant que notre FAI nous ait donné un pool d’adresses IP, disons 10.10.10.0/24. Nous pouvons utiliser ce pool pour traduire tous les serveurs de la DMZ, laissez-moi vous montrer comment :