VPN Client connected but no outside access anymore

My YunoHost server

Hardware: Raspberry Pi at home
YunoHost version: 3.6.5.3
I have access to my server : Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : No

Description of my issue

Hello la communauté :slight_smile:

J’ai installé Yunohost sur un Raspberry 3 qui fonctionne très bien avec un domaine OVH et DynDns mais je souhaitais faire utiliser un VPN pour masquer l’IP de ma box.
J’ai un VPN chez PIA (Private Internet Access) et j’ai réussi à créer un fichier .cube qui fonctionne avec l’application VPN Client.

Dès que j’active le client VPN et que DynDns fait son boulot, je perds l’accès au site.
Si je coupe le VPN, tout fonctionne Ă  nouveau.


Hello community :slightly_smiling_face:

I installed Yunohost on a Raspberry 3 that works perfeclty with a OVH domain and DynDns but I wanted to add a VPN to mask my router IP.
I have one at PIA (Private Internet Access) and I managed to create a .cube file that works with the VPN Client app.

As soon as I activated the VPN Client app and after DynDns is updated, I loose the connection to the website (from outside of my home).
When I stop it, everything is back to normal.

VPN infos:

  "server_name": "france.privateinternetaccess.com",
  "server_port": "1198",
  "server_proto": "udp"

VPN client log

[INFO] Preparing openvpn configuration...
[INFO] Now actually starting OpenVPN client...
[INFO] OpenVPN client started ... waiting for tun0 interface to show up
[ OK ] tun0 interface is up!
[INFO] Enforcing custom DNS resolvers from vpnclient
[INFO] Adding vpnclient custom rules to the firewall
[INFO] Restarting yunohost firewall...
[ OK ] Firewall restarted!
[INFO] Saving settings...
[ OK ] YunoHost VPN client started!

Quand j’essaye de faire un curl, j’ai l’erreur suivante :
Testing with a curl command:

~# curl -v https://toto.com
* Rebuilt URL to: https://toto.com/
*   Trying XXX.XXX.XXX.XXX...
* TCP_NODELAY set
* Connected to toto.com (XXX.XXX.XXX.XXX) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to toto.com:443
* Curl_http_done: called premature == 1
* stopped the pause stream!
* Closing connection 0
curl: (35) Unknown SSL protocol error in connection to toto.com:443

Face à cette erreur, je ne sais pas de quel côté me diriger, certificat ? nginx ? firewall ?

J’ai essayé avec un certificat auto-signé et un certificat let’s encrypt, c’est le même résultat.
Niveau pare-feu, j’ai bien une règle sur le port 1198 qui est créée

Est-ce que j’essaye de faire est-il tout de même possible ? Ou dois-je basculer vers un VPN avec IP fixe ?
Merci Ă  tous par avance pour votre aide.

With this error, I don’t know where to look. Is it the certificate ? Nginx ? Firewall ?
I tried with a self-signed certificate and with a let’s encrypt certificate but it’s the same result.
In the firewall, I do have a rule created on the port 1198.
Does what I am triyng to do is even possible ? Or should I switch to a static IP VPN provider ?

Thank you all in advance for your help.

Bonjour,
As-tu regarder ce sujet ?

Salut,

Merci pour l’info mais je ne suis pas sûr que cela s’applique.

La connexion VPN fonctionne quand j’utilise avec mon fichier .cube ou quand je renseigne les infos manuellement dans l’application.

Le problème est que dès que le VPN est activé et après la mise à jour dyndns, impossible d’accéder à yunohost par l’extérieur…

PS : Je ne sais pas si ça peut aider mais il est possible de faire du port forwarding avec mon vpn.

Salut,

Plusieurs questions dans tous les sens pour débrouissailler :

  • Lorsque fais un ping de ton.domaine.org après la MAJ de dyndns, quelle est l’adresse IP renvoyĂ©e ? Est-ce bien l’adresse voulue (du serveur VPN) ?

  • Est-ce que tu arrives Ă  joindre ton Yunohost (connectĂ© au VPN) en tapant l’adresse IP du VPN (et non pas ton nom de domaine) ?

  • Quel est l’intĂ©rĂŞt d’avoir un VPN Ă  IP non fixe ?

Merci !

Salut :slight_smile:

  • Lorsque fais un ping de ton.domaine.org après la MAJ de dyndns, quelle est l’adresse IP renvoyĂ©e ? Est-ce bien l’adresse voulue (du serveur VPN) ?

Oui l’adresse IP mise à jour est bien celle du VPN

  • Est-ce que tu arrives Ă  joindre ton Yunohost (connectĂ© au VPN) en tapant l’adresse IP du VPN (et non pas ton nom de domaine) ?

