Auteur Sujet: IPv4 en priorité sur tunnel Wireguard  (Lu 5029 fois)

0 Membres et 1 Invité sur ce sujet

Fric-Box

  • Abonné Free fibre
  • *
  • Messages: 181
  • RIP Hérault (34)
IPv4 en priorité sur tunnel Wireguard
« le: 21 février 2020 à 09:06:38 »
Bonjour à tous,
Je poste ici car j'ai un "problème" assez étrange que je n'arrive pas à régler. J'ai un serveur Kimsufi avec IPv6 fonctionnelle. À la maison, j'ai une installation full IPv6 fonctionnelle. Lorsque je navigue avec ma connexion, je suis en IPv6 sur tous les sites qui le prennent en charge. J'héberge un serveur Wireguard sur le Kimsufi, auquel je me connecte de mes pc à la maison, le tout avec des configs IPv6 et IPv4. Tout fonctionne, j'arrive à joindre les sites en IPv4, IPv6 et IPv6 Only (exemple : https://ipv6-c.lafibre.info/images_test/). Le problème c'est que lorsque le site prend en charge les deux systèmes, c'est l'IPv4 qui est utilisée. Or j'aimerais que l'IPv6 soit utilisée en priorité. Avez-vous une astuce pour que ça fonctionne ?

Config serveur :
[Interface]
#wg0
PrivateKey = oKqku**Clé supprimée**NI1ng=
Address = 10.10.0.1/24
Address = fd42:42:42::1/64
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 51234 -j DNAT --to-destination 10.10.0.2:51234; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -A PREROUTING -i eth0 -p tcp --dport 51234 -j DNAT --to-destination [fd42:42:42::2]:51234
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 51234 -j DNAT --to-destination 10.10.0.2:51234; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -D PREROUTING -i eth0 -p tcp --dport 51234 -j DNAT --to-destination [fd42:42:42::2]:51234
ListenPort = 443

[Peer]
#client1(ordiFlo)
PublicKey = 95XCjLF1nu**Clé supprimée**yu5DkLeYDg=
AllowedIPs = 10.10.0.2/32, fd42:42:42::2/128

Config client :
[Interface]
PrivateKey = 2LHU**Clé supprimée**lov18=
Address = 10.10.0.2/32, fd42:42:42::2/128
DNS = 1.1.1.1

[Peer]
PublicKey = AiF2**Clé supprimée**qk8=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = [2001:**IPv6duserveur::1]:443
PersistentKeepalive = 25

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 258
  • Antibes (06) / Mercury (73)
IPv4 en priorité sur tunnel Wireguard
« Réponse #1 le: 21 février 2020 à 11:04:44 »
J'ai remarqué la même chose, et apparemment c'est un choix fait par les développeurs de wireguard (en tout cas ça se voit dans le code source).


Fric-Box

  • Abonné Free fibre
  • *
  • Messages: 181
  • RIP Hérault (34)
IPv4 en priorité sur tunnel Wireguard
« Réponse #2 le: 21 février 2020 à 17:52:09 »
Tiens donc... Merci de ta réponse, si quelqu'un peut m'expliquer ce choix, parce que j'ai du mal à le comprendre...  :o

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
IPv4 en priorité sur tunnel Wireguard
« Réponse #3 le: 21 février 2020 à 21:15:12 »
Je comprend pas bien le problème. Le choix du protocole se fait par l'application cliente utilisée qui soit délègue a l'OS la réso DNS soit fait du happy eyeballs.

En quoi le tunnel intervient ?

edit: sur Windows, par défaut les IPv4 sont prio sur les IPv6 ULAs (cf netsh interface ipv6 show prefixpolicies)

Commes tu utilises des ULAs et pas GUAs le comportement est différent. Ce n'est pas a cause du tunnel lui-même mais a cause du type d’adresses IPv6 utilisées.

sur client Linux c'est dans  /etc/gai.conf

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 715
  • Pau (64)
IPv4 en priorité sur tunnel Wireguard
« Réponse #4 le: 22 février 2020 à 00:24:38 »
bonjour,

j'avais le même souci avec des adresse fd sous android... pour résoudre le souci, j'ai utilisé une solution "crade" en faisant des adresses ipv6 3000::1 3000::2 3000::3 ...
je sais bien que c'est une solution crade, mais j'ai pas trouvé d'autre solution

si il en existe une / d'autres, sans mettre un range d'une connexion spécifique, je suis preneur.

Jerem

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 258
  • Antibes (06) / Mercury (73)
IPv4 en priorité sur tunnel Wireguard
« Réponse #5 le: 22 février 2020 à 07:42:42 »
j'avais le même souci avec des adresse fd sous android...
Tu parles d'un problème différent: La préférence entre IPv6 et IPv4 à l'intérieur du tunnel, et oui, tu as raison, pour beaucoup de systèmes IPv4 à la préférence sur IPv6 ULA (et c'est pourquoi sur mes DNS internes je n'annonce plus d'enregistrement A vu que tous ce que j'héberge est en dual stack).

Le sujet ici c'est l'établissement du tunnel (les 2 endpoints étant sur internet ils ont tous les 2 des adresses IPv6 publiques donc le problème de préférence devrait être à l'avantage d'IPv6).

Ok, donc c'est moi qui ait mal compris je pense. J'ai cru que le sujet était qu'en cas de dual stack des 2 cotés, ce soit IPv4 qui soit privilégié pour la communication entre les 2 endpoints, ce qui en pratique est le cas, au moins pour certains clients : mon iPhone en dual stack IPv4/IPv6 publiques établit systématiquement un tunnel en IPv4 vers mon serveur aussi en dual stack. Evidemment j'ai bien un enregistrement A et AAAA pour le FQDN de mon serveur wireguard. Dans les mêmes conditions, le téléphone privilégie IPv6 pour tout le reste (safari par exemple).

Et pour revenir au sujet, pour les mêmes raisons que vous j'ai pour l'instant abandonné l'idée de faire de l'IPv6 dans mes tunnels wireguard (parce que de toute façon je n'ai pas envie de faire du NAT6), vu que je n'ai pas la garantie d'avoir un préfixe fixe chez Orange. Je reconsidérerai ce choix quand https://github.com/WireGuard/wg-dynamic/blob/master/docs/idea.md sera une réalité.
« Modifié: 22 février 2020 à 08:34:49 par zoc »

Fric-Box

  • Abonné Free fibre
  • *
  • Messages: 181
  • RIP Hérault (34)
IPv4 en priorité sur tunnel Wireguard
« Réponse #6 le: 22 février 2020 à 10:19:53 »
Merci pour ces réponses fort instructives !

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 297
  • Chelles (77)
    • L'antre de la bête
IPv4 en priorité sur tunnel Wireguard
« Réponse #7 le: 26 mai 2020 à 23:19:26 »
Je me suis installé un serveur wireguard et je constate le même fonctionnement avec des ULA.
Je vais voir comment on configure wireguard avec des GUA (enfin si c'est possible).

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
IPv4 en priorité sur tunnel Wireguard
« Réponse #8 le: 26 mai 2020 à 23:32:28 »
les ULA moins prio que les IPv4, c'est normal, c'est by design :)

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 258
  • Antibes (06) / Mercury (73)
IPv4 en priorité sur tunnel Wireguard
« Réponse #9 le: 27 mai 2020 à 07:14:19 »
Configurer des GUA ou des ULA c’est la même chose, la différence c’est que si le préfixe fourni par l’opérateur change, alors il faut modifier la configuration sur le serveur et sur tous les clients, ce qui est plutôt chiant si ça arrive souvent...

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 297
  • Chelles (77)
    • L'antre de la bête
IPv4 en priorité sur tunnel Wireguard
« Réponse #10 le: 27 mai 2020 à 11:19:55 »
J'avoue que je sèche, je vois la manipulation avec DNAT mais avoir un préfixe en direct, je n'ai pas encore réussi.

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 258
  • Antibes (06) / Mercury (73)
IPv4 en priorité sur tunnel Wireguard
« Réponse #11 le: 27 mai 2020 à 12:06:14 »
Le serveur wireguard est sur un routeur perso connecté en direct ? Sur un routeur perso ou PC derrière une box ?

Si le serveur est sur le routeur d'accès, ça devrait fonctionner directement comme de l'ULA, mais sans mettre de DNAT évidement.
Si le serveur est derrière une box opérateur, là c'est mal barré, parce qu'il faudrait pouvoir rajouter une route dans la box, ce qui est impossible, sauf à ma connaissance chez Free.

Chez moi j'ai ce schéma:
ONT <---> ER4 <---> routeur VyOS (VM proxmox)

Mon serveur Wireguard est sur le routeur VyOS. Ma méthode est la suivante:
  • Je prends un /64 non utilisé dans le /56 fourni par Orange (qui peut changer, mais ça ne m'est pas arrivé depuis plus d'un an)
  • Je configure l'interface wg0 sur le routeur VyOS avec ce /64, ainsi que tous les clients wireguard
  • Je fais de l'OSPFv3 (geek inside et clairement overkill) entre mon ER4 et le routeur VyOS pour que l'ER4 soit au courant qu'il doit router le /64 choisi en "1" vers le routeur VyOS. On peut faire sans mais alors il faut rajouter une route statique dans le routeur d'accès...
  • Si le /56 fourni par Orange change, je recommence "1" et "2" (et "3" si on n'utilise pas de protocole de routage)