PiVPN IPv6 WireGuard

mAx - Modifié le 15 janv. 2024 à 20:25
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 - 16 janv. 2024 à 22:51

Bonsoir,

J’ai créé un VPN sur un raspberry qui est monté derrière un routeur. Ce dernier me permet « seulement » de créer des filtres IP en ipv6.

le protocole vpn est WireGuard 

je créé donc un filtre entrant qui redirige toutes connexions sur le port spécifique du vpn vers le raspberry via son adresse ipv6 (je peux y accéder via ssh sur mon réseau interne)

j ai bien modifié le fichier conf coté server et celui du client selon la discussion instructive: https://forums.commentcamarche.net/forum/affich-37942853-pivpn-ipv6-sur-raspberrie#20

Pourtant lorsque je tente la connexion depuis mon tel (en désactivant le wifi, donc en sortant du réseau), je n arrive pas à me connecter au raspberry. Je teste la connexion sur www.fast.com

si la connexion est bonne; alors je vérifie si l ip est la bonne (https://whatismyipaddress.com/)

j avais lu qu on ne pouvait pas accéder à un routeur ipv6 si le client n est pas sur ipv6

https://test-ipv6.com/

Est-ce vrai?

Merci par avance
iPhone / Chrome 120.0.6099.119

14 réponses

brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
15 janv. 2024 à 20:55

OK, déjà merci pour cette nouvelle discussion.

Effectivement, il faut une connexion ipv6 pour accéder à un routeur ipv6, il y a des passerelles entre ipv4 et ipv6 (nat + dns 64), mais ça n'est pas simple.

déjà, ton fûté phone devrait avoir une adresse ipv6 en 2024, je te conseille d'installer net analyser pour avoir plus d'informations à ce sujet parce que https://test-ipv6.com/ c'est bien, mais pas 100% fiable à ce niveau, ça peut dépendre de l'OS et du navigateur, qui ne vont pas forcément l'utiliser en priorité.

Comment est configuré ip6tables et wireguard en ipv6 sur la framboise ?


0

Sur le raspberry j ai juste installé pivpn; rien d autre

Concernant pivpn, on ne peut rien rentrer en ipv6; j ai juste modifié le fichier *.conf niveau serveur en ajoutant les lignes comme mentionné dans

https://github.com/pivpn/pivpn/issues/259#issuecomment-643231304

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
Modifié le 15 janv. 2024 à 23:52

Alors,

il y a un petit moment que j'ai installé, il faudrait regarder le script d'installation, mais il me semble que la prise en charge d'ipv6 a été automatique dans pivpn, j'ai peut-etre modifié manuellement ipv6tables pour faire du nat 66 masquerade pas propre, mais indispensable suite aux ipv6 ULA (privées) utilisées dans pivpn et une seule ipv6 sur mon serveur, comme on le fait en ipv4, mais je pense qu'un raspi derrière un routeur peut utiliser autre chose que masquerade, voire du nat-PT (prefixe translation).

non, en fait la règle masquerade ipv6 est bien installée par pivpn, suivant le commentaire:

*nat
:PREROUTING ACCEPT [171041:17866274]
:INPUT ACCEPT [9081:1481080]
:OUTPUT ACCEPT [57844:6897354]
:POSTROUTING ACCEPT [57949:6908661]
-A POSTROUTING -s fd11:5ee:bad:c0de::/64 -o ens192 -m comment --comment wireguard-nat-rule -j MASQUERADE
COMMIT
0

Mais de toutes façons on peut vérifier si WireGuard est bien installé en IPv6 avec la commande ip add

sur la ligne wg0 j ai bien une adresse IPv6 

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 09:26

oui, c'est vrai, mais c'est l'adresse privée (ULA en FD11 ...), tu dis que accèdes au raspi en ssh en ipv6, donc il doit bien avoir une ipv6 (fixe de preférence) sur on ethernet, le problème c'est sur le mobile, tu disais, en France tous les opérateurs mobiles sont obligés de fournir au moins une ipv6 à leurs clients.

0

J ai pas écrit que j étais en France ;-)

j ai vérifié et les 3 opérateurs mobiles (ch) ne fournissent pas d IPv6 