Non toujours pas, par l’adresse IP j’ai les erreurs suivantes (les mêmes qu’en passant par le domaine) :

http (port 80) : ERR_CONNECTION_CLOSED / Par curl : curl: (52) Empty reply from server

https (port 443): ERR_CONNECTION_CLOSED / Par curl : curl: (35) Unknown SSL protocol error in connection :XXX.XXX.XXX.:443

  • Quel est l’intĂ©rĂŞt d’avoir un VPN Ă  IP non fixe ?

J’avais déjà un abonnement chez PIA pour toute la famille du coup je voulais en profiter :slight_smile:

Hello,

Est-ce que tu arrives à joindre ton Yunohost en ssh via l’adresse IP du serveur VPN (et non pas le nom de domaine) ?

Bonne journée !

Hello,

En testant le SSH, je n’arrive pas à me connecter (c’est surtout pas la même fingerprint SSH que celle de mon rasp, c’est vraiment étrange).
Je vais regarder côté fournisseur VPN sinon je vais passer sur un VPN avec IP fixe ou faire le mien sur un VPS…
Je te remercie pour ton aide :slight_smile:

Bonne soirée

Hello,

Moi je dirais qu’il y a sûrement un foirage au niveau du forward des ports sur le serveur VPN.

Si tu te fais sun VPN fixe, je peux t’aider à le configurer (j’ai cette config).

A +

Hello,

Je te remercie, je vais tester sur mon VPS et on verra si ça marche :wink:

Bon w-e

Salut,

Après quelques réinstallation d’openvpn sur mon VPS, je n’ai toujours pas réussi à configurer mon yunohost derrière un vpn…

Sur mon VPS Openvpn, j’ai défini une adresse IP fixe pour mon client. Une fois le fichier ovpn en place sur mon raspberry, je me connecte et fais un dyndns. L’IP derrière mon nom de domaine est bien celle du VPN.

Cependant lorsque je rentre le nom de domaine sur un navigateur, je me retrouve sur la page openvpn d’admin…

  • As-tu apportĂ© des modifications supplĂ©mentaires au niveau du serveur VPN ?
  • Y a-t’il des règles Ă  rajouter cĂ´tĂ© client ?

Je te remercie :slight_smile:

Salut,

Toutes mes excuses pour ce délai, j’étais bien occupế la semaine dernière.

Nickel, c’est ce qu’il faut.

Par contre, je ne comprends aps pourquoi tu aurais besoin de faire du dyndns.
Ton VPS a bien une adresse publique fixe non ?

La dernière étape, c’est de configurer ton serveur VPS pour qu’il retransmette les paquets qui arrivent sur les ports utilisés par Yunohost vers l’adresse IP du client OpenVPN de ton raspberry.

Explique moi cette histoire de dyndns et après on voit pour terminer ta config.

Dans ce cas il faut probablement utiliser le port forwarding de ton vpn pour rediriger vers l"ip de ton serveur.

Si tu faits ifconfig dans ton serveur, le tun0 indique une ip publique ou une ip privée (locale) genre 192.168 ou 10.0 ou 172.16 ?

Salut,

Merci pour tous vos conseils @charly et @ljf, j’ai réussi à faire fonctionner mon yunohost derrière un VPN sur un VPS OVH :slight_smile:
J’avais quelques problèmes avec des règles déjà en place sur le serveur mais avec le forward des ports qui vont bien vers l’adresse du yunohost, tout fonctionne :slight_smile:

Merci à cette super communauté pour toute votre aide, j’ai beaucoup appris et je vais enfin pouvoir profiter de mon yuno :love_you_gesture:

Plex

Nickel.
N’oublie pas de rajouter l’adresse IP de ton serveur VPN sur la liste blanche du fail2ban de ton Yunohost, sinon il pourrait se faire bannir.

A +

Effectivement, je n’y avais pas pensé.
Bonne idée :slight_smile:

A+

Mettre l’adresse IP du serveur sur la liste blanche de Fail2ban :

D’abord faire une copie du .conf en .local

root@box:~# cp /etc/fail2ban/jail.conf /etc/failt2ban/jail.local

Éditer le jail.local et rajouter l’adresse ip du serveur openvon dans le ignoreip=

ignoreip = 127.0.0.1/8 10.8.0.1

Une question : as tu réussi à convertir ton fichier .ovpn en .cube ?

A +

1 Like

One of the most common reasons why the VPN is connected but not working is a DNS configuration issue. It may also occur if you configure the VPN connection to use the default gateway on the remote network. This setting overrides the default gateway settings that you specify in your TCP/IP settings.