4 votes

Faire en sorte que le client openvpn fasse passer tout le trafic par le serveur

J'essaie de mettre en place un serveur et un client openvpn, tout le trafic du client étant acheminé par le serveur. Je suis actuellement en mesure d'accéder au serveur par le client, mais lorsque j'active 'push "redirect-gateway def1"' sur le serveur, le client perd toute capacité de se connecter à l'Internet, qu'il s'agisse d'un vpn ou autre. De plus, il ne peut plus se connecter au serveur, bien que la connectivité réseau soit toujours bonne. Le fichier de configuration de mon serveur est le suivant

local ***.***

port 1194

proto tcp

dev tun

ca ca.crt
cert server.crt
key server.key

dh dh2048.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "redirect-gateway local def1"

keepalive 10 120

comp-lzo

persist-key
persist-tun

status openvpn-status.log

verb 3

et voici le client :

client

dev tun

proto tcp

remote ***.*** 1194

resolv-retry infinite

nobind

persist-key
persist-tun

ca ca.crt
cert laptop.crt
key laptop.key

ns-cert-type server

comp-lzo

verb 3

Sur le serveur, j'ai activé la redirection IP et le routage via iptables :

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

mais le client n'est toujours pas capable de se connecter à quoi que ce soit sur le VPN ou l'internet.

2voto

xcyteh Points 93

Pour référence, la section pertinente du HOWTO est la suivante aquí mais je pense que vous l'avez suivi.

La première chose que j'essaierais est d'enlever le 'local', c'est-à-dire que la commande devrait être

push "redirect-gateway def1"

et non

push "redirect-gateway local def1"

L'indicateur local ne fonctionne que si tous vos clients se trouvent sur le même sous-réseau.

Il faut aussi savoir que le trafic DNS est acheminé par le vpn et que vous ne pourrez pas résoudre les adresses si vous ne vous en occupez pas. Le DHCP peut aussi être redirigé, mais cela ne devrait pas se produire dans votre cas puisque vous utilisez un VPN routé et non pas ponté, mais cela vaut la peine de vérifier quand même.

0 votes

L'indicateur "local" était là parce que je testais sur le même réseau à ce moment-là. Je vais répéter le test ailleurs aujourd'hui. Je garderai à l'esprit de pousser les informations dns également, merci.

1voto

Lawrence Points 203

Si vous "poussez" une nouvelle passerelle vers le client, vous devez également pousser certaines routes, en particulier la route vers le sous-réseau où réside cette passerelle. Cela vous permettra d'accéder à Internet via le VPN. Si le réseau où réside la passerelle est différent de celui où se trouve le serveur VPN, vous avez également besoin de routes supplémentaires pour que le client puisse accéder à ces autres réseaux. De plus, il se peut que vous souhaitiez également pousser des serveurs DNS vers le client, car sinon le client ne peut pas résoudre les noms de toutes les cibles sur le réseau auquel il est maintenant connecté.

Voici un extrait de notre fichier de configuration du serveur OpenVPN :

\# Push route to client to bind it to our local
# virtual endpoint.
#
push "route 10.180.0.1 255.255.255.255"

# Push any routes the client needs to get in
# to the local network.
#
push "route 10.171.0.0 255.255.0.0"
push "route 10.172.0.0 255.255.0.0"
push "route 10.173.0.0 255.255.0.0"
push "route 10.174.0.0 255.255.0.0"
push "route 10.175.0.0 255.255.0.0"
push "route 10.176.0.0 255.255.0.0"
push "route 10.177.0.0 255.255.0.0"
push "route 10.181.0.0 255.255.0.0"
push "route 10.182.0.0 255.255.0.0"
push "route 192.168.61.0 255.255.255.0"

# Push DHCP options to Windows clients.
#
push "dhcp-option DOMAIN our-internal-domain.com"
push "dhcp-option DNS 10.a.b.c"
push "dhcp-option WINS 10.b.c.d"

Ce sont tous des réseaux internes, et nous ne poussons même pas une nouvelle passerelle (comme la plupart de nos utilisateurs se connectent de loin, il vaut mieux qu'ils accèdent à Internet par leur passerelle par défaut et nous ne sommes pas des maniaques du contrôle).

0 votes

Le seul serveur distant important héberge aussi openvpn, donc les routes supplémentaires ne sont pas un problème. L'essentiel est la sécurité de la navigation, c'est pourquoi j'essaie de faire transférer le trafic web.

0voto

correnos Points 31

En fait, le problème était que le NAT n'était pas configuré correctement. C'est corrigé, et le vpn fonctionne maintenant.

2 votes

Hey. Pourriez-vous ajouter comment vous le réparez ? J'ai le même problème....

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X