Je cherche à mettre un place un serveur VPN à l'aide d'OpenVPN sous Debian Lenny. On trouve beaucoup de tutoriels sur le net mais chacun à sa façon de mettre en place la configuration.
J'ai donc suivit ce qui ce rapproche au mieux de ma configuration actuelle : la documentation Ubuntu. [https://help.ubuntu.com/9.10/serverguide/C/openvpn.html]
Mon serveur VPN est maintenant actif, j'ai créé les différents certificats (sans bien comprendre comment ça marche) et j'arrive à me connecter.
Cependant, impossible de communiquer avec mon réseau local. Je voudrais faire en sorte que l'hôte distant croient qu'il est dans mon réseau local et qu'il puisse accéder aux différents services et hôtes du réseau comme s'il y était vraiment connecté.
Pour faire ça, et ça doit être là que je commet des erreur, j'ai configuré OpenVPN en mode "bridge" et il m'attribut effectivement une adresse IP dans mon sous réseau. Cependant impossible de contacter ne serait-ce le serveur VPN en lui même.
En me connectant avec mon poste client et NetworkManager, j'ai les paramètres suivants :
$ ifconfig
eth1 Link encap:Ethernet HWaddr 00:13:ce:80:9c:4d
inet adr:192.78.5.23 Bcast:192.78.5.255 Masque:255.255.255.0
adr inet6: fe80::213:ceff:fe80:9c4d/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:146 errors:0 dropped:0 overruns:0 frame:0
TX packets:155 errors:0 dropped:20 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:37646 (36.7 KiB) TX bytes:22378 (21.8 KiB)
Interruption:21 Adresse de base:0xe000 Mémoire:ffcfe000-ffcfefff
tap0 Link encap:Ethernet HWaddr 02:73:f5:b7:51:1a
inet adr:192.168.82.100 Bcast:192.168.82.255 Masque:255.255.255.0
adr inet6: fe80::73:f5ff:feb7:511a/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:0 (0.0 B) TX bytes:6202 (6.0 KiB)
spack@korola:~$ route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
82.234.18.83 192.78.5.254 255.255.255.255 UGH 0 0 0 eth1
192.168.82.0 * 255.255.255.0 U 0 0 0 tap0
192.78.5.0 * 255.255.255.0 U 2 0 0 eth1
default * 0.0.0.0 U 0 0 0 tap0
La carte eth1 est la liaison vers Internet à travers le réseau local. Le réseau local distant à l'adresse de sous réseau 192.168.82.0/24 dont l'adresse 192.168.82.100 et attribué à mon poste client. Mais les routes semblent poser problème.
Sans connexion au VPN les routes ressemblent à ça :
$ route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.78.5.0 * 255.255.255.0 U 2 0 0 eth1
default 192.78.5.254 0.0.0.0 UG 0 0 0 eth1
Dans le fichier de configuration du serveur OpenVPN, j'ai mis (entre autres) les lignes suivantes :
port 1194
proto udp
dev tap
server-bridge 192.168.82.252 255.255.255.0 192.168.82.100 192.168.82.110
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
# bridge au niveau serveur
Posté par droopy191 . Évalué à 2.
[^] # Re: bridge au niveau serveur
Posté par Spack . Évalué à 2.
Tout ce que j'ai réussi à faire lors de mes tentatives, c'est de perdre la liaison SSH avec le serveur et de devoir le relancer.
[^] # Re: bridge au niveau serveur
Posté par droopy191 . Évalué à 7.
Installez le paquet bridge-utils
pour la suite, eth0 est la carte ethernet du serveur 192.168.10.200 son ip. 192.168.10.1 est la passerelle du reseau du serveur vpn.
Modifications de la partie réseau ( supprimez toute la partie relative à eth0 )
/etc/network/interfaces
# bridge eth0 sur br0 pour Openvpn
auto br0
iface br0 inet static
bridge_ports eth0
address 192.168.10.200
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1
post-up /etc/openvpn/scripts/ovup.sh && /etc/init.d/openvpn start
pre-down /etc/init.d/openvpn stop
post-down /etc/openvpn/scripts/ovdown.sh
Créations des scripts ovup.sh et ovdown.sh
/etc/openvpn/scripts/ovup.sh
#!/bin/sh
openvpn --mktun --dev tap0
brctl addif br0 tap0
ifconfig eth0 promisc up
ifconfig tap0 promisc up
ifconfig br0 192.168.10.200 netmask 255.255.255.0 broadcast 192.168.10.255
/etc/openvpn/scripts/ovdown.sh
#!/bin/sh
openvpn --rmtun --dev tap0
# Bridge vraiment nécessaire?
Posté par maxix . Évalué à 7.
la configuration d'OpenVPN en mode bridge (TAP) est un peu plus ardue qu'en mode routé (TUN), notamment parce qu'il faut créer les ponts avant toute chose, etc...
Le mode bridge est généralement moins performant que le mode routé. La grosse différence est que le mode bridge propage aussi le broadcast via le vpn, le mode routé non.
Pourquoi a tu choisis le mode bridge? A tu réellement besoin de pouvoir broadcaster depuis un site vers l'autre? Le mode routé permet tout autant a tes clients d'accéder aux services de ton réseau local "comme s'ils y étaient vraiment connectés". Personnellement, je n'ai pas envie que le vpn se trouve sollicité a chaque fois que quelqu'un démarre son poste windows sans avoir décoché l'option "envoyer 20 tonnes de merde sur le réseau pour essayer de retrouver les imprimantes en workgroup toutes les 5min".
Quoiqu'il en soit, tu dis ne pas pouvoir communiquer avec ton réseau local. A tu vérifié les firewalls client et serveur? Il est possible que les paquets partent bien, mais ne reviennent jamais, a tu vérifié si un des éléments du vpn bloquait les réponses? Je crois constater que d'après tes routes, tu a activé la fonction qui fait passer tout le trafic internet via le vpn, chose que tu ne devrais activer qu'avec au moins une config normale qui marche.
Est ce que le serveur openvpn est la passerelle de ton lan?
Ce serait sympa d'avoir au moins les logs d'openvpn sur le client, le serveur (logs un peu épurés pour ne montrer que le démarrage du serveur et la tentative de connexion du client, la config complète du serveur et du client ainsi que des ponts, les résultats de divers ping, traceroute & dumps etc... ;)
[^] # Re: Bridge vraiment nécessaire?
Posté par NeoX . Évalué à 2.
il faut juste regler le parefeu de la machine serveur vpn pour tranferer les données entre l'interface tun et l'interface eth
il faut evidemment que la route de retour renvoie sur le serveur vpn sinon les paquets se perdent en route...
idealement je mettais le serveur VPN sur le routeur adsl de la société afin que les routes soient simplifiées
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.