Connexion

Besoin d'aide ? Une question ? Un avis ? Rejoignez nous sur notre salon IRC pour clavarder

Forum

Système et matériels » Réseau Internet Wi-Fi openvpn ne marche plus.

xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 08/08/2017 à 09h11
Bonjour,

Il y a quelques jours, je me suis connecté à mon serveur vpn depuis l'office du tourisme où j'étais en vacances. Tout s'est bien passé.
2 jours après, je recommence, et tout se passe bien.
2 jours encore plus tard, je recommence et cette fois, pas de connexion.
Une fois rentré de vacances, j'essaye à nouveau et ça ne marche toujours pas.
Je sèche vraiment car j'ai l'impression de ne rien avoir changé du tout. Peut-être une mise à jour de Mageia, mais c'est tout.

Dans les logs du serveur, le seul truc un peu bizarre est le status=1 de la ligne suivante :

Mon Aug 7 23:21:42 2017 us=327794 ordi_de_pascale/<Addresse IP du client>:59070 SENT CONTROL [ordi_de_pascale]: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 192.168.0.0 255.255.255.0,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM' (status=1)

Côté client, j'ai un "UDP link local: (not bound)" mais comme je n'ai pas d'ancien log de connexion qui marchait, je ne sais pas si c'est un problème ou pas.

/etc 146 # more /var/log/openvpn.log
Mon Aug 7 23:21:32 2017 OpenVPN 2.4.3 x86_64-mageia-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built
on Jun 25 2017
Mon Aug 7 23:21:32 2017 library versions: OpenSSL 1.0.2l 25 May 2017, LZO 2.09
Mon Aug 7 23:21:32 2017 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.
Mon Aug 7 23:21:32 2017 NOTE: the current --script-security setting may allow this configuration to call user-defined scrip
ts
Mon Aug 7 23:21:41 2017 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent
this
Mon Aug 7 23:21:41 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]<Adresse IP du serveur>:1194
Mon Aug 7 23:21:41 2017 UDP link local: (not bound)
Mon Aug 7 23:21:41 2017 UDP link remote: [AF_INET]<Adresse IP du serveur>:1194
Mon Aug 7 23:21:41 2017 [freexuo_vpn] Peer Connection Initiated with [AF_INET]<Adresse IP du serveur>:1194
Mon Aug 7 23:21:42 2017 TUN/TAP device tun0 opened
Mon Aug 7 23:21:42 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Mon Aug 7 23:21:42 2017 /usr/sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Mon Aug 7 23:21:42 2017 /etc/openvpn/update-resolv-conf tun0 1500 1553 10.8.0.6 10.8.0.5 init
dhcp-option DNS 208.67.222.222
dhcp-option DNS 208.67.220.220
Mon Aug 7 23:21:42 2017 Initialization Sequence Completed

Dans le script de démarrage de openvpn, j'ai ajouté les lignes suivantes :

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 192.168.0.14
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Mais je ne sais pas vérifier que les commandes ont bien été prises en compte côté serveur.

Toute aide sera la bienvenue (Vouf, tu es là ?).

Xuo.
   
vouf Membre non connecté

Rang

Avatar

Webmaster Administrateur

Inscrit le : 16/08/2008 à 08h27

Localisation : Gironde

Messages: 2960

Le 08/08/2017 à 19h12
Bonjour

J'aime pas trop les warnings au niveau du client

Code BASH :
Mon Aug 7 23:21:32 2017 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.


Mais, pourtant, selon sa log, il semble que tu soit bien connecté au serveur....

Par contre je pense qu'il y a une coquille au niveau de
Code BASH :
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE


Ca m'étonnerai que ton interface réseau se nomme eth0..... Ca devrait plus un machin du type enp0s3.... Ce qui pourrait expliquer ton soucis... Une fois la commande lancer, un redémarrage du service openvpn s'impose...


Mageia 7 64 bits Plasma 5- Asus B150 Pro Gaming-Intel Core i7 6700-16 Go Hyper X Fury DDR4-2133 Mhz-Asus Strix GTX Nvidia 1060 - Go-M2 Samsung Evo 970 1Tb-SSD 512 Gb Samsung Evo 960 -Raspberry PI2
   
xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 08/08/2017 à 21h41
Bonsoir,

Je m'étais rendu compte du problème de eth0 en même temps que j'écrivais le post. J'ai fait la modif mais ça ne change rien.
Je vais essayer de supprimer le warning côté client.

Sur le client :

# ping google.fr
PING google.fr (216.58.204.131) 56(84) bytes of data.
From ordi8 (10.8.0.6) icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Opération non permise

Je pensais que ça pouvait venir des DNS mais si c'était le cas, il ne trouverait pas l'adresse ip de google.fr

# more /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 192.168.1.254
search lan

De plus, je ne comprends pas comment les paramètres up et down sont passés au script update-resolv-conf ?
Dans le fichier de conf du client, on a :

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

et dans le log, on a :

Tue Aug 8 21:14:14 2017 /etc/openvpn/update-resolv-conf tun0 1500 1553 10.8.0.6 10.8.0.5 init

Mais je ne vois pas comment est positionnée la variable $script_type lors du lancement de openvpn côté client.

Merci.

Xuo.
   
xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 08/08/2017 à 22h36
Re-bonsoir,

J'ai trouvé ce post : https://ubuntuforums.org/showthread.php?t=1660520
Je vais essayer ce qui est indiqué mais je dois être sur place, côté serveur, sinon je tue ma connexion Internet.

Xuo.
   
vouf Membre non connecté

Rang

Avatar

Webmaster Administrateur

Inscrit le : 16/08/2008 à 08h27

Localisation : Gironde

