Tout à fait !!!!
Je n'ai pas pris le temps d'aller vérifier la syntaxe des commandes et me suis donc emmêlé les câbles réseaux :-p
Plates et grandes excuses donc !
Cela dit c'était plus pour mettre sur la voie sans trop de conviction (vu la date du dernier message précédant le mien).
Mais tout ça m'a donné envie d'améliorer mon système et maintenant ma configuration ressemble beaucoup plus à celle présentée ici. J'ai donc ouvert le Serveur SCO et j'ai foutu une bonne vieille carte Rézal et me voilà parti dans des sessions telnet distantes.
Je vais donc donner la configuration nécessaire pour une connexion telnet à distance à travers un VPN SSL (OpenVPN) installé sur un serveur Ubuntu (sachant que le principe est strictement identique sur XP seules les correspondances entre les syntaxes de commandes seront à rechercher ;-) ) :
1 - Monter le serveur OpenVPN de façon classique et le rendre fonctionnel à travers le réseau mis en place.
Le but pour l'instant est de faire communiquer simplement le Serveur Open VPN (0.2) et le Client à domicile (1.2).
Sur la Freebox de l'entreprise, on n'oubliera pas de forwarder le port (donc faire de la NAT :p) du serveur OpenVPN (par défaut UDP 1194) vers son adresse IP (0.2). Et c'est la seule chose à faire sur la FreeBox de l'entreprise !
La mise en place est un peut longue mais beaucoup de How-To sont à disposition à travers le net pour arriver à ses fins.
ex 1 : How-To excellent si on utilise Ubuntu
ex 2 : How-To pas trop complexe traitant Linux et Windows
ex 3 : How-To un peut plus barbare :-p
2 - On va rajouter (ou plutôt dé commenter) une ligne dans la configuration du serveur OpenVPN. On aurait pu le faire avant pendant l'installation mais il est plus simple de tester le serveur avec une configuration classique, juste pour voir si ça marche et ensuite aller plus loin.
Donc il faut ajouter : push "route 192.168.0.0 255.255.255.0"
Cette ligne indique au client du VPN (donc 1.2 dans ce cas) que le réseau 192.168.0.0/24 peut-être accessible à travers le VPN. Voilà pour la configuration du serveur OpenVPN. Il n'y a rien à faire sur le client à domicile vu que la route est "poussée" (push) par le serveur VPN vers le client au moment de la connexion.
3 - La ça se complique un peut car c'est cette partie qu'il faudra "traduire dans le monde Windows".
En effet, pour que le serveur OpenVPN puisse faire le lien entre les 2 réseaux (10.8.0.0 et 192.168.0.0) il faut pouvoir forwarder les trames entre les 2 interfaces. Ainsi, pour simplifier, les trames envoyées sur une interface seront transférées à l'autre et inversement.
Sur Linux dans un terminal en Root/SuperUtilisateur :
sysctl -w net.ipv4.ip_forward=1
ou encore :
echo 1 > /proc/sys/net/ipv4/ip_forward
Sous Ubuntu on rajoute "sudo" devant pour prendre les droits Root/SuperUtilisateur si besoin est.
Pour que cette option ne soit pas perdue au redémarrage, il convient d'ajouter (ou modifier) une ligne dans le fichier /etc/sysctl.conf :
net.ipv4.ip_forward=1
Attention cependant à aussi activer cette option pour l'interface TUN/TAP créée par OpenVPN à l'installation (normalement la commande donnée ci-dessus active l' ip_forward pour toutes les interfaces).
On pourra vérifier cella en tappant :
cat /proc/sys/net/ipv4/conf/tun0/forwarding (pour vérifier l'interface TUN)
cat /proc/sys/net/ipv4/conf/eth0/forwarding (pour vérifier l'interface ETHERNET)
cat /proc/sys/net/ipv4/conf/all/forwarding (pour vérifer toute les interface)
cat /proc/sys/net/ipv4/ip_forward (pour vérifer l'Ip forwarding en général)
Voilà coté serveur (0.2).
Bon allé chui sympa, je viens de tomber sur un article de Microsoft pour activer l'IP Forwarding sur XP :p .
Donc sur XP :
- Démarrer l'Éditeur du Registre (Regedit.exe).
- Dans l’Éditeur du Registre, localiser la clé de Registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- Définir la valeur de registre suivante :
Nom de la valeur : IPEnableRouter
Type de la valeur : REG_DWORD
Données de la valeur : 1
Une valeur égale à 1 active l'Ip forwarding pour toutes les connexions réseau installées et utilisées par la machine.
- Quitter l'éditeur.
- Redémarrer (merci Windows :p)
Ouf !!! Ça vous à plu ? ... Alors on continue !!! :)
4 - A ce stade de la configuration, on est capable d'atteindre le serveur SCO à travers le VPN mais celui-ci ne pourra pas nous répondre !!! En effet quand le client du VPN envoi une trame sur le Serveur SCO celui-ci la reçoit car la route pour l'atteindre est connue du client (on se rappelle avoir "poussé" la route dans la config OpenVPN). De plus celle-ci est forwardée par le Serveur hébergeant OpenVPN (0.2).
Mais le serveur SCO lui, ne connait pas la route pour atteindre le client distant et ne peut donc pas lui répondre !!!
On va donc ajouter une route statique sur le serveur SCO (0.99) pour lui "apprendre" à renvoyer sa réponse au client.
Sur SCO Release 5 (pour les Releases supérieures, je ne peux affirmer que les commandes soient les mêmes sachant que "Route" a changé de syntaxe dans le temps et selon le système) :
Dans un terminal en Root/SuperUtilisateur, à la dièse, tapper :
route add -net 10.8.0.0 192.168.0.2 255.255.255.0
(On voit bien ici la syntaxe archaïque avec la passerelle avant le masque).
Bien sûr, si le serveur SCO redémarre, la route est perdue... On va donc l'écrire dans un fichier prévu à cet effet mais la encore, il y a des différences entre les versions de SCO et même des mélanges entre versions (j'avoue m'être bien embêté pour prendre une décision à ce sujet et comme le serveur est en production je n'ai pas pu le redémarrer pour vérifier si cela fonctionne).
Pour vérifier la version du système, on pourra taper la commande : uname -v
Donc ce qui est soit-disant donné officiellement (toujours dans un terminal en Root/SuperUtilisateur) :
- Release 5.0.4 et 5.0.5 : Dans le fichier /usr/internet/etc/sco_ip/routes on ajoute la route en question :
route add -net 10.8.0.0 192.168.0.2 255.255.255.0
- Release 5.0.6 : c'est dans ce fichier que l'on doit l'ajouter /etc/default/tcp (Je n'ai pas vérifié ayant une version 5.0.5 donc a prendre avec des pincettes).
- Pour les Release avant 5.0.4 un tips est donné mais la aussi à vérifier : il faut créer le fichier /etc/rc2.d/S99route et y ajouter la route en question. Ne pas oublier de donner les droits d'exécution sur le fichier (chmod 755 /etc/rc2.d/S99route).
Personnellement j'ai une Release 5.0.5 et j'ai quand même dû créer le dossier /usr/internet/etc/sco_ip/ et le fichier /usr/internet/etc/sco_ip/routes car il n'était pas présent sur le système (d'où mon léger doute sur la tenue de la route (sans jeux de mots) après redémarrage).
Et voilà c'est fini !
Juste pour Info, si jamais il faut pouvoir accéder à une machine Windows située derrière le VPN voila les commandes (ATTENTION : c'est juste donné pour info car dans la config actuelle nous n'en avons pas besoin !!!).
Ajouter une route sous Windows est assez similaire à Linux :
- Démarrer -> Executer
- Taper : cmd puis appuyer sur la touche Entrée
- A l'invite de commande taper : route add 10.8.0.0 mask 255.255.255.0 192.168.0.2
- Taper Exit.
Pour vérifier, la commande suivante, permet d’avoir la liste des routes :
C:\>route print
Bon cette fois ci c'est vraiment fini :-p
Cette solution est donc fonctionnelle (testée dans mon entreprise sans problème) et de plus elle est adaptable aux systèmes Linux et Windows.
Bien sûr, je ne suis pas dieu et je tire tout ça de mon enseignement et de documentations tirées sur le net. C'est pour cela que je recommande toujours de vérifier la faisabilité avant de se lancer tête baissée (surtout si les connaissance UNIX sont limitées). Je serais désolé de voir un réseau tomber à cause d'une mauvaise utilisation de ce qui est écrit ici mais de toute évidence, je ne pourrais en être tenu pour responsable.
Prudence est mère de sureté !
Bonne lecture, bonne continuation et surtout merci de m'avoir donné l'envie d'aller plus loin et améliorer le système de mon entreprise qui se voit dotée d'un nouveau souffle à présent.
Bye :-)