Avant de tester la connexion depuis l’extérieur; j essaye de me connecter sur le vpn depuis mon wifi (en interne donc) et de tester la vitesse internet et ça passe pas (pas sur que ce soit judicieux car je rentre pas par la box vu que je suis déjà dedans). (Pourtant en me connectant sur le raspberry via ssh (en intranet) et en faisant un ping Google.fr ça passe

je creuse mais j m’enfonce :-)

sur l autre thread tu écrivais que l adresse IPv6 publique (joignable depuis l extérieur) était celle qui commence par 2a02

mais sur le routeur au niveau des règles ip; le routeur me force à rentrer une ip dont les 4 premiers champs sont ceux qui commencent justement par 2a02:…

donc ça veut dire que tous mes terminaux connectés au routeur ont des ip qui commencent justement par ces champs . Je comprends donc que ce sont des ip locales . Non?

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 10:41

C'est sûr, étant connecté au wifi, tu ne traverses pas le parefeu du routeur, seulement celui du raspi si il en avait un.

Sur l'autre discussion, je parlais de 2a02 en préfixe public car je savais que l'interlocuteur était chez SFR, mais c'est possible que ton FAI commence aussi par 2a02.

là:

donc ça veut dire que tous mes terminaux connectés au routeur ont des ip qui commencent justement par ces champs . Je comprends donc que ce sont des ip locales . Non?

je ne comprends pas ta question: les ip locales en ipv6 sont soit les lien local qui commencent par fe80::/10 soit des ULA (portée plus étendue) qui commencent par fd (fc00::/7) toutes celles qui commencent par 2 ou 3 (2000::/3) sont des adresses publiques globales routables sur tout l'internet ipv6.

C'est dommage que la Suisse n'ait pas encore passé ses réseaux mobiles en ipv6, en France, c'était dans le deal entre l'ARCEP et les opérateurs mobiles: si vous voulez des fréquences dans la bande 3,5 Ghz pour la 5G, il faut passer vos réseaux en ipv6, si il n'y avait pas eu ça, on serait sans doute encore au même point.

0

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

Posez votre question

ok je ne traverse pas le parefeu du routeur, mais un speedtest depuis le tel sous wifi avec vpn actif est censé fonctionné ou ne fonctionnera pas?
Pour ta question sur les ip locales, comme ecrit plus haut lorsque je veux creer une regle ip entrant, le routeur me force a rentrer une ip dont les 4 premiers champs 2a02:xxx:xxx:xxxx sont pre-remplis.
Un test-ipv6.net depuis mon tel sous wifi SANS vpn me crache une ipv6 dont les 4 premiers champs sont ceux renseignes par la box.
Bon je pense que j m emmele avec les ip du eth0
Alors je reprends depuis le debut pour voir quelle est l adresse ip locale du raspberry (un ip add me donne que 2 adresses commençant par 2a02
*aucune regle sous le routeur: un ping google.fr depuis le rasberry ne donne rien
*regle sortante avec ip source "2a02:adresse1" & ip destination "toutes" > pas de ping depuis le raspberry
**regle sortante avec ip source "2a02:adresse2" & ip destination "toutes" > ping fonctionne depuis le raspberry

J en deduis l ip locale du raspberry
Alors sur le routeur j ai qu une regle sortante (je permets au raspberry d aller sur internet)
Je suppose alors que je dois creer une regle entrante avec ip sources "toutes" & ip destination "2a02:adresse2 " protocol "UDP" port "celui configuré lors de l installation de pivpn
Apres dans la configuration du fichier *.conf niveau client, quelle adresse ip je dois renseigner dans point de terminaison? car dans l ip add sous eth0 j ai:
2a02:adresse1 (scope global dynamic mngtmpaddr)
2a02:adresse2 (scope global dynamic mngtmpaddr no prefixroute)
fe80:xxxxxxx (scope link)

merci de prendre le temps de me depatouiller

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 12:21

Ok, alors beaucoup de choses:

le 2a02: suivi de 4 blocs fixes représente le numéro /64 du lan du routeur (adresses globales), /64 est la taille standard mais pas obligatoire d'un LAN ipv6, c'est la seule qui permet la SLAAC donc l'autoconfiguration automatique, on a alors 64 bits fixés pour le réseau et 64 bits pour les machines, soit 16 milliards de milliards d'adresses.

cette adresse machine est soit générée à partir de l'adresse mac (on la reconnait au ff:fe au milieu des 64 bits) donc fixe, soit tirée complètement au hasard chaque jour (privacy).

Elle peut aussi être fixée manuellement ou par DHCP sur un serveur, celle de ton ethernet raspi devrait être fixe pour que ton vpn soit accessible.

Si tu vois deux adresses globales avec le même préfixe /64, c'est parce que tu as celle d'hier, utilisable pour les connexions entrantes, et celle d'aujourd'hui qui est utilisée pour les connexions sortantes ou  entrantes.

windows indique préférée pour la dernière.

Pour les règles dans ton routeur, en principe, il n'y a pas besoin de règle sortante, les connexions entrantes seules sont bloquées, effectivement, il faut autoriser le port udp choisi vers l'adresse (fixe) de ton raspi et source toutes en entrante donc.

je ne sais pas trop ce que signifie le noprefixroute

dans le *.conf

Le endpoint côté serveur est laissé vide côté client, c'est l'adresse ethernet du raspi celle qui est autorisée dans le parefeu.

0

(on la reconnait au ff:fe au milieu des 64 bits) donc fixe

——-

oui donc c est cette adresse qui ne passe pas dans ma règle sortante :-)

bref en tous cas si je force la connexion au vpn sous wifi depuis le tel alors un wg show sur le raspberry mentionné bien une connexion sur le vpn depuis le tel (c est la bonne adresse ipv6 du tel)

mais tout en étant connecté au vpn; un speedtest ne fonctionne pas. Comme si la connexion était établie au vpn mais ne ressort pas du routeur (pour accéder à fast.com dans mon cas)

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 14:24

il faut vérifier que le routage ipv6 est bien activé sur le raspi et que la règle nat postrouting citée plus haut existe.

vérifier aussi la route par défaut vers le routeur ip -6 route

Commencer par un ping, par exemple sur 2620:fe::fe

0

le ping passe
 

 $ ping 2620:fe::fe
PING 2620:fe::fe(2620:fe::fe) 56 data bytes
64 bytes from 2620:fe::fe: icmp_seq=1 ttl=58 time=19.4 ms
64 bytes from 2620:fe::fe: icmp_seq=2 ttl=58 time=21.3 ms
64 bytes from 2620:fe::fe: icmp_seq=3 ttl=58 time=16.3 ms
64 bytes from 2620:fe::fe: icmp_seq=4 ttl=58 time=12.7 ms
64 bytes from 2620:fe::fe: icmp_seq=5 ttl=58 time=13.9 ms
^C
--- 2620:fe::fe ping statistics ---

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 14:49

non, mais depuis le mobile, c'est pas le mobile connecté au vpn ça, c'est depuis le raspi ?

0

Oui direct sur le raspberry 

le ping : depuis le mobile sous wifi avec vpn passe aussi 

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
Modifié le 16 janv. 2024 à 15:06

ah ok,

et donc c'est le speedtest qui ne démarre pas ?

sur speedtest.net ?

0

Sous wifi et sur le tel (ios), j active le vpn (je vois depuis l App WireGuard des paquets envoyés) puis je vais sur fast.com mais rien ne se passe (sur https://whatismyipaddress.com/ idem)

ma requête doit passer par le raspberry puis sortir du routeur pour aller sur le site et revenir sur le routeur et finalement sur le tel. 
non?

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
Modifié le 16 janv. 2024 à 16:26

Oui, avec plein de routeurs entre le tien et le site :-)

as tu contrôlé ce dont je t'ai parlé ?

routage, nat ...

Tu as bien dit que le ping et test-ipv6.com fonctionnaient ?

0

Non j ai dit que seul le ping fonctionnait comme si je ne pouvais pas sortir du routeur. Mais un ping externe depuis le raspberry fonctionne. Donc une requête externe depuis ce dernier doit passer.

ce que je dois contrôler c est au niveau du raspberry? Dessus j ai rien installé et rien configuré (sauf pivpn)

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 17:42

oui, bien sûr au niveau du raspi, tu as bien dit que tout l'internet, même ipv6 fonctionne en wifi sur le mobile, si tu ne passes pas par le vpn ?

à ce jeu là il faut être très précis pour bien se comprendre quand il y a des tests à plusieurs niveaux.

Non j ai dit que seul le ping fonctionnait comme si je ne pouvais pas sortir du routeur. 

Après, si le ping fonctionne, c'est que tu peux sortir ...

0

Exact Il Faut être précis.

donc depuis le tel sous wifi sans vpn  j ai aucun problème (Speedtest /test-ipv6.com avec résultat 100%, cad adresse ipv6 qui provient du routeur)

depuis le tel sous wifi/sans vpn je fais un ssh sur le raspberry, donc je suis sur le raspberry et un ping Google.fr fonctionne.

depuis le tel sous wifi avec vpn, pas de speedtest rien.

je coupe le vpn, je me remets sur le raspberry via ssh et je regarde si je suis passé par le tunnel (wg show) et il a bien détecté la connexion du tel.

en gros je suis rentré dans le tunnel mais j en suis pas ressorti :-)

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
Modifié le 16 janv. 2024 à 19:00

OK,

ça situe bien, 

donc (re) vérifier :

routage ipv6, même ipv4, je suppose qu'il y en a un peu quand même, sinon tu ne viendrais pas ici, bien que je ne sache pas avec quoi tu postes ici (CCM ipv6 connais pas).

tu dois avoir ce fichier:   /etc/sysctl.d/99-pivpn.conf

qui doit contenir à peu près ceci:

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.ens192.accept_ra=2

avec autre chose à la place de ens192 ceci active le routage dans le noyau.

tu dos avoir la commande masquerade  sur ip6tables dans nat postrouting

et je sais plus quoi d'autre j'avais dit, dns ? 

il faut savoir que ton iphone a une adresse ipv6 privée dans le vpn et qu'il faut la convertir en ip du réseau de ton routeur (masquerade bien crade) pour sortir sur internet. 

0

Tu parles du routage sur la box?
En IPv6 j ai juste la règle de sortie pour que le ping sorte depuis le raspberry (mais comme tu dis je ne devrais pas avoir de règle)
En IPv4 j ai rien sur le routeur

Sur le rasberry un vi  /etc/sysctl.d/99-pivpn.conf

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2 

Pour le ip6tables tu m as perdu :-/

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 19:34

Non, je parle bien du raspi, le routeur, j'espère bien qu'il route, il est payé pour ça :-)

Donc le routage sur raspi, ça doit être fait.

reste la règle nat, tu dois la voir par ip6table-save , je t'en ai déjà parlé au début.

0

:-)

en fait au début (ton lien) je croyais que c était une ligne de commande dans un fichier d installation

bref

$ sudo ip6tables-save
# Generated by ip6tables-save v1.8.7 on Tue Jan 16 18:39:19 2024
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i wg0 -j ACCEPT
COMMIT
# Completed on Tue Jan 16 18:39:19 2024
# Generated by ip6tables-save v1.8.7 on Tue Jan 16 18:39:19 2024
*nat
:PREROUTING ACCEPT [1290:204246]
:INPUT ACCEPT [1289:204155]
:OUTPUT ACCEPT [316:74469]
:POSTROUTING ACCEPT [1:49]
-A POSTROUTING -s fd11:5ee:bad:c0de::/64 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 20:47

ok, ça l'air correct, le bizarre c'est un seul paquet traité en postrouting nat

aussi , ça vient d'où cette ligne :

-A POSTROUTING -o eth0 -j MASQUERADE

c'est toi qui l'as ajoutée ?

ça recouvre celle du dessus:

-A POSTROUTING -s fd11:5ee:bad:c0de::/64 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Mais le problème ne semble pas là, surtout que le ping du mobile à travers le vpn semble fonctionnel.

0

Non j ai juste modifié le fichier wg0.conf comme mentionné ici:

https://github.com/pivpn/pivpn/issues/259#issuecomment-699619034

mais effectivement la ligne en question y apparaît 

Le ping du mobile qui est fonctionnel tu parles du ping 2620:fe::fe ?

0
brupala Messages postés 109850 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 14 juillet 2024 13 684
16 janv. 2024 à 22:51

Pour le ping, oui.

0