documentation:wireguard

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
documentation:wireguard [2023/07/07 16:15]
dcarikli Création de la page
documentation:wireguard [2023/07/07 16:49] (Version actuelle)
dcarikli [License] fix bulle
Ligne 10: Ligne 10:
 Au moment ou cette page est écrite, les FAI suivants proposent des VPN WireGuard: Au moment ou cette page est écrite, les FAI suivants proposent des VPN WireGuard:
    * Franciliens.net (expérimental)    * Franciliens.net (expérimental)
 +
 +===== Franciliens.net =====
 +Warning: Le cas d'usage de ce tutoriel est pour un usage serveur (par exemple pour fair serveur de mails, de site web, etc), et tout le trafic réseau ne passe pas par le VPN WireGuard. Il faut donc que quelqu'un complète ce tutorial pour montrer comment faire passer tout le trafic réseau par le VPN.
 +
 +Lors de la commande du VPN au moment ou cette page est écrite, il faut signaler que l'on veut un VPN WireGuard. 
 +
 +Il faut ensuite générer une clef secrète (et la garder secrète):
 +    $ wg genkey
 +    SCql4mPh/JoVPssrcjdyjL2CIYkQkhhu0D3jowHZRUw=
 +
 +Et générer la clef publique correspondante (à donner à Francilien.net):
 +    $ echo 'SCql4mPh/JoVPssrcjdyjL2CIYkQkhhu0D3jowHZRUw='  | wg pubkey
 +    Ee75BP3JAQTGF0TloSnzrBaZm6TwctuEXFR5ao9Pfyo=
 +
 +Une personne qui administre les serveurs de Franciliens.net va donc rajouter dans la configuration de WireGuard une entrée qui ressemble à ça:
 +    [Peer] # CTXXXX-XXXX (numéro du contrat)
 +    AllowedIPs = 79.143.250.36/32, 2001:678:938:3ff::36/128, 2001:678:938:318::/61
 +    PublicKey = Ee75BP3JAQTGF0TloSnzrBaZm6TwctuEXFR5ao9Pfyo=
 +
 +Les addresses IPs seront changés par rapport à la configuration ci dessus.
 +
 +Ici on à 3 IPs:
 +    79.143.250.36/32         <- Une IPv4
 +    2001:678:938:3ff::36/128 <- Une IPv6
 +    2001:678:938:318::/61    <- Un range d'IPv6
 +
 +Le fait d'avoir une IPv6 permet en plus pas dans le range permet de simplifier le routage du côté de la personne adhérente.
 +
 +Par exemple on peut avoir la configuration suivante:
 +    [Interface Wireguard Franciliens.net dans le serveur de Franciliens.net]<->Routeur de la personne adhérente (avec l'IP 2001:678:938:3ff::36) <-> Sous réseau routable sur Internet chez la personne adhérente (2001:678:938:318::/61).
 +
 +On va maintenant se conntecter au VPN Wireguard, pour ça il faut créer une configuration dans /etc/wireguard/franciliens.conf:
 +    $ sudo mkdir -p /etc/wireguard/ # Tout d'abord on créer le dossier au cas ou il n'existe pas
 +
 +Ensuite il faut créer /etc/wireguard/franciliens.conf. Son contenu devrait ressembler à ça:
 +    [Interface]
 +    PrivateKey = SCql4mPh/JoVPssrcjdyjL2CIYkQkhhu0D3jowHZRUw=
 +    Address = 79.143.250.36/27, 2001:678:938:3ff::36/64
 +    [Peer]
 +    Endpoint = stephanie.franciliens.net:51820
 +    PublicKey = Ybfh3twyBpj7wx/lo9AVBsBKNAUMSQqAWWV0LfywSDI=
 +    AllowedIPs = 0.0.0.0/0, ::/0
 +
 +La il faudra changer la PrivateKey, et Address dans [Interface] avec les valeurs qui correspondent à ce que la personne de Franciliens.net vous aura donné comme information.
 +
 +Ensuite on peut facilement tester tout ça avec wg-quick:
 +    $ sudo wg-quick up franciliens
 +
 +Chez moi ça imprime pleins de trucs:
 +    [#] ip link add franciliens type wireguard
 +    [#] wg setconf franciliens /dev/fd/63
 +    [#] ip -4 address add 79.143.250.36/27 dev franciliens
 +    [#] ip -6 address add 2001:678:938:3ff::36/64 dev franciliens
 +    [#] ip link set mtu 1420 up dev franciliens
 +    [#] wg set franciliens fwmark 51820
 +    [#] ip -6 route add ::/0 dev franciliens table 51820
 +    [#] ip -6 rule add not fwmark 51820 table 51820
 +    [#] ip -6 rule add table main suppress_prefixlength 0
 +    [#] ip6tables-restore -n
 +    [#] ip -4 route add 0.0.0.0/0 dev franciliens table 51820
 +    [#] ip -4 rule add not fwmark 51820 table 51820
 +    [#] ip -4 rule add table main suppress_prefixlength 0
 +    [#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
 +    [#] iptables-restore -n
 +
 +Et ça crée une interface réseau nomée franciliens et ça configure tout tout seul:
 +    $ ip addr show dev franciliens
 +    6: franciliens: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
 +        link/none 
 +        inet 79.143.250.36/27 scope global franciliens
 +           valid_lft forever preferred_lft forever
 +        inet6 2001:678:938:3ff::36/64 scope global 
 +           valid_lft forever preferred_lft forever
 +
 +A noter que ça configure pas le DNS ni la route par default, donc ici il faudra consulter le manuel de wg-quick (avec la command man wg-quick) pour faire passer tout par l'interface WireGuard et idéalement compléter ce tutorial:
 +    $ ip route
 +    default via 192.168.10.1 dev ue0 
 +    79.143.250.32/27 dev franciliens proto kernel scope link src 79.143.250.36 
 +    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
 +    192.168.10.0/24 dev ue0 proto kernel scope link src 192.168.10.50 
 +
 +Si on veut éteindre le VPN on peut ensuite faire la commande suivante:
 +    $ sudo wg-quick down franciliens
 +ça imprime aussi pleins de trucs:
 +    [#] ip -4 rule delete table 51820
 +    [#] ip -4 rule delete table main suppress_prefixlength 0
 +    [#] ip -6 rule delete table 51820
 +    [#] ip -6 rule delete table main suppress_prefixlength 0
 +    [#] ip link delete dev franciliens
 +    [#] iptables-restore -n
 +    [#] ip6tables-restore -n
 +
  
 ====== License ====== ====== License ======
 Cette page est publiée sous les licenses suivantes: Cette page est publiée sous les licenses suivantes:
- * Creative Commons Attribution-ShareAlike 3.0 Unported (https://creativecommons.org/licenses/by-sa/3.0/legalcode)+    * Creative Commons Attribution-ShareAlike 3.0 Unported (https://creativecommons.org/licenses/by-sa/3.0/legalcode)
  
  
  • documentation/wireguard.1688739302.txt.gz
  • Dernière modification: 2023/07/07 16:15
  • de dcarikli