Messages: 2960

Le 19/08/2017 à 15h26
Bonjour Xuo

Je vois qu'il y a eu des mises jours d'openvpn et des certificats, également avec Mageia 5... Une regénération des clés est sans doute nécessaire.


Mageia 7 64 bits Plasma 5- Asus B150 Pro Gaming-Intel Core i7 6700-16 Go Hyper X Fury DDR4-2133 Mhz-Asus Strix GTX Nvidia 1060 - Go-M2 Samsung Evo 970 1Tb-SSD 512 Gb Samsung Evo 960 -Raspberry PI2
   
xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 20/08/2017 à 12h21
Bonjour,

J'ai fait pas mal de changements côté serveur (rien à voir avec openvpn) et je suis passé de Bouygues à Free côté client.Donc j'avais un peu mis de côté ce problème.
Puis j'ai lancé à la main les 2 commandes suivantes sur le serveur :
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 192.168.0.14
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp4s0 -j MASQUERADE

Et ça s'est remis à marcher.
Je vais confirmer tout ça lundi depuis le client mais c'est bizarre.Je ne vois pas pourquoi ces commandes passent en ligne de commande et pas à travers un script qui lance juste avant :
openvpn --config /etc/openvpn/server.conf --daemon --writepid /var/run/openvpn_ordi4.pid

Donc openvpn se lance mais pas les iptables !!

Xuo.
   
xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 21/08/2017 à 19h03
Bonsoir,

Je confirme que tout marche bien de nouveau, par contre, mon système de lancement ne semble pas marcher :

# more /etc/systemd/system/openvpn.service
[Unit]
Description=OpenVPN connection
After=network.target iptables.service

[Service]
Type=forking
ExecStart = /mnt/Softs/scripts/startOpenvpn.csh -start
ExecStop = /mnt/Softs/scripts/startOpenvpn.csh -stop

[Install]
WantedBy=multi-user.target

# more /mnt/Softs/scripts/startOpenvpn.csh

#!/bin/tcsh -f

set hostName = `hostname`
set PIDFile = /var/run/openvpn_ordi4.pid

if ($hostName != 'ordi4') then
echo ''
echo ' This script MUST be run on ordi4.'
echo ''
exit 1
else
if ($USER != 'root') then
echo ''
echo ' Only the root user can run this script.'
echo ''
exit 1
endif
endif

set open_vpn_start = 0
set open_vpn_stop = 0

@ curArg = 1
while ($curArg <= $#argv)
switch ($argv[$curArg])
case -start:
@ curArg = $curArg + 1
set open_vpn_start = 1
breaksw

case -stop:
@ curArg = $curArg + 1
set open_vpn_stop = 1
breaksw

default:
echo "ERROR : the argument $argv[$curArg] is not recognized."
exit 1
endsw
@ curArg = $curArg + 1
end

if ($open_vpn_start == 1) then
openvpn --config /etc/openvpn/server.conf --daemon --writepid /var/run/openvpn_ordi4.pid
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 192.168.0.14
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp4s0 -j MASQUERADE
endif

if ($open_vpn_stop == 1) then
/bin/pkill --pidfile $PIDFile
set listOfOpenVpnTables = `iptables -t nat --line-numbers -L | grep '^[0-9]' | grep '10.8.0' | gawk '{print $1}' | tac`
# echo $listOfOpenVpnTables
foreach iptable ($listOfOpenVpnTables)
iptables -t nat -D POSTROUTING $iptable
end
endif

exit 0

Ceci dit, je met un bémol. Quand je dis que ça ne marche pas, c'est au démarrage de la machine. Si je le lance à la main après le démarrage du serveur :
systemctl restart openvpn
alors tout semble bien se passer.

C'est peut-être la liste des "After=xxx" qui est incomplète.

Une idée ?????

Merci.

Xuo.
   
zwykx Membre non connecté

Rang

Avatar

Inscrit le : 21/01/2013 à 19h44

Localisation : Hauts de seine

Messages: 185

Le 21/08/2017 à 19h59
Bonsoir,

Je comprends pas bien le csh mais une solution à l'avenir pour tester ta connexion est par exemple de taper la commande :
Code BASH :
/sbin/openvpn --writepid /var/local/openvpn.pid --config <fichier de config>.ovpn --auth-user-pass <là où se trouvent tes identifiants dans un fichier id.conf>id.conf


Tu vas par exemple sur :
https://www.vpnbook.com/
https://freevpn.me/accounts/
http://www.vpngate.net/en/

pour récupérer des fichiers ovpn et des identifiants gratuits et tu testes ta connexion.
Tu sauras comme ça si c'est ton fournisseur de vpn qui est en rade ou c'est ton openvpn qui déconne.

Les sites marchent pas toujours mais sur vpngate, vu la quantité, tu arrive toujours à trouver un site qui marche.

Bon courage ! Edité par zwykx Le 21/08/2017 à 20h02


PC : CM Asus M4A87TD EVO, CPU AMD 64 Athlon II X4 620, 8 Gio RAM DDR3, CG Asus GeForce 210
   
xuo Membre non connecté

Rang

Avatar

Inscrit le : 23/10/2011 à 18h17

Localisation : Bouc-Bel-Air

Messages: 522

Le 28/08/2017 à 20h48
Bonsoir,

Ma connexion marche à condition de lancer à la main les 2 commandes concernant les iptables :
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 192.168.0.14
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp4s0 -j MASQUERADE

Il faudrait que j'ajoute des vérifications de résultats de commandes dans le script pour essayer de comprendre pourquoi elles ne sont pas prises en compte (redirection des messages d'erreur dans un fichier car je n'ai rien vu dans les logs système).

Xuo.
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie