Forum Linux.général Problème mise en place PiVPN (OpenVPN sur raspberry)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-1
18
avr.
2017

Hello la communauté ;)

Je m'attaque à OpenVPN et je tombe sur un os. En effet pivpn a fonctionné durant le premier test mais depuis plus moyen (j'ai déjà testé 2x avec Raspbian Jessie normale et 2x avec Raspbian Jessie light).
J'arrive bien à connecter les clients*1 mais pas moyen d'accéder au Lan ni au Wan.
Quand je me connect au VPN puis tape ifconfig je peux voir que mon pc envois (Octets transmis) plusieurs Go à la minutes (je dirais +-200Mo/s) mais ne reçois rien du tout (Octets reçus:0). Un des processeurs se met aussi à tourner à fond jusqu'à se que je me déconnecte du VPN.
Quand je tape ifconfig sur le serveur PiVPN il ne semble pas avoir reçu les Go émis par le client.

D'après mes recherches sur le net, le problème semble venir d'une update sur raspbian (debian serait-il touché?).

Toute ma procédure d'installation est décrite dans ce tuto.

Solutions déjà testées :

*1 : je peux les voir dans la liste des clients connecté au serveur openvpn

Les informations de debug

pi@PiVPN:~ $ pivpn debug
::: Generating Debug Output
:::                 :::
::      PiVPN Debug      ::
:::                 :::
::  Latest Commit            ::
:::                 :::
commit 6ce39bfec399d9a8203409a108ef27f2ee29327a
Author: 0-kaladin <0.kaladin@gmail.com>
Date:   Mon Feb 27 21:01:23 2017 -0500

    Update README for IRC channel

    Due to discontinuation of Google Spaces
:::                 :::
::  Recursive list of files in   ::
::  /etc/openvpn/easy-rsa/pki    ::
:::                 :::
/etc/openvpn/easy-rsa/pki/:
ca.crt
Default.txt
dh4096.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
issued
private
serial
serial.old
ta.key
monUser.ovpn

/etc/openvpn/easy-rsa/pki/issued:
server.crt
monUser.crt

/etc/openvpn/easy-rsa/pki/private:
ca.key
server.key
monUser.key
:::                 :::
::  Output of /etc/pivpn/*       ::
:::                 :::
:: START /etc/pivpn/DET_PLATFORM ::
Raspbian
:: END /etc/pivpn/DET_PLATFORM ::
:: START /etc/pivpn/INSTALL_PORT ::
1194
:: END /etc/pivpn/INSTALL_PORT ::
:: START /etc/pivpn/INSTALL_PROTO ::
udp
:: END /etc/pivpn/INSTALL_PROTO ::
:: START /etc/pivpn/INSTALL_USER ::
pivpn
:: END /etc/pivpn/INSTALL_USER ::
:: START /etc/pivpn/NO_UFW ::
1
:: END /etc/pivpn/NO_UFW ::
:: START /etc/pivpn/pivpnINTERFACE ::
eth0
:: END /etc/pivpn/pivpnINTERFACE ::
:: START /etc/pivpn/REVOKE_STATUS ::
0
:: END /etc/pivpn/REVOKE_STATUS ::
:::                 :::
:: /etc/openvpn/easy-rsa/pki/Default.txt ::
:::                 :::
client
dev tun
proto udp
remote vpn.hostname.be 1194
resolv-retry infinite
nobind
persist-key
persist-tun
key-direction 1
remote-cert-tls server
tls-version-min 1.2
verify-x509-name server name
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 1
:::                 :::
::  Debug Output Complete        ::
:::                 :::
::: 
::: Debug output completed above.
::: Copy saved to /tmp/debug.txt
:::
  • # Côté routage

    Posté par  (site web personnel) . Évalué à 2.

    Tout est bon ?

    Système - Réseau - Sécurité Open Source

    • [^] # Re: Côté routage

      Posté par  . Évalué à -5.

      A mon avis non mais je ne sais pas encore comment vérifier/corriger. (les commentaires que j'ai lu par-ci par-là semble indiquer que le soucis vient bien du routage et non d'openvpn)

      J'ai mis 1 dans /proc/sys/net/ipv4/ip_forward

      echo 1 > /proc/sys/net/ipv4/ip_forward
      

      Et ai décommentez "net.ipv4.ip_forward=1" et "net.ipv6.conf.all.forwarding=1" dans "/etc/sysctl.conf" mais rien n'y fait.

      Je n'ai pas ufw d'installé, pourrait-ce entrer en jeu?

      Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

      • [^] # Re: Côté routage

        Posté par  (site web personnel) . Évalué à 2.

        Commencer par le début:

        ping et traceroute / tcpdump/wireshark sont tes amis.

        ça permet de voir où ça bloque de proche en proche.

        Système - Réseau - Sécurité Open Source

        • [^] # Re: Côté routage

          Posté par  . Évalué à -5. Dernière modification le 19 avril 2017 à 20:55.

          Alors ça avance :
          J'ai connecté au VPN un client raspbian et lui fonctionne bien (j'obtiens bien l'IP du serveur VPN quand je fais un coups de "curl -s -k -L https://www.0rion.netlib.re/outils/myIP.php | cat" depuis le client et j'arrive autant à pinger google qu'à joindre le LAN).
          Par contre lorsque le client est connecté au VPN je ne peux plus le pinger depuis le LAN "normal". (je suppose, étant nouveau, que c'est normal)
          Le problème doit donc venir du client sur xubuntu.
          Depuis le client xubuntu lorsque connecté au VPN je n'arrive plus à pinger quoi que se soit (ni sur le lan, ni sur le wan, ni dans le VPN).

          Pour wireshark, voici une session complète (de la connexion jusqu'à ce qui ne se passe plus rien puis déconnexion) : screenshot (le client xubuntu c'est 192.168.1.6 et le serveur PiVPN c'est 192.168.1.8)
          J'ai aussi ces lignes qui apparaissent après la déconnexion et que je trouve étrange (aussi étrange que de ne pas voir sur le serveur VPN le port ouvert d'openvpn dans nmap et ce malgré que le client raspbian y est connecté)

          merci pour ton aide ;)

          Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

          • [^] # Re: Côté routage

            Posté par  . Évalué à -5. Dernière modification le 19 avril 2017 à 22:15.

            Bon alors là je sèche (pour le moment :P ).
            Via l'interface graphique sur Xubuntu rien ne fonctionne mais si je me connecte au vpn en lançant la commande suivante

            sudo openvpn --cd /tmp/ --config monUser.ovpn
            

            ça fonctionne à moitié (le DNS ne semble plus fonctionner (youtube kapout) mais j'arrive a ping/curl les machines du lan et du VPN et l'IP affiché par curl est bien celle du VPN) :

            Wed Apr 19 21:50:57 2017 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Feb  2 2016
            Wed Apr 19 21:50:57 2017 library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
            Enter Private Key Password: **************************
            Wed Apr 19 21:51:05 2017 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
            Wed Apr 19 21:51:05 2017 Control Channel Authentication: tls-auth using INLINE static key file
            Wed Apr 19 21:51:05 2017 UDPv4 link local: [undef]
            Wed Apr 19 21:51:05 2017 UDPv4 link remote: [AF_INET]192.168.1.8:1194
            Wed Apr 19 21:51:10 2017 [server] Peer Connection Initiated with [AF_INET]192.168.1.8:1194
            Wed Apr 19 21:51:12 2017 TUN/TAP device tun0 opened
            Wed Apr 19 21:51:12 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
            Wed Apr 19 21:51:12 2017 /sbin/ip link set dev tun0 up mtu 1500
            Wed Apr 19 21:51:12 2017 /sbin/ip addr add dev tun0 10.8.0.6/24 broadcast 10.8.0.255
            RTNETLINK answers: File exists
            Wed Apr 19 21:51:12 2017 ERROR: Linux route add command failed: external program exited with error status: 2
            Wed Apr 19 21:51:12 2017 Initialization Sequence Completed
            

            Voila le retour de route sur Xubuntu connecté au vpn

            └─ $ ▶ route
            Table de routage IP du noyau
            Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
            default         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
            default         192.168.1.1     0.0.0.0         UG    100    0        0 enp14s0
            10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
            10.8.0.1        10.8.0.1        255.255.255.255 UGH   0      0        0 tun0
            128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
            link-local      *               255.255.0.0     U     1000   0        0 tun0
            192.168.1.0     10.8.0.1        255.255.255.0   UG    0      0        0 tun0
            192.168.1.0     *               255.255.255.0   U     100    0        0 enp14s0
            vpn.0rion       *               255.255.255.255 UH    0      0        0 enp14s0
            

            Je suis aussi en train d'essayer sur Debian (un serv en cours de prepa) et là j'arrive à me connecter au VPN, à pinger les autres clients du VPN, le Lan et l'internet par contre quand je check mon IP avec curl je vois l'IP du client Debian et non l'IP du VPN):

            root@0rionServer1:/home/voxpopuli# openvpn --cd /etc/openvpn --config 0rionServer1.ovpn
            Wed Apr 19 22:02:55 2017 OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Nov 12 2015
            Wed Apr 19 22:02:55 2017 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
            Wed Apr 19 22:02:55 2017 Control Channel Authentication: tls-auth using INLINE static key file
            Wed Apr 19 22:02:55 2017 UDPv4 link local: [undef]
            Wed Apr 19 22:02:55 2017 UDPv4 link remote: [AF_INET]192.168.1.8:1194
            Wed Apr 19 22:03:00 2017 [server] Peer Connection Initiated with [AF_INET]192.168.1.8:1194
            Wed Apr 19 22:03:02 2017 TUN/TAP device tun0 opened
            Wed Apr 19 22:03:02 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
            Wed Apr 19 22:03:02 2017 /sbin/ip link set dev tun0 up mtu 1500
            Wed Apr 19 22:03:02 2017 /sbin/ip addr add dev tun0 10.8.0.4/24 broadcast 10.8.0.255
            RTNETLINK answers: File exists
            Wed Apr 19 22:03:02 2017 ERROR: Linux route add command failed: external program exited with error status: 2
            RTNETLINK answers: File exists
            Wed Apr 19 22:03:02 2017 ERROR: Linux route add command failed: external program exited with error status: 2
            Wed Apr 19 22:03:02 2017 Initialization Sequence Completed
            

            Le retour de route sur Debian est légèrement différent

            Table de routage IP du noyau
            Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
            default         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
            default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
            10.8.0.0        *               255.255.255.0   U     0      0        0 tun0
            10.8.0.1        10.8.0.1        255.255.255.255 UGH   0      0        0 tun0
            128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
            192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
            vpn.0rion       192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
            

            PS: désolé si c'est long, j'ai préféré poster full détails, si ça peut aider c'est ça de pris :)

            Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

  • # Info pour un newbie

    Posté par  . Évalué à 1.

    Hello à tous!
    Débutant dans le monde Rpi/linux/VPN, je voudrais mettre en place un VPN. En me renseignant sur internet, je me rends compte qu'il existe Openvpn et PiVPN et je ne comprends pas très bien la difference (s'il y en a une!) Selon ce que j'ai compris, PiVPN est uniquement un outil qui permet d'installer en place le serveur Openvpn. Est-ce que ma deduction est correct où est-ce que ces 2 outils ont belle est bien des différences significatives?
    Un grand merci à tous pour votre aide et temps :)

    • [^] # Re: Info pour un newbie

      Posté par  . Évalué à -4.

      Très bonne déduction :) PiVPN se sont des scripts qui vont permettre de faciliter l'installation et l'utilisation d'OpenVPN.
      Si tu arrives à avoir une configuration (clients et serveurs) qui fonctionne, stp partages les infos ;) (voila toutes les infos que j'ai pu condenser sur le sujet)

      Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

  • # avancement

    Posté par  . Évalué à -4.

    Bon, je suis en train de tester PiVPN sur Debian (sans pivpn, openvpn est vraiment imbuvable).
    Ca fonctionne (j'arrive à joindre mes machines en LAN, dans le VPN ainsi qu'à joindre le WAN), sauf que l'IP des machines (ubuntu et raspbian) ne sont toujours pas remplacées par celle du VPN. Bon ce n'est pas vraiment un problème vu l'utilisation que je souhaite en faire, mais ça signifie qu'il y a encore un bug quelques part qui sera chiant dans le futur (et aussi que mes deux tuto en cours de rédactions sur ce sujet ne sont pas terminé).

    J’éprouve aussi des difficultés à forcer une IP statique pour mes clients du VPN (le but étant de faire communiquer des serveurs entre eux). Passer par "route" dans le network manager du xubuntu semble sans effet, tout comme modifier /etc/dhcpcd.conf sur raspbian (le fichier qui sert déjà à fixer l'ip sur le réseau)

    Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.