Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/01/2023, à 21:27

Nico89

configuration sous-réseau wireguard

Bonjour et très bonne nouvelle année à tous,

J'ai configuré une liaison VPN (Wireguard) entre mon NAS et mon PC afin d'accéder à mes données depuis l'extérieur.
La liaison fonctionne, j'accède bien à mes données, pas de problème de ce côté là.

Ma question porte sur l'application des masques de sous-réseaux dans le paramétrage du VPN des deux côtés de la liaison (côté NAS et côté poste client)
J'ai bien compris que par exemple 192.168.1.0/24 signifiait qu'on pouvait avoir 254 machines sur ce sous-réseau (+la dernière adresse 192.168.1.255 qui est pour le broadcast).

Pour configurer mon VPN, j'ai suivi plusieurs tuto, et plus ou moins recopié ces éléments sans vraiment comprendre pourquoi. Le plus important c'était déjà de faire fonctionner la connexion (ma première).

Voici ma configuration :

Côté NAS :

[Interface]
Address = 40.0.0.1/24
ListenPort = 10000
PrivateKey = [CLE_PRIVEE]

[PEER]
PublicKey = [CLE_PUBLIQUE]
AllowedIPs = 40.0.0.10/32

Côté poste client :

[Interface]
Address = 40.0.0.10/24
ListenPort = [PORT]
PrivateKey = [CLE_PRIVEE]

[PEER]
PublicKey = [CLE_PUBLIQUE]
AllowedIPs = 40.0.0.1/32
Endpoint = 98.98.98.98:10000

Quelqu'un aurait-il la gentillesse de m'expliquer pourquoi les "interfaces" sont en /24 et les "peer" en /32

En vous remerciant
cordialement

Hors ligne

#2 Le 05/01/2023, à 16:37

bruno

Re : configuration sous-réseau wireguard

Bonjour,

chat.openai.com a écrit :

Le masque de sous-réseau (ou "netmask" en anglais) permet de déterminer quelles parties de l'adresse IP sont utilisées pour identifier l'hôte sur le réseau local et quelles parties sont utilisées pour identifier le sous-réseau.

Le masque de sous-réseau est noté sous la forme "xx.xx.xx.xx/yy", où "xx.xx.xx.xx" est le masque de sous-réseau en lui-même et "yy" est le nombre de bits de l'adresse IP utilisés pour identifier le sous-réseau. Par exemple, avec un masque de sous-réseau de "/24", les 8 bits de poids fort de l'adresse IP sont utilisés pour identifier le sous-réseau, et les 24 bits de poids faible sont utilisés pour identifier l'hôte sur le sous-réseau.

Dans votre configuration, les "interfaces" sont configurées avec un masque de sous-réseau de "/24", ce qui signifie que les adresses IP de ces interfaces seront utilisées pour identifier les hôtes sur le réseau local et que les 8 premiers bits de l'adresse IP seront utilisés pour identifier le sous-réseau.

Les "peer" sont configurées avec un masque de sous-réseau de "/32", ce qui signifie que tous les bits de l'adresse IP seront utilisés pour identifier l'hôte sur le réseau local et qu'aucun bit ne sera utilisé pour identifier le sous-réseau. Cela signifie que chaque "peer" a une adresse IP unique et qu'il n'y a pas de sous-réseau défini pour ces "peer".

J'espère que cela répond à votre question ! N'hésitez pas à me poser d'autres questions si vous avez besoin de plus d'informations.

J'ajoute à cette réponse automatisée que ton réseau WireGuard doit utiliser des IP privées dans les plages 10.0.0.0/8 ou 172.16.0.0/12 ou 192.168.0.0/16

#3 Le 06/01/2023, à 12:13

Nico89

Re : configuration sous-réseau wireguard

Salut Bruno,

Pas mal, je ne m'attendais pas à recevoir ce type de réponse wink.
J'ai tenté d'ouvrir un compte sur openAI, mais il est demandé un numéro de téléphone.
Tu excusera notre ami bot, mais j'ai encore quelques incompréhensions.
Sur openAI, tu as du faire une recherche à mon cas particulier (à ma configuration).
Parce en fait j'ai l'impression qu'il donne la conséquence de ma configuration et non une clarification à mes doutes. C'est tout de même intéressant, la réponse est quand même bien structurée.


Je reviens sur mes incompréhensions :

Par exemple, dans le cas des [peer], sur les tutos sur lesquels je me suis appuyés, les auteurs prennent à chaque fois xx.xx.xx.xx/32.
Est-ce que /32 est obligatoire, ou est-ce qu'il est possible de mettre par exemple /28 ?

En fait ce que je ne comprends pas bien c'est la chose suivante :

Paragraphe [Interface]

_Du côté NAS : x.x.x.a/24
Tel que je comprends, tout appareil ayant une adresse IP dont "a" est compris entre 0 et 255 est autorisé à se connecter au NAS.
_Du côté poste client : x.x.x.b/24
Tel que je comprends, tout appareil ayant une adresse IP dont "b" est compris entre 0 et 255 est autorisé à se connecter au poste client.


Paragraphe [Peer]

_Quand on paramètre ceci sur le NAS : x.x.x.c/32
Tel que je comprends, c'est qu'on autorise uniquement l'appareil possédant l'adresse ip x.x.x.c à se connecter où "c" est un nombre fixe (entre 0 et 225)
_Quand on paramètre ceci sur le poste client : x.x.x.d/32
Tel que je comprends, c'est qu'on autorise uniquement l'appareil possédant l'adresse ip x.x.x.d à se connecter où "d" est un nombre fixe (entre 0 et 225)


Pourquoi d'un côté (paragraphe interface), on autorise toutes les adresses ip à se connecter et de l'autre (paragraphe peer) on autorise uniquement une seule adresse pour un équipement?
Autrement dit, pourquoi ne peut-on pas mettre sur les paragraphes [peer] de chaque côté : x.x.x.c/24 et x.x.x.d/24
=> Quelque soit l'adresse IP du NAS ou du poste client, ils seraient autorisés.
Est-ce possible ?
(C'est un exemple juste pour comprendre, ce n'est pas ce que je veux mettre en application)

ton réseau WireGuard doit utiliser des IP privées dans les plages 10.0.0.0/8 ou 172.16.0.0/12 ou 192.168.0.0/16

A bon! Je n'ai lu cela nul part. C'est une norme, une bonne pratique ?

J'essaie de reformuler : typiquement, dans les plages d'adresses que tu évoques, cela veut dire que je ne peux pas utiliser un autre sous-réseau autre que "10.x.x.x" ou "172.16.x.x" ou "192.168.0.x" où x est un nombre que je peux définir librement (entre 0 et 255) aux peers.
Est-ce bien cela ?

Cordialement

Dernière modification par Nico89 (Le 06/01/2023, à 12:20)

Hors ligne

#4 Le 06/01/2023, à 16:50

bruno

Re : configuration sous-réseau wireguard

Un VPN (Virtual Private Network) est un réseau privé virtuel, les adresses des machines au sein de ce réseau doivent évidemment être privées (non routables sur l'Internet).

De plus tu ne peux utiliser un adresse publique que si elle t'a été attribuée officiellement d'une manière ou d'une autre. Pour un particulier, par son FAI ou l'hébergeur de son serveur.

Pour les masques de sous-réseau :

Cette directive indique l'adresse IP à utiliser et la taille du réseau voulu :

Address = 10.0.0.1/24

Dans cet exemple ma machine a pour adresse sur le VPN 10.0.0.1 et je peux connecter jusqu'à 254 clients (10.0.0.1 à 1.0.0.254).

Cette directive indique pour quelles IP source les paquets seront traités (rejetés sinon):

AllowedIPs = 10.0.0.10/32

Dans cet exemple seule les paquets issus de la machine ayant l'IP 10.0.0.10 seront traités.

Si plusieurs clients peuvent avec la même clé publique doivent être autorisés ont peut utiliser :

AllowedIPs = 10.0.0.1/24

⇒ tous les clients dans la plage 10.0.0.1 - 10.0.0.254

Voir la doc officielle de Wireguard

#5 Le 10/01/2023, à 12:04

Nico89

Re : configuration sous-réseau wireguard

Bonjour,

Un VPN (Virtual Private Network) est un réseau privé virtuel, les adresses des machines au sein de ce réseau doivent évidemment être privées (non routables sur l'Internet).

Ok, je ne savais pas.

De plus tu ne peux utiliser un adresse publique que si elle t'a été attribuée officiellement d'une manière ou d'une autre. Pour un particulier, par son FAI ou l'hébergeur de son serveur.

Oui, ça c'est parfaitement logique à mes yeux.

Voici les phases de "compréhensions" par lesquels je suis passé. Malgré la lecture de documentation, ça n'est pas si simple à comprendre.

Au tout départ quand j’ai commencé à jouer avec wireguard, je pensais et ça me paraissait logique qu'il fallait que je tape dans la barre d'adresse de mon explorateur de fichier, l'adresse IP de ma box et du port en question pour accéder à mes données (98.98.98.98:10000). Bon ça n'avait pas fonctionné. Et après avoir par hasard essayé 40.0.0.1, j'ai réussi à accéder à mes données.
Visiblement c’est comme cela que ça fonctionne, mais j’avoue que je n'ai pas bien compris pas le cheminement pris par la connexion, notamment ce qui se passe avec le logiciel wireguard installé sur mon poste client, la box et la connexion au service wireguard du Nas.

Suite à cette découverte, je me suis dit le cheminement est le suivant : en tapant l'adresse IP 40.0.0.1 dans l'explorateur de fichier du poste client, le logiciel wireguard détecte que cette adresse fait partie d’un réseau qu’il gère, il prends la main sur la requête pour se connecter à l'adresse 98.98.98.98:10000 (endpoint) donc l'adresse IP de ma box, la box détecte le port et redirige le flux de données vers le port d'écoute du service wireguard du NAS, qui lui donne accès aux données à travers le tunnel VPN établi.
Donc pour moi, je pouvais attribuer n'importe quelle adresse IP car c’était une adresse IP totalement indépendante du réseau internet, puisque c’est l’adresse du Nas au sein du tunnel VPN.

Maintenant, c'est vrai que j'avais ce cheminement, car je mettais l'adresse IP uniquement dans mon explorateur de fichier pour accéder à mes données.
Récemment j’ai testé cette adresse IP (40.0.0.1) dans mon navigateur internet, et j’arrive à accéder à l'interface d'administration de mon NAS.
J'avoue que là mon cheminement ne tient peut-être pas tout à fait la route. Car si j’attribue une adresse IP associée à un site web quelconque (ex ubuntu) à mon NAS, et si je mets cette adresse IP dans le navigateur internet, je ne suis pas sûr d’accéder à l’interface d’administration de mon NAS.

Du coup je suis toujours autant perdu sur le chemin pris, même si ça fonctionne.

Hors ligne

#6 Le 10/01/2023, à 12:19

Nico89

Re : configuration sous-réseau wireguard

Cette directive indique l'adresse IP à utiliser et la taille du réseau voulu :

Address = 10.0.0.1/24

Dans cet exemple ma machine a pour adresse sur le VPN 10.0.0.1 et je peux connecter jusqu'à 254 clients (10.0.0.1 à 1.0.0.254).

Ici, j'ai l'impression qu'on a condensé deux informations en une. Est-ce qu'on pourrait détailler les choses de la manière suivante ? :
1] sous-réseau : 10.0.0.0/24
=> ici on ressort que le sous-réseau est 10.0.0.0
=> on ressort également qu'il peut y avoir 254 machines sur ce sous-réseau (dernier chiffre variant de 1 à 254)
2] adresse ip du peer : 10.0.0.1
=> ici que l'adresse IP du NAS est définie sur 10.0.0.1

Hors ligne

#7 Le 10/01/2023, à 12:20

Nico89

Re : configuration sous-réseau wireguard

Cette directive indique pour quelles IP source les paquets seront traités (rejetés sinon):

AllowedIPs = 10.0.0.10/32

Dans cet exemple seule les paquets issus de la machine ayant l'IP 10.0.0.10 seront traités.

J'ai très bien compris. C'est très logique.

Hors ligne

#8 Le 10/01/2023, à 12:26

Nico89

Re : configuration sous-réseau wireguard

Si plusieurs clients peuvent avec la même clé publique doivent être autorisés ont peut utiliser :

AllowedIPs = 10.0.0.1/24

⇒ tous les clients dans la plage 10.0.0.1 - 10.0.0.254

Ici, ce que je ne comprends pas c'est qu'on utilise l'adresse IP du NAS pour dire que le NAS accepte toutes les adresses IP, y compris la sienne (si pousse à l'absurde : l'adresse ip de lui même (nas) sera refusée puisque qu'il n'a pas la bonne clé publique)

Hors ligne

#9 Le 10/01/2023, à 12:43

Nico89

Re : configuration sous-réseau wireguard

Dans l'exemple sur la doc de Wireuard :

Configuration côté serveur :

[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820

[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=
AllowedIPs = 10.192.122.3/32, 10.192.124.1/24

[Peer]
PublicKey = TrMvSoP4jYQlY6RIzBgbssQqY3vxI2Pi+y71lOWWXX0=
AllowedIPs = 10.192.122.4/32, 192.168.0.0/16

[Peer]
PublicKey = gN65BkIKy1eCE9pP1wdc8ROUtkHLF2PfAqYdyYBz6EA=
AllowedIPs = 10.10.10.230/32

Configuration côté client :

[Interface]
PrivateKey = gI6EdUSYvn8ugXOt8QQD6Yc+JyiZxIhp3GInSWRfWGE=
ListenPort = 21841

[Peer]
PublicKey = HIgo9xNzJMWLKASShiTqIybxZ0U3wGLiUeJ1PKf8ykw=
Endpoint = 192.95.5.69:51820
AllowedIPs = 0.0.0.0/0

Tel que je comprends :
Le serveur n'a pas d'adresse IP fixe définie.
Il autorise certaine IP ou certaines plage d'IP (par peer) à se connecter à lui.

Le client client n'a pas non plus d'adresse IP fixe.
J'imagine que l'adresse 0.0.0.0/0 signifie qu'il autorise n'importe quelle adresse IP à se connecter à lui. Donc quelque soit l'adresse attribuée au NAS,elle sera autorisée.

Ce qui je ne comprends pas : étant donné que le client n'a pas d'adresse IP fixe définie, il pourrait très bien se voir allouer une adresse IP qui ne soit pas dans les adresses autorisées dans le fichier de configuration côté serveur.
Ai-je loupé quelque chose ?

Hors ligne

#10 Le 10/01/2023, à 13:18

bruno

Re : configuration sous-réseau wireguard

Le «serveur» a forcément une adresse IP fixe, et même au moins deux : une publique et une pour le VPN (interface wg0).
Le «client» doit avoir également au moins une IP fixe sur le sous-réseau du VPN.
WireGuard ne permet pas d'attribuer des adresses automatiquement.

L'explication (concept de crypto-routage) est donnée sous cette configuration (utilise un traducteur en ligne si nécessaire).
Pour simplifier, les données ne peuvent transiter par le serveur que si le client (peer) est identifié grâce à sa clé et que son IP privée est bien dans la page définie par AllowIP.

(Je mets serveur et client entre guillemets car avec Wireguard il n'y a pas réellement de client et de serveur mais que des pairs au rôles interchangeables)

Dernière modification par bruno (Le 10/01/2023, à 13:47)

#11 Le 10/01/2023, à 15:47

Nico89

Re : configuration sous-réseau wireguard

Le «serveur» a forcément une adresse IP fixe, et même au moins deux : une publique et une pour le VPN (interface wg0).
Le «client» doit avoir également au moins une IP fixe sur le sous-réseau du VPN.
WireGuard ne permet pas d'attribuer des adresses automatiquement.

Donc on est bien d'accord, que dans l'exemple donné dans la doc wireguard, il manque le paramètre "Address" pour attribuer une adresse IP fixe côté "serveur" et côté "poste client" au sein du tunnel VPN ?

(Je mets serveur et client entre guillemets car avec Wireguard il n'y a pas réellement de client et de serveur mais que des pairs au rôles interchangeables)

Oui ça pour le coup, c'était dans beaucoup de lecture que j'ai faite. La construction de Wireguard est complètement différente de OpenVPN, où là il y a un serveur et des clients. Wireguard, il n'y a que des pairs. C'est pour cela que je mets "NAS" et "poste client" dans mes posts.

Peux-tu me dire si la réflexion que j'ai évoqué dans mon post #6 est exacte ? Cela m'aiderait beaucoup dans ma compréhension.

Merci pour les réponses apportées. Je ne comprends pas forcément tout, mais j'ai appris des choses.

Hors ligne

#12 Le 11/01/2023, à 17:08

bruno

Re : configuration sous-réseau wireguard

Je ne suis pas spécialiste de WIreguard ni des VPN. J'en ai déjà mis en place mais cela ne va pas plus loin.
Et j'avoue que la doc en ligne de Wireguard n'est pas des mieux organisé, la doc installée avec les paquets et les pages de man de wg et wg-quick sont plus utiles.

Pour la directive :

Address = 10.0.0.1/24

Oui, cela condense deux informations : adresse IP et masque de sous-réseau mais c'est courant dans les configurations réseau et non spécifique à Wireguard.

#13 Le 12/01/2023, à 11:20

Nico89

Re : configuration sous-réseau wireguard

Bonjour,

Pour la directive :

Address = 10.0.0.1/24

Oui, cela condense deux informations : adresse IP et masque de sous-réseau mais c'est courant dans les configurations réseau et non spécifique à Wireguard.

ça me rassure, d'avoir compris. Merci.
Disons que quand on ne beigne pas dans l'univers du réseau, ça peut porter à confusion. Cela n'est pas forcément très clair aux premiers abords. Pourtant j'ai lu beaucoup de doc (blog, tuto,...) et pas que sur wireguard.

Hors ligne