logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 20-01-2023 09:15:58

RomainRCD81
Membre
Inscription : 28-12-2022

VPN Wireguard + 4G

Bonjour à tous,

Chers membres, j'ai un soucis que je n'arrive pas à régler. j'ai évidement fait mes propres recherches mais je bloque.

Mon besoin : Rendre accessible un Raspberry Pi3 avec une connexion 4G accessible depuis mon réseau domestique en ssh.

On m'a conseillé d'utiliser Wireguard. J'ai donc tenté de paramétrer wireguard sur le raspi et son mon laptop. Tant qu'on est sur le réseau local ça fonctionne parfaitement.

J'ai paramètré un DDNS sur le pi, mais je pense que je m'embrouille un peu avec tout ça. Je pense que je ne fais pas ce qu'il faut. Et au final je n'arrive pas a joindre mon Pi à partir du moment ou il est derriere une connexion 4G.

Je suis chez sosh pr la connexion 4G et je sais que le CGNAT peut venir foutre le bordel dans tout ça.

Si quelqu'un a une idée ... je suis preneur. ça fait quelques jours que je suis la dessus ... et ça me rendre un peu dingue big_smile

Merci a tous

Hors ligne

#2 20-01-2023 21:38:05

naguam
Membre
Lieu : Quelque part
Distrib. : Plusieurs
Noyau : Ça dépend
(G)UI : La CLI il n'y a que ça de vrai!
Inscription : 13-06-2016

Re : VPN Wireguard + 4G

Le soucis est clairement le NAT, comme c'est du CGNAT orange tu n'a pas le contrôle là dessus.

