Configurer une passerelle réseau

De Korben Wiki
Aller à : navigation, rechercher
Draft-128x128.png

Cet article est une ébauche.
Vous pouvez partager vos connaissances en l’améliorant :

  • Compléter l'article
  • Restructurer le contenu
  • Rajouter des illustrations
  • Créer des pages
  • Alerter dans les discussions si le sujet n'a pas lieu d'être et veiller à ce que la ligne éditoriale de ce wiki soit bien respectée

Principe d'utilisation[modifier]

Lorsque vous utilisez un service VPN tel que IPREDator, il peut être intéressant de le partager à plusieurs postes d'un réseau, afin d'en faire bénéficier les autres membres de sa famille. Ou encore de relier en permanence un serveur de données type NAS avec fonction FTP/Bittorent afin qu'il bénéficie du réseau VPN.

Un serveur/routeur est donc nécessaire pour partager cette connexion VPN. Grâce au protocole NAT (Egalement utilisé lors de partage d'une connexion internet standard), on peut utiliser la meme adresse ip publique pour plusieurs adresses ip privées de notre réseau afin de naviguer sur internet.

La configuration réseau typique est alors la suivante :

Natvpn1.jpg


Nous avons donc deux passerelles dans notre réseau. Une (192.168.1.254) qui permet de naviguer sur internet directement avec l'adresse publique de notre FAI. Et l'autre ( 192.168.1.253 )qui permet de naviguer sur internet de façon annonyme grace à un service VPN. Sur un poste client, il suffit alors de changer sa passerelle par default pour utiliser l'un ou l'autre mode de navigation.

Nous allons voir dans ce tutoriel comment mettre en place cette solution à l'aide de deux système d'exploitation : Linux (Privilégiez une distribution orienté serveur afin de ne pas utiliser de ressources inutilement ) et une solution de type " Windows Serveur".

Sous Linux :[modifier]

Configuration :

Avant toute chose, attribuez une ip fixe à votre serveur en modifiant le fichier interfaces:

sudo nano /etc/network/interfaces

il doit contenir les paramètres suivants pour l'interface éthernet 0 par exemple:

auto eth0
iface eth0 inet static
   address //l'adresse ip de votre serveur
   netmask //Le masque de sous réseau correspondant
   gateway //La passerelle (facultatif, peut etre saisi manuellement avec une commande, pour éviter de l'avoir en automatique si l'on veux controler les routes par defaut en cas de coupure VPN. )


  • Autoriser l'IP Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Cette configuration permet d'autoriser les paquets IP arrivant sur le serveur mais à destination d'un autre réseau (ou à destination d'internet), à être redirigés vers l'extérieur (extérieur du réseau par l'intermédiaire de la table de routage).
(NDLM (xbb) : Qui se dévoue pour un vrai schéma ? :p)

     -------------------     -------------    -----------------------
     |    Paquet IP     | -> |  Serveur  | -> |      Extérieur      |
     | dst = google.com |    -------------    | (route par default) |
     --------------------                     -----------------------
  • Mettre en place la translation de l'adresse
iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE 
  • (où ppp0 est l'interface entrante des connexions réseaux à router. Si vous venez d'un tunnel OpenVPN, l'interface sera probablement tun0 ou tap0 suivant la configuration)
  • La solution précédente ne marchant pas chez moi, j'ai utilisé une autre regle qui a satisfait mes besoins !
iptables -t nat -A POSTROUTING -s 10.x.x.x/24 -j MASQUERADE

10.x.x.x est l'adresse du réseau de votre VPN (pas l'adresse ip du serveur, mais bien l'adresse du réseau => Ip serveur : 10.10.0.x -> adresse réseau 10.10.0.0 Ip serveur : 192.168.1.x -> adresse réseau 192.168.1.0 etc ..

Le /24 correspond au masque: /24 équivalent à 255.255.255.0 /16 équivalent à 255.255.0.0 etc ..

Une autre méthode pour la translation d'adresse consiste à faire : (Privilégiez la solution numero une car les adresses IP attribuées par les services VPN sont souvent dynamiques, et les commandes suivantes ne seraient plus valides apres changement de cette dernière)

iptables -A POSTROUTING -t nat -o eth0 -j SNAT --to xxx.xxx.xxx.xxx

// eth0 est l'interface réseau utilisée pour Internet, et xxx.xxx.xxx.xxx est l'adresse IP de la passerelle sur Internet

source : http://linbox.free.fr/passerelle_simple/chapitres.php?chapitre=3

De plus, les règles de iptables sont effacées à chaque redémarrage. Vous pouvez néanmoins les sauvegarder avec Webmin, un utilitaire de configuration de serveur linux en interface web, très pratique, voir indispenssable.

  • Redirection de ports:

il peut etre intéressant de rediriger les ports du routeur VPN sur un élément du réseau afin de le rendre joignable de l'extérieur, ou simplement de le rendre compatible avec des logiciels nécessitants ces redirections.

Exemple de redirection pour un serveur FTP:

iptables –t nat –A PREROUTING –p tcp –i ppp0 --dport 21 –j DNAT --to 192.168.1.252:21 

Traduction de la commande: On demande à iptables ( le pare-feu de linux ) d'inscrire une règle de préroutage dans la table nat pour rediriger les paquets utilisant le protocole tcp ( -p protocole) sur l'interface ppp0 ( -i interface ) qui correspond à l'interface de notre VPN, ayant pour destination le port 21 ( --dport port_de_destination ) à l'adresse 192.168.1.252 sur son port 21 ( --to adresse_ip:port ).

Pour la redirection de plage de ports c'est presque la meme commande, attention à la syntaxe de séparation de plage:

iptables –t nat –A PREROUTING –p tcp –i ppp0 --dport 55536:55663 –j DNAT –to 192.168.1.252:55535-55663 

Vous aurez remarqué qu'il faut mettre : en paramettre de --dport et un - après l'adresse IP.

Sous Windows Serveur 2003 :[modifier]

Pour les alergiques à la ligne de commande, sachez que l'on peut faire la meme chose sous Windows Serveur 2003 en interface graphique.

On pourra choisir de faire un serveur virtuel pour héberger cette solution peu gourmande en ressources. Si vous avez plusieurs serveurs à la maison, cela permet d'optimiser les ressources d'une machine physique et de réduire sa consomation électrique annuelle :) .

Windows serveur s'installe comme n'importe quel systeme d'exploitation windows, je commencerai donc ce tutoriel en suposant que nous partons d'une installation fraiche de windows serveur 2003.

Veillez à paramétrer une ip fixe (avec passerelle et DNS ) sur l'interface relié à votre réseau local, cette dernière est l'adresse de votre futur passerelle

1. Activation du mode routage :

Allez dans "démarrer -> tous les programmes -> routage et accès distant" (Si vous n'avez pas cette fonctionnalitée, elle s'installe dans "Ajout suppresion de programmes" / "Composants Windows", sur un OS Windows Serveur)

La fenetre de configuration du rôle "routage et acces distant" s'ouvre alors. Faites un clic droit sur le nom de votre serveur -> Activer le routage et acces distant. (Désactivez le pare-feu windows si une erreur survient)

L'assistant d'installation s'execute, sélectionnez " NAT "

Natvpn2.jpg

Dans la page suivante on va créer la nouvelle interface pptp :

Natvpn3.jpg

cliquez sur "suivant" jusqu'à la configuration de cette interface.
Vous pouvez remplacer le nom par default "Routeur Distant" par le nom de votre service VPN par exemple.

Natvpn4.jpg

On sélectionne " Se connecter en utilisant un réseau privé virtuel ( VPN ) "

Natvpn5.jpg

Sélectionnez le protocole correspondant à votre service VPN ( PPTP pour IPREDator ):

Natvpn6.jpg

On renseigne le nom d'hôte de notre service VPN ( vpn.ipredator.se pour IPREADator ):

Natvpn7.jpg

On coche "Router les paquets IP sur cette interface"

Natvpn8.jpg

On saisie ses identifiants délivrés par le service VPN correspondant :

Natvpn9.jpg

On termine le processus de configuration en cliquant sur terminer. On revient sur la page "routage et accès distant".

2. Configuration de l'interface :

Sous le nom de notre serveur apparait alors plusieurs composants :

  • Interfaces réseau
  • Ports
  • Routage IP

Dans "Interfaces réseau", faites "clic droit -> propriétés" sur le nom de votre interface VPN.
Dans l'onglet "option -> type de connexion" sélectionnez "Connexion permanente".
Vous pouvez aussi définir des règles de rappel automatique en cas de déconnexion.
Par exemple " Rappeler 3 fois à intervales de 2minutes après déconnexion "

Faites "OK" pour valider les paramètres

3. Redirection de ports :

Dans "Routage IP -> Pare-feu de base/NAT" faites "clic droit -> propriétés" sur votre interface VPN.
Dans l'onglet "Services et ports" vous pouvez rediriger des ports (Comme sur un routeur domestique) afin de rendre accessible certain services de votre réseau local, par le biais de votre interface VPN.

On clique sur un service préconfiguré (ou on en créé un personnalisé), puis sur modifier:

Natvpn10.jpg

Ici je redirige le port 21 (FTP) sur le serveur FTP de mon réseau local à l'adresse 192.168.1.252.

Dans une redirection personnalisé vous pouvez définir le numéro de port à rediriger.

Vous pouvez d'ailleur configurer un service de type dyndns sur votre serveur/routeur NAT afin de toujours connaitre son adresse WAN.

4. Connexion et tests :

Dans "Routage et accès distant -> Interfaces réseau" faites "Clique droit -> Se connecter" sur l'interface de votre VPN.
Une fois la connection établie, le status de votre interface passe en "connecté"

Natvpn11.jpg

Un petit test sur le serveur pour vérifier la connexion :

Natvpn12.jpg

Configurez vos serveurs et postes pour utiliser cette connexion VPN en définissant leur passerelle par défault (l'adresse IP lan de votre serveur/routeurVPN ). Et refaites le meme test de geolocalisation d'IP.

-= A suivre =-