La Fibre

Télécom => Réseau => reseau VPN => Discussion démarrée par: oliviertoto92350 le 25 juillet 2018 à 20:32:42

Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 25 juillet 2018 à 20:32:42
Bonsoir,

Je possède une Bbox FTTH en province qui possède une adresse IP fixe publique IPv4 : a.b.x.y
Derrière cette Bbox j'ai installé un serveur OpenVPN sur un RPI3B.
J'ai configuré 2 fichiers de profils OpenVPN
- profil 1 avec adresse IP de la Bbox : IP littérale a.b.x.y
(https://lafibre.info/images/bytel/201807_4g_bytel_profil_ip_litterale.png)

- profil 2 avec adresse dynamique grâce à un DNS No-IP
(https://lafibre.info/images/bytel/201807_4g_bytel_profil_dns.png)


Depuis mon Smartphone Android (acheté chez ByTel) avec dernier FW installés, je possède une puce 4G ByTel, Offre grand public.

Lorsque mon smartphone est configuré en APN IPv6 j'expérimente de nombreux échecs.

J'aurais besoin de votre aide pour essayer de comprendre ce qui coince.

CAS A.
4G APN IPv4 - Fichier OpenVPN adresse IP Bbox serveur littérale a.b.x.y.
Tout fonctionne.
(https://lafibre.info/images/bytel/201807_4g_bytel_a_profil_ipv4_litterale.png)

CAS B.
4G APN IPv4 - Fichier OpenVPN avec utilisation du DNS no-ip.
Tout fonctionne.
(https://lafibre.info/images/bytel/201807_4g_bytel_b_profil_ipv4_dns.png)

CAS C.
4G APN IPv6 - Fichier OpenVPN adresse IP Bbox serveur littérale a.b.x.y.
Connection impossible. Je ne comprends pas pourquoi je n'arrive à me connecter.
En haut à gauche, ca tourne et ca reste 'Jaune' = connecting ....
(https://lafibre.info/images/bytel/201807_4g_bytel_c_profil_ipv4_litterale.png)

CAS D.
4G APN IPv6 - Fichier OpenVPN avec utilisation du DNS64 no-ip..
Le connection est établie, mais lorsque je lance une queconque rechange, à chaque fois je tombe en time out. Je n'arrive meme pas à faire afficher www.google.com /.fr ou www.yahoo.fr /.com
(https://lafibre.info/images/bytel/201807_4g_bytel_d_profil_ipv4_dns_1.png)   (https://lafibre.info/images/bytel/201807_4g_bytel_d_profil_ipv4_dns_2.png)

En résumé :
Si je mets 4G APN Ipv4 = tout fonctionne mais il faut que je me prépare à passer en Ipv6.
Si je mets 4G APN Ipv6
- vers adresse IP Ipv4 littérale a.b.x.y = connexion impossible
- vers nom domaine DynDNS = connexion établie en IPv6 coté mobile, mais rien ne passe ensuite

Si vous avez des idées ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: vivien le 25 juillet 2018 à 22:23:27
Donc en IPv4 tout se passe bien.

Quand ton mobile est en IPv6 only et en utilisant le mécanisme 464XLAT le VPN ne monte pas. Pourquoi pas. 464XLAT n'a pas été conçu pour ça : 464XLAT (RFC 68779) est une technique qui consiste à modifier le système d'exploitation pour que les applications disposent en apparence d'une adresse IPv4 fonctionnelle, alors que la traduction d'adresse est active sur un hôte ne disposant que d'adresses IPv6. Il y a donc un VPN sur un VPN.

Quand ton mobile est en IPv6 only en utilisant le mécanisme du le NAT64 et le DNS64, là cela devrait fonctionner. Je rappelle le principe : Le DNS va modifier à la volée la réponse DNS pour mettre une IPv6 à la place de l'IPv4. C'est pour cela que OpenVPN note qu'il est en IPv6. L'IPv6 est celle d'une plateforme de NAT64 qui va permettre de basculer sur l'Internet IPv4.

Dans la copie d'écran ci-dessous, je suis étonné de la "private IP : 10.8.0.2" je ne comprends pas. L'IP privée de tous les mobiles en 464XLAT est 192.0.0.4 et sans 464XLAT (cas des iPhone qui ne supportent pas 464XLAT, il n'y a tout simplement aucune IPv4 sur le mobile) :

(https://lafibre.info/images/bytel/201807_4g_bytel_d_profil_ipv4_dns_1.png)
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: vivien le 25 juillet 2018 à 22:36:31
Serait-il possible de nous donner l'IP locale qui s'affiche sur la page http://ip.lafibre.info/ quand l'APN est en mode IPv6 ?

Je m'attend à avoir 192.0.0.4 et non une IP en 10.0.0.0/8

Copie d'écran que j'ai réalisé sur mon mobile 4G Bouygues l'année dernière :
(https://lafibre.info/images/ipv6/201706_iplafibre_ipv6.png)
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 25 juillet 2018 à 23:22:11
Voici les informations. 4G APN Ipv6. Sans le VPN
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 25 juillet 2018 à 23:23:02
Cas APN Ipv6  + VPN
J'ai laissé 5 minutes mais il n'y a rien
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: Hugues le 26 juillet 2018 à 00:26:14
Dans la copie d'écran ci-dessous, je suis étonné de la "private IP : 10.8.0.2" je ne comprends pas.
C'est l'IP privée dans le VPN, c'est tout.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: cali le 26 juillet 2018 à 00:27:58
Dans la copie d'écran ci-dessous, je suis étonné de la "private IP : 10.8.0.2" je ne comprends pas. L'IP privée de tous les mobiles en 464XLAT est 192.0.0.4 et sans 464XLAT (cas des iPhone qui ne supportent pas 464XLAT, il n'y a tout simplement aucune IPv4 sur le mobile) :[/size]

C'est l'interface tun, c'est le réseau par défaut dans la configuration d'OpenVPN en mode client/serveur.

Tu ne peux pas récupérer les logs ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 26 juillet 2018 à 08:34:05
Oui bien sûr je peux éditer les logs.
Quelle section serait intéressante à voir ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: cali le 26 juillet 2018 à 20:33:45
Oui bien sûr je peux éditer les logs.
Quelle section serait intéressante à voir ?

Le log au complet.

Aussi, utilise l'IPv4 en dure pour faire le diagnostic, sinon OpenVPN va essayer de faire un tunnel en IPv6.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 26 juillet 2018 à 21:42:52
@cali

voici le log complet IPv6 avec DynDNS

21:28:51.521 -- ----- OpenVPN Start -----

21:28:51.522 -- EVENT: CORE_THREAD_ACTIVE

21:28:51.568 -- Frame=512/2048/512 mssfix-ctrl=1250

21:28:51.589 -- UNUSED OPTIONS
4 [resolv-retry] [infinite]
5 [nobind]
6 [persist-key]
7 [persist-tun]
10 [verify-x509-name] [server_lE37fKkbWI9eDd28] [name]
14 [verb] [3]


21:28:51.590 -- EVENT: RESOLVE

21:28:51.665 -- Contacting [64:ff9b::12345:12345]:1194 via UDP

21:28:51.667 -- EVENT: WAIT

21:28:51.677 -- Connecting to [toto123456.ddns.net]:1194 (64:ff9b::12345:12345) via UDPv6

21:28:51.716 -- EVENT: CONNECTING

21:28:51.724 -- Tunnel Options:V4,dev-type tun,link-mtu 1570,tun-mtu 1500,proto UDPv4,comp-lzo,cipher AES-256-CBC,auth SHA256,keysize 256,key-method 2,tls-client

21:28:51.726 -- Creds: UsernameEmpty/PasswordEmpty

21:28:51.729 -- Peer Info:
IV_GUI_VER=OC30Android
IV_VER=3.2
IV_PLAT=android
IV_NCP=2
IV_TCPNL=1
IV_PROTO=2
IV_LZ4=1
IV_AUTO_SESS=1


21:28:52.038 -- VERIFY OK : depth=1
cert. version     : 3
serial number     : ED:11:9D:03:4F:12:34:56
issuer name       : CN=ChangeMe
subject name      : CN=ChangeMe
issued  on        : 2018-07-21 13:54:11
expires on        : 2028-07-18 13:54:11
signed using      : RSA with SHA-256
RSA key size      : 4096 bits
basic constraints : CA=true
key usage         : Key Cert Sign, CRL Sign


21:28:52.041 -- VERIFY OK : depth=0
cert. version     : 3
serial number     : 01
issuer name       : CN=ChangeMe
subject name      : CN=server_lE37fKkbWI91234567
issued  on        : 2018-07-21 13:54:46
expires on        : 2028-07-18 13:54:46
signed using      : RSA with SHA-256
RSA key size      : 4096 bits
basic constraints : CA=false
key usage         : Digital Signature, Key Encipherment
ext key usage     : TLS Web Server Authentication


21:28:52.503 -- SSL Handshake: TLSv1.2/TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384

21:28:52.505 -- Session is ACTIVE

21:28:52.506 -- EVENT: GET_CONFIG

21:28:52.511 -- Sending PUSH_REQUEST to server...

21:28:52.598 -- OPTIONS:
0 [dhcp-option] [DNS] [194.158.122.10]
1 [dhcp-option] [DNS] [8.8.8.8]
2 [block-outside-dns]
3 [redirect-gateway] [def1]
4 [route-gateway] [10.8.0.1]
5 [topology] [subnet]
6 [ping] [1800]
7 [ping-restart] [3600]
8 [ifconfig] [10.8.0.2] [255.255.255.0]
9 [peer-id] [0]
10 [cipher] [AES-256-GCM]


21:28:52.601 -- PROTOCOL OPTIONS:
  cipher: AES-256-GCM
  digest: SHA256
  compress: LZ4
  peer ID: 0

21:28:52.602 -- EVENT: ASSIGN_IP

21:28:52.691 -- Connected via tun

21:28:52.694 -- LZ4 init asym=0

21:28:52.700 -- EVENT: CONNECTED info='@toto123456.ddns.net:1194 (64:ff9b::12345:12345) via /UDPv6 on tun/10.8.0.2/ gw=[10.8.0.1/]' trans=TO_CONNECTED
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: cali le 26 juillet 2018 à 22:28:49
@cali

voici le log complet

Tu peux faire la même chose avec l'IPv4.

Aussi, est-ce que tu peux joindre 10.8.0.1 ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 26 juillet 2018 à 23:04:29
Voici le log APN Ipv4 en DUR
Non, 10.8.0.2 non joignable
idem 10.8.0.1 non joignable

23:00:24.281 -- ----- OpenVPN Start -----

23:00:24.282 -- EVENT: CORE_THREAD_ACTIVE

23:00:24.332 -- Frame=512/2048/512 mssfix-ctrl=1250

23:00:24.360 -- UNUSED OPTIONS
4 [resolv-retry] [infinite]
5 [nobind]
6 [persist-key]
7 [persist-tun]
10 [verify-x509-name] [server_lE37fKkbWI9e123456] [name]
14 [verb] [3]


23:00:24.368 -- EVENT: RESOLVE

23:00:24.372 -- Contacting 176.139.123.456:1194 via UDP

23:00:24.373 -- EVENT: WAIT

23:00:24.378 -- Connecting to [176.139.123.456]:1194 (176.139.123.456) via UDPv4

23:00:24.675 -- EVENT: CONNECTING

23:00:24.681 -- Tunnel Options:V4,dev-type tun,link-mtu 1570,tun-mtu 1500,proto UDPv4,comp-lzo,cipher AES-256-CBC,auth SHA256,keysize 256,key-method 2,tls-client

23:00:24.684 -- Creds: UsernameEmpty/PasswordEmpty

23:00:24.687 -- Peer Info:
IV_GUI_VER=OC30Android
IV_VER=3.2
IV_PLAT=android
IV_NCP=2
IV_TCPNL=1
IV_PROTO=2
IV_LZ4=1
IV_AUTO_SESS=1


23:00:25.012 -- VERIFY OK : depth=1
cert. version     : 3
serial number     : ED:11:9D:03:4F:12:34:56
issuer name       : CN=ChangeMe
subject name      : CN=ChangeMe
issued  on        : 2018-07-21 13:54:11
expires on        : 2028-07-18 13:54:11
signed using      : RSA with SHA-256
RSA key size      : 4096 bits
basic constraints : CA=true
key usage         : Key Cert Sign, CRL Sign


23:00:25.014 -- VERIFY OK : depth=0
cert. version     : 3
serial number     : 01
issuer name       : CN=ChangeMe
subject name      : CN=server_lE37fKkbWI912345678
issued  on        : 2018-07-21 13:54:46
expires on        : 2028-07-18 13:54:46
signed using      : RSA with SHA-256
RSA key size      : 4096 bits
basic constraints : CA=false
key usage         : Digital Signature, Key Encipherment
ext key usage     : TLS Web Server Authentication


23:00:25.471 -- SSL Handshake: TLSv1.2/TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384

23:00:25.478 -- Session is ACTIVE

23:00:25.480 -- EVENT: GET_CONFIG

23:00:25.488 -- Sending PUSH_REQUEST to server...

23:00:25.519 -- OPTIONS:
0 [dhcp-option] [DNS] [194.158.122.10]
1 [dhcp-option] [DNS] [8.8.8.8]
2 [block-outside-dns]
3 [redirect-gateway] [def1]
4 [route-gateway] [10.8.0.1]
5 [topology] [subnet]
6 [ping] [1800]
7 [ping-restart] [3600]
8 [ifconfig] [10.8.0.2] [255.255.255.0]
9 [peer-id] [0]
10 [cipher] [AES-256-GCM]


23:00:25.522 -- PROTOCOL OPTIONS:
  cipher: AES-256-GCM
  digest: SHA256
  compress: LZ4
  peer ID: 0

23:00:25.527 -- EVENT: ASSIGN_IP

23:00:25.616 -- Connected via tun

23:00:25.619 -- LZ4 init asym=0

23:00:25.622 -- EVENT: CONNECTED info='@176.139.123.456:1194 (176.139.123.456) via /UDPv4 on tun/10.8.0.2/ gw=[10.8.0.1/]' trans=TO_CONNECTED
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: cali le 26 juillet 2018 à 23:50:21
Est-ce que tu peux tcpdump sur le serveur ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 27 juillet 2018 à 00:25:40
la je suis largué, ça dépasse mes compétences ...
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: cali le 27 juillet 2018 à 01:06:24
la je suis largué, ça dépasse mes compétences ...

Est-ce que tu as un Android avec les droits root ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 27 juillet 2018 à 06:48:05
Oui je suis sous Android.
Non je n'ai pas les droits.
Il faudrait que j'installe Open Vpn directement sur un pc portable.
Quelle commande dois-je faire après ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: xade le 27 juillet 2018 à 09:01:48
Bonjour

je vois ceci dans le log qui m'intrigue

21:28:51.724 -- Tunnel Options:V4,dev-type tun,link-mtu 1570,tun-mtu 1500,proto UDPv4,comp-lzo,cipher AES-256-CBC,auth SHA256,keysize 256,key-method 2,tls-client

en IPv4 la fragmentation est autorisée et faite par les équipements réseaux
en IPv6 la fragmentation n'est pas autorisée et le paquet est droppé... (avec un ICMPv6 paquet too big en retour pas toujours bien géré)

as tu le moyen d'essayer en passant la MTU d'openVPN à 1400? (coté serveur ou client ?)

Xade


Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: Hugues le 27 juillet 2018 à 09:32:26
en IPv6 la fragmentation n'est pas autorisée et le paquet est droppé...
Pas avec OpenVPN, c’est la fragmentation par des routeurs qui est interdite.

as tu le moyen d'essayer en passant la MTU d'openVPN à 1400? (coté serveur ou client ?)

Il va juste gagner des soucis de MSS comme ça. Mauvaise idée, mieux vaut laisser OpenVPN fragmenter et reconstituer à l’autre bout.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: vivien le 27 juillet 2018 à 10:41:33
Les paquets IPv4 étant encapsulés par le mobile en IPv6 (mécanisme du 464XLAT)

Donc baisser la MTU des paquets UDP envoyés à 1300 pour tester ce que cela fait me semble une bonne idée.

Sinon, un tcpdump sur le serveur, c'est juste un wireshark sur ton Raspberry Pi. Si tu n'a pas d'interface graphique pour faire fonctionner Wireshark, il y a tcpdump en ligne de commande. Cf Mode d'emploi TcpDump (https://lafibre.info/tutoriels-linux/tcpdump-5007/) ou Réaliser une capture Wireshark pas à pas (https://lafibre.info/tcpip/realiser-une-capture-wireshark-pas-a-pas/)

Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: xade le 27 juillet 2018 à 11:37:32
je parle bien de l'IPv6 qui transporte le VPN. car le VPN et d'un coté en IPv4 (serveur) et en IPv6 coté client (voir IPv4=>IPv6 aussi s'il passe par Xlat)
de base le transport d'OpenVPN est en UDP donc le Mss n'est pas corrigé par le réseau...

la conf à modifier est celle d'Openvpn (server.conf/client.conf):
de mémoire (car cela fait longtemps que je n'ai plus fais de conf OpenVPN) la commande est de mettre "tun-mtu 1400" ou 1300 dans la conf des 2 cotés.  l'idée est de valider que c'est bien ça (ou pas) le problème. (si c'est confirmé tu pourras chercher la bonne valeur voir mettre)

ensuite il y a un autre test à faire : mettre "proto tcp" au lieu de "proto udp" dans la conf OpenVPN pour faire passer le transport d'UDP a TCP ce qui peut être plus efficace dans ce contexte de NAT64.

Xade
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: Hugues le 27 juillet 2018 à 11:56:50
Oh bah oui, passer juste le client et pas le serveur, quelle brillante idée...  ::)
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 27 juillet 2018 à 13:43:21
Merci pour votre support.
Côté Rpi3 oui je peux y accéder en remote avec RealVnc ou Putty.
Je  vais lire et tester durant les prochains jours.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 06 août 2018 à 19:11:11
Bonsoir à tous
j'ai identifié le fichier à modifier sur le serveur pour ajouter une ligne "tun-mtu 1400"
Je vais tester :)
Ensuite un autre test en changeant le protocole UDP vers TCP
Merci à tous pour vos pistes
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: vivien le 30 janvier 2019 à 15:30:37
Bonjour,

Quel est le retour de tes tests avec un MTU plus faible ?
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: Nh3xus le 30 janvier 2019 à 17:19:36
En géneral quand tout fonctionne on oublie de faire un feedback...
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: oliviertoto92350 le 30 janvier 2019 à 20:11:07
Bonsoir Vivien,
Je n'ai pas réalisé de test avec MTU différent car je n'ai pas voulu modifié ce qui fonctionne en ipV4.
En tous les cas merci pour votre aide.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: Philibert le 11 octobre 2019 à 14:09:03
Pour ma part, je rencontre le même souci au détail près que le SSH vers mon Odroid fonctionne au travers du VPN, mais pas le http(s) ni le smb.

La seule solution serait de monter un openVPN en ipv6, ou bien de désactiver l'ipv6 sur l'APN du téléphone ?

Les deux solutions ne sont pas idéales, la première parce qu'ipv6 ne marche qu'à moitié sur mon abonnement fixe (SFR Red), et la seconde parce qu'il faudra bien y passer un jour...
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: francal le 14 octobre 2019 à 15:52:44
Hello,


Mêmes symptômes / même problème ici :
J'ai baissé la MTU du serveur VPN à 1300, cela ne résout pas le problème.
Titre: OpenVPN inutilisable avec l'APN IPv6 4G Bouygues
Posté par: xavax le 22 octobre 2019 à 11:29:23
je viens de tester le SSH a travers le VPN en 4G, ca ne fonctionne pas. En 3G ca fonctionne.