Une solution est d'avoir un serveur proxy accessible sans NAT vers lequel la RASP peut se connecter, et avoir soit un vpn, soit un proxy configuré dessus utilisé par la rasp pour s'y connecter spontanément (d'elle même)

L'idée c'est que quand tu veux ssh la pi, tu vas plutôt ssh le serveur qui va, par rapport à sa configuration, transmettre à la RASP via la connection pré-établie vers le serveur par la RASP.
Ceci soit à travers le vpn (bidirectionnel) soit juste établir la connection dans les plages dynamiques dans le cas d'un proxy.

Après je crois qu'il y a d'autres outils de NAT traversal, mais bon, si tu peux configurer la raspberry pi en amont, c'est une méthode relativement simple.

PS: le proxy peut-être hébergé chez toi avec du NAT configuré sur ta box, ton soucis, c'est le NAT côté 4G.


Tentative d'explication
Le plus important à comprendre c'est que une fois qu'une connection est établie et fonctionnelle la communication est bi-directionnelle.
Quand ton navigateur parle à un serveur sur son port 80, côté client tu as aussi un port dynamique qui est ouvert côté client pour recevoir la réponse.

Si un client est derrière un NAT, le routeur faisant le NAT va se souvenir de son ip et généralement du port utilisé pour pouvoir retransmettre la réponse au client qui a établi la connection et permettre une connection bi-directionnelle.
Sans configuration du NAT, par contre un serveur derrière un NAT ne va pas pouvoir recevoir de requette spontanée.
Mais rien n'empêche que ce serveur derrière soit client d'un proxy, et donc établi sa connection (donc c'est pas une requète vers le serveur mais une requète du serveur comme client d'un proxy) la connection est bi-directionnelle et le proxy peut lui transmettre la connection vers le serveur.

Dernière modification par naguam (20-01-2023 21:52:45)

Hors ligne

#3 21-01-2023 23:03:57

RomainRCD81
Membre
Inscription : 28-12-2022

Re : VPN Wireguard + 4G

Hello !

Merci pour la réponse.

Malheureusement je ne comprend pas tout ce que tu me dis sad

Je pense que j'ai le plus gros ... Mais dans la pratique je ne vois pas comment mettre en pratique ce que tu me conseilles.

Mon idée :

Creer un túnel wireguard entre mon portable et mon Pi.

Je considère mon Pi comme le "server" et il y a deja un DDNS activé dessus :
- Ma question c'est comment le paramètre mon fichier de conf au niveau de l'adresse dans [Interface] ?

Je déclare mon [Peer] (le portable) : Mais pareil, je ne sais pas vraiment comment declarer les "allowed IPs" et surtout le endpoint. (qui devrait être le DDNS ....) dans ce bloc.

Pour le reste j'utilise ufw des 2 cotés pour mettre en écoute le port 51820, et le port 22.
j'active l'ip forwarding dans sysctl.conf
J'active le NAT avec ça dans ufw/before.rules

# NAT - IP masquerade
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan2 -j MASQUERADE

# End each table with the 'COMMIT' line or these rules won't be processed
COMMIT

Et coté PC meme "tambouille" ou presque

Mais je m'emmêle les pinceaux entre les adresse/DDNS/Allowed IP etc ... c'est pas complètement clair dans mon esprit.

Hors ligne

#4 21-01-2023 23:50:46

naguam
Membre
Lieu : Quelque part
Distrib. : Plusieurs
Noyau : Ça dépend
(G)UI : La CLI il n'y a que ça de vrai!
Inscription : 13-06-2016

Re : VPN Wireguard + 4G

Je pense que tu n'a pas compris, quant ta pi est en 4G tu n'as pas la main sur le CGNAT de l'opérateur, et par conséquent tu ne peux pas t'y connecter.

Configurer la pi comme serveur connecté en 4G à internet et tenter directement d'y accéder depuis ton laptop, n'a pas de sens (parce que NAT et IP de l'opérateur, dont le routeur ne saura pas à qui se destine la requète spontanée).

D'ailleurs l'ip de la pi en 4G est potentiellement sur une plage réservée et donc il est inutile de tenter de s'y connecter depuis l'exétérieur si ces plages réservées sont non routables par convention.

Dernière modification par naguam (21-01-2023 23:52:58)

Hors ligne

#5 22-01-2023 13:31:41

raleur
Membre
Inscription : 03-10-2014

Re : VPN Wireguard + 4G

On va essayer de faire simple sans trop entrer dans les détails.

Une connexion 4G (ou ADSL, fibre...) avec CGNAT n'est pas un accès internet complet. Elle permet à so, utilisateur d'accéder à une partie de l'internet IPv4 mais ne permet pas à l'internet IPv4 d'accéder à l'utilisateur. Si la connexion 4G et ton réseau local ont une connectivité IPv6 globale (avec des adresses IPv6 en 2xxx ou 3xxx) et si l'opérateur 4G ne bloque pas les connexions descendantes en IPv6 alors il devrait être possible d'établir une connexion en IPv6 depuis le réseau local vers le Raspberry Pi. Sinon, d'autres solutions possibles sont :

- Le Raspberry Pi initie une connexion (VPN, SSH...) vers une machine du réseau local accessible depuis l'internet, et celle-ci (ou une autre par son intermédiaire) peut utiliser cette connexion pour établir une connexion SSH vers le Raspberry Pi.
- Même chose mais avec une machine hors du réseau local et accessible depuis l'internet qui sert de relais.

Dernière modification par raleur (22-01-2023 13:35:55)


Il vaut mieux montrer que raconter.

Hors ligne

#6 12-07-2023 18:08:28

kapouer
Membre
Inscription : 12-07-2023

Re : VPN Wireguard + 4G

Je viens de faire ce que @raleur cherche à faire.
Il faut comprendre qu'une connexion 4G est très volatile: l'IPv4 change, et ça ne m'étonnerait pas que l'IPv6 ne soit pas fixe.
Dans les deux cas, même si on avait une IP fixe, l'opérateur coupe les connexions au bout de quelques dizaines de secondes d'inactivité.
Une seule solution donc: un VPN, et le plus sympa c'est wireguard avec le client configuré avec un `PersistentKeepalive = 25`.
Pour que wireguard puisse être mis en place, il faut une IP fixe quelquepart: soit à votre connexion adsl (option ip fixe), soit sur un serveur.
Si vous utilisez votre connexion adsl vous devez faire un port forwarding sur la box, du port 58120/udp vers le pc sous linux qui va servir de "point central".
Bien vérifier que le parefeu de ce pc laisse passer ce port/protocole.
Ensuite on peut utiliser wg-quick, perso j'ai utilisé nm-connection-config sur mon pc local, et systemd-networkd sur autre serveur distant (dans ce cas là c'est un peu compliqué par la présence de bugs dans la version actuelle de systemd (252).

Hors ligne

#7 12-07-2023 21:43:55

raleur
Membre
Inscription : 03-10-2014

Re : VPN Wireguard + 4G

kapouer a écrit :

Je viens de faire ce que @raleur cherche à faire.


Je ne cherche pas à faire quoi que ce soit.


Il vaut mieux montrer que raconter.

Hors ligne

Pied de page des forums