Maniatux's Blog

Welcome to the internet

Serveur VPN: #2 Accéder au réseau local

Rédigé par Xavier - -

Bon, maintenant que nous avons appris les bases d'un serveur OpenVPN, nous allons passer à l'étape suivante. A travers le VPN, un client devra être capable d'accéder à un réseau local.

Logiciels

  • Debian/Ubuntu
  • OpenVPN

Compétences

  • Savoir configurer OpenVPN (voir tuto précédent)
  • Connaissances réseaux TCP/IP et routage

Schéma Réseau

Le réseau sous Windows Seven/Vista n'utilisant pas de protocoles standards, et sa configuration étant une aberration (pour être poli) et n'ayant pas envie d'installer plusieurs instances de cet OS, je ferai le tutoriel pour un réseau 100% Linux. Cependant il devrait être valable pour les systèmes Windows aussi (pour accéder à des lecteurs réseau, par exemple).


L'IP en rouge est celle du VPN

Par exemple, imaginons qu'un employé veuille se connecter au réseau de son entreprise, depuis sa maison. Il utilisera l'ordinateur portable situé en bas du schéma, tandis que le réseau de son entreprise est situé en haut. Il passe à travers internet. Ici le but sera d'accéder au réseau local de l'entreprise, en visualisant les partages NFS et en se connectant en SSH au 3e serveur.

Principe

Le serveur VPN va simplement faire un routage entre le réseau virtuel (10.8.0.0) et le réseau physique (192.168.0.0). Les deux pourront donc communiquer.

Configuration du serveur

Nous partons du principe que le serveur VPN est déjà configuré et le client connecté à ce dernier (ce que nous avons fait dans le précédent tutoriel). Dans le fichier de configuration vous allez devoir indiquer l'existence d'une nouvelle route pour relier les réseaux.

# nano /etc/openvpn/server.conf

Rajoutez la ligne:

push "route 192.168.0.0 255.255.255.0"

Ensuite, pour que le serveur puisse relier les deux réseaux, il faut activer l'IP forwarding:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Attention, cette dernière commande est volatile. Au prochain démarrage elle n'aura plus d'effet. Pour la rendre permanente, éditez le fichier suivant:

# nano /etc/sysctl.conf

Cherchez la ligne:

#net.ipv4.ip_forward=1

Et décommentez-là (virez le dièse).

N'oubliez pas de relancer le serveur:

# /etc/init.d/openvpn restart

Maintenant, depuis la machine cliente (cella de la maison, sur le schéma) lancez un ping vers le serveur SSH par exemple:

$ ping 192.168.0.3

Mais théoriquement cela ne devrait pas fonctionner, car pour acheminer le ping à destination nous avons bien configuré les passerelles, mais pas pour le retour! On sait comment parler à la machine, mais elle ne sait pas comment nous répondre. Donc, sur les machines du réseau local, il faut indiquer le serveur VPN comme passerelle (192.168.0.1). Ensuite le ping devrait être bon.

Un traceroute vous montrera que le ping est bien passé par le VPN pour arriver jusqu'au réseau local de l'entreprise.


Quand j'ai fait mes manip, le réseau "entreprise" était en 192.168.20.0

Classé dans : Sysadmin - Mots clés : aucun