La NAT Port Forwarding avec Cisco : le cas de plusieurs serveurs SSH avec une seule adresse IP publique

Objectif :

Configurer un routeur Cisco d’une manière à ce que les serveurs SSH du réseau privé puissent être accessibles avec comme adresse la seule et unique adresse IP publique de l’entreprise.

Synopsis :

Nous avons trois serveurs de production à déployer dans un réseau privé distant. Ces serveurs devront être accessibles via une seule adresse IP publique par le biais d’un routeur Cisco.

Vous l’aurez compris, nous allons devoir configurer le routeur Cisco à telle sorte que les serveurs privés (SSH) soient accessibles avec une seule adresse IP publique.
Comment faire ?
En activant et en configurant le NAT Port Forwarding ou la PAT. C’est-à-dire une traduction de l’adresse par le port. Ce qui signifie que le routeur va traduire et diriger les demandes reçues vers le serveur qui correspond au numéro de port qui lui est attribué.
Par exemple, nous avons deux serveurs SSH avec comme adresse IP privée 192.168.1.2 pour le premier et 192.168.1.3 pour le deuxième, derrière une seule et unique adresse IP publique 8.9.4.2.
Et bien pour les atteindre, nous allons devoir attribuer des numéros de port différents des uns des autres aux deux serveurs SSH.
C’est-à-dire qu’au lieu du numéro 22 habituel, nous ajouterons 81 (devant le numéro 22) au premier serveur, ce qui donnera 8122 et 82 au deuxième.
Ensuite, revenir et expliquer au routeur par le biais du NAT Overload, que s’il reçoit des paquets SSH à son adresse IP publique avec le port 2255 (8.9.4.2:8122) qu’il les redirige vers le serveur 1 et 8.9.4.2:8222 vers le serveur 2.

Prérequis :

1 – Routeur Cisco :

2 – Un abonnement à une offre d’adresse IP publique fixe auprès de votre FAI ou d’un autre prestataire de ce genre.

3 – Trois serveurs (physique ou virtuel) :

  • Avec le programme Open-ssh-server

4 – PC client :

  • Avec le programme Open-ssh-client qui va permettre de pouvoir se connecter au serveur SSH distant via internet, en passant par le routeur Cisco bien évidemment

Configuration du routeur

Nous partons du principe, que le routeur Cisco en question est un équipement nouvellement acquis. De ce fait, nous allons commencer sa configuration au tout début, en commençant par attribuer des adresses aux périphériques réseau qui vont être sollicités sur ce TP. N’oubliez pas de sécuriser votre routeur et de sauvegarder votre travail quelque part dans un endroit sûr.
C’est parti !
La première tâche à réaliser consiste à configurer le routeur en suivant les étapes comme suit :

1 – Configuration des deux interfaces WAN / LAN

La configuration des interfaces WAN / LAN consiste à les attribuer des adresses IP statiques. L’interface WAN avec l’adresse IP publique fournie par le FAI et le LAN avec une adresse IP privée statique qui fera office d’adresse de passerelle de sortie pour le LAN.

Allons-y :

A – Pour le WAN

B – Pour le LAN

2 – Le routage

Cette étape consiste à router les paquets sortant vers une adresse IP publique, auquel le FAI nous l’a communiqué au moment de la souscription de l’abonnement. Cette adresse sert de point de relief à partir duquel les paquets routés vers la sortie atteindront avant de se disperser dans le plus grand réseau planétaire qui est internet.
Par exemple pour ma part, au moment de la souscription à l’abonnement, le FAI m’a communiqué l’adresse IP publique du genre 8.9.4.2/30 et une adresse gateway du genre 15.12.93.14. Donc, pour le routage je vais expliquer au routeur que les paquets vers la sortie devront atteindre l’adresse 15.12.93.14.
Comme suit :

3 – La NAT

Cette étape consiste à configurer le routeur afin qu’il permette aux équipements situés au sein du LAN d’accéder à internet en apprêtant l’interface, en se servant de l’adresse IP publique, et vice-versa.
À cet effet, nous allons créer une liste de contrôle d’accès (access-list) et l’affecter au réseau LAN comme suit :

Ensuite, au niveau de l’interface WAN, activez la NAT vers la sortie et vers l’entrée à celle du LAN comme suit :

Enfin il nous reste à indiquer au routeur qu’il doit permettre à la liste d’accès que nous avons créé précédemment de lui permettre d’emprunter l’interface WAN pour le NAT vers la sortie en entrant la ligne de commande suivante :

C’est fini ?
Presque …. Notre réseau LAN peut désormais accéder à internet. Et vice-versa. Mais, nos serveurs SSH ne sont pas encore accessibles à partir d’internet ; et c’est ce que nous allons faire maintenant.

Configuration de la NAT Port Forwarding

Nous y sommes !

Port d’écoute SSH

Avant de paramétrer la Nat Port Forwarding au niveau du routeur, nous allons tout d’abord configurer les serveurs SSH en les indiquant que désormais ils vont devoir écouter sur des ports différents à celui du port habituel du service SSH. Et pour cela, nous allons faire comme on a dit au tout début. C’est-à-dire que la machine n° 1 avec l’adresse 192.168.2.2 écoutera sur le 8122 au lieu de 22 tout simplement. Ainsi de suite.

Pour ce faire, sur le serveur en question, rendez-vous dans le fichier /etc/ssh/sshd.conf, localisez la ligne qui devra ressembler à « #Port 22 ». Désactivez le commentaire en supprimant le dièze, remplacez le 22 par 8122 puis redémarrez le service ssh avec la commande « service ssh restart ». Répétez la même procédure sur les autres serveurs.

Côté routeur

Après avoir configuré la NAT pour l’entrée et la sortie, nous allons à présent configurer la NAT PORT FORWARDING. C’est-à-dire, configurer le routeur à ce qu’il traduit les adresses par leurs numéros de port. Ainsi l’utilisateur sera dirigé vers la machine qui va correspondre au port tcp accompagnant l’adresse IP publique.

Ici par exemple nous avons le serveur SSH n°1 qui a comme adresse 192.168.2.2 et qui écoute sur le port 8122, nous allons expliquer au routeur que s’il reçoit des paquets TCP à destination du port 8122, qu’il les redirige vers le serveur n°1. Ainsi de suite pour les autres serveurs.
Pour ce faire, sur le routeur entrons la ligne de commande suivante et n’oubliez pas de sauvegarder :

Maintenant à partir du poste client, connectez-vous sur l’un des serveurs SSH distant en entrant l’adresse IP publique en précisant le numéro du port d’écoute du serveur comme suit :

Facile n’est-ce pas ?

Nous venons de voir ensemble la configuration de la Nat Port Forwarding avec un routeur Cisco pour le cas du service SSH. Sachez que, c’est aussi valable pour le reste des services réseaux.
Par exemple pour le service http (web), nous allons faire la même chose, que ce que nous avons fait avec SSH. Mais, pour le service web nous changerons le port d’écoute habituel dans le fichier /etc/apache2/ports.conf ainsi qu’au niveau du site web et nous ferons comprendre au routeur que s’il reçoit des requêtes http avec tel numéro de port (8991 par exemple), qu’il les redirige vers tel serveur. Ainsi, lorsqu’un utilisateur voudra accéder à un site web hébergé sur un des serveurs web derrière le routeur, il n’aura plus qu’à entrer sur un navigateur web, l’adresse IP publique du routeur suivi du numéro de port affecté au serveur.
Par exemple pour le cas de deux serveurs avec comme adresse IP LAN 192.168.2.25 et numéro de port http 8990 pour le premier et 192.168.2.30 et port http 8991 pour le second, pour accéder au site web hébergé sur le deuxième serveur, il faudra entrer l’IP publique suivi du port d’écoute d’apache (http://8.8.99.81:8991) et le routeur dirigera les requêtes http vers le serveur qui correspond au port http 8991, c’est à dire le serveur web n°2.

Partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *