OpenVPN : problème de routage ???

Nitroman_70 Messages postés 16 Statut Membre -  
 Dodot -
Bonjour,

je rencontre un problème avec mon serveur OpenVPN sous CentOS. J'ai installé le serveur, créé les certificats et tout le bazar, créé mon fichier openvpn.conf comme ceci :

#Port en écoute utilisé pour la connexion VPN
port 1194
#Protocole utilisé (Le protocole udp est plus sécurisé que le tcp)
proto udp
#Type d’interface réseau virtuelle créée
dev tun
#Nom des fichiers servant à l’authentification des clients via OpenSSL
ca /etc/openvpn/certs/keys/ca.crt
cert /etc/openvpn/certs/keys/serveur.crt
key /etc/openvpn/certs/keys/serveur.key
dh /etc/openvpn/certs/keys/dh1024.pem
#Adresse du réseau virtuel (Le serveur aura l’adresse 10.8.0.1)
server 10.8.0.0 255.255.255.0
#Cette ligne ajoute sur le client la route du réseau du serveur
push “route reseau_de_mon_serveur 255.255.255.0″
#Ces lignes indiquent aux clients l’adresse des serveur DNS et WINS
push “dhcp-option DNS ip_de_mon_serveur″
push “dhcp-option WINS ip_de_mon_serveur″
# Cette ligne permet aux clients de voire les autres clients
client-to-client
keepalive 10 120
#Cette ligne active la compression
comp-lzo
#Ces lignes permettent de rendre persistante la connexion
persist-key
persist-tun
#Cette ligne permet d’indiquer le niveau de log souhaité (de 1 à 9)
verb 3

puis le fichier client comme ceci :

client
dev tun
proto udp
remote ip_de_mon_serveur 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

ns-cert-type server

comp-lzo

verb 3

Le client se connectait avec succès, et je pouvais pinger l'adresse 10.8.0.1. Une semaine plus tard, je me connecte au VPN, et là impossible de pinger le serveur sur 10.8.0.1 (impossible non plus de pinger le client depuis le serveur), et cela depuis 3 ordinateurs clients différents. Je n'ai pas touché à ma configuration ! D'où pourrait venir le problème ???

Merci !
A voir également:

6 réponses

Nitroman_70 Messages postés 16 Statut Membre 2
 
J'ai finalement réussi par je ne sais quel moyen à rétablir le fonctionnement du VPN. Tout est bien paramétré pour que le client passe par le VPN lorsqu'il est connecté. Problème : je perds la connectivité à Internet car le serveur ne dois pas savoir router les paquets qui arrivent du VPN vers l'accès internet du serveur. J'ai lu qu'il fallait activer un routage NAT avec iptables. Est-ce qu'un règle comme ça suffirait :

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

Merci
1
tatoute
 
Il faudrait donner plus d'infos pour avoir une réponse qui pourrait t'aider.
- un vpn entre quoi et quoi, sur quel réseau, pour quoi faire?

Cordialement,
tatoute
0
mamiemando Messages postés 34250 Date d'inscription   Statut Modérateur Dernière intervention   7 901
 
Il faut commencer par regarder si ton interface VPN est crée et si les routes sont correctement crées :
/sbin/ifconfig -a
/sbin/route -n

Normalement si ton VPN est correctement monté, tu dois avoir une interface tun0 ou tap0 et une route qui l'emprunte pour accéder au reste du VPN.

Bonne chance
0
mamiemando Messages postés 34250 Date d'inscription   Statut Modérateur Dernière intervention   7 901
 
Aucune idée. Je vois pas trop pourquoi tu aurais besoin d'iptables mais bon si tu le dis... Le mieux ce serati de regarder un tutoriel.
0
Nitroman_70 Messages postés 16 Statut Membre 2
 
Je souhaite faire passer tout le traffic internet par le VPN, afin de pouvoir utiliser des applications spécifiques dans des environnement où elles sont bloquées par un proxy/firewall. J'ai utilisé push "redirect-gateway def1" pour que lors de la connexion, le serveur VPN envoie au client sa nouvelle route par défaut : lui même. Tout le traffic est ainsi envoyé via le tunnel OpenVPN. Le problème c'est que le serveur ne redirige pas les paquets qu'il reçoit du client vers internet, donc la connexion est coupée...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nitroman_70 Messages postés 16 Statut Membre 2
 
Je viens de scanner les paquets avec Wireshark sur le client. Je connecte le VPN puis je lance une connexion à un site web depuis firefox. Dans Wireshark, je constate que la requête DNS est envoyée à mon serveur via le VPN, et que celui ci lui répond avec l'IP du site. Mais lorsque le client va essayer de contacter le site, eh bien ça ne fonctionne pas...
0
Dodot
 
Quand tu créé ton VPN, tu est sur le même réseau local virtuel que le serveur. Mais ça ne veut pas dire que le serveur va se transformer en routeur comme par magie !

Pour que la magie opère, deux lignes :
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

Et si ça ne fonctionne pas parce que ton iptables est configuré strictement, tu peux ajouter :
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
0