Configuration WireGuard
Chute prend en charge WireGuard comme protocole de proxy sortant. Vous pouvez soit configurer WireGuard en ligne dans la section [Proxy], soit définir une section [WireGuard] nommée et y faire référence.
Section WireGuard
Une section [WireGuard] définit une configuration de tunnel WireGuard complète, référençable par son nom depuis une politique de proxy WireGuard.
[WireGuard wg0]
private-key = base64_private_key
peer-public-key = base64_peer_public_key
self-ip = 10.0.0.2
self-ip-v6 = fd00::2
preshared-key = base64_preshared_key
server = example.com
port = 51820
wg-mtu = 1420
keepalive = 25
Paramètres
| Clé | Requis | Description |
|---|---|---|
private-key |
Oui | Clé privée WireGuard, encodée en base64 |
peer-public-key |
Oui | Clé publique du pair, encodée en base64 |
self-ip |
Non | Adresse IPv4 locale de l'interface WireGuard |
self-ip-v6 |
Non | Adresse IPv6 locale de l'interface WireGuard |
preshared-key |
Non | Clé pré-partagée pour la résistance post-quantique |
server |
Oui* | Adresse du serveur distant (utilisée lorsque la ligne de proxy n'en indique pas ; la ligne de proxy est prioritaire) |
port |
Oui* | Port du serveur distant (même priorité que server) |
wg-mtu |
Non | MTU de l'interface WireGuard (par défaut : 1420). mtu n'est accepté qu'en ligne sur une ligne [Proxy] |
keepalive |
Non | Intervalle de keepalive persistant, en secondes |
reserved |
Non | Octets réservés de l'en-tête de poignée de main WireGuard (par ex. reserved=0,1,2) |
* server et port doivent figurer soit dans la section, soit sur la ligne [Proxy] qui la référence ; sinon la politique est rejetée comme incomplète.
Utilisation
Référencez la section depuis une politique de proxy :
[Proxy]
WG = wireguard, section-name=wg0
[Proxy Group]
WGGroup = select, WG
[Rule]
IP-CIDR,10.0.0.0/8,WGGroup
FINAL,DIRECT
Plusieurs sections [WireGuard] peuvent être définies pour différents tunnels :
[WireGuard us]
private-key = ...
peer-public-key = ...
self-ip = 10.0.1.2
[WireGuard eu]
private-key = ...
peer-public-key = ...
self-ip = 10.0.2.2
Remarque : WireGuard fonctionne sur son propre tunnel UDP avec une pile TCP/IP en espace utilisateur. Les noms (par ex.
wg0) sont sensibles à la casse.
Section AmneziaWG
Chute prend également en charge AmneziaWG, une variante de WireGuard avec obfuscation du trafic. Une section [AmneziaWG <nom>] accepte les mêmes clés qu'une section [WireGuard], plus les paramètres d'obfuscation suivants :
jc,jmin,jmax— nombre de paquets parasites et plage de tailles1,s2,s3,s4— données parasites ajoutées en tête des paquets d'initiation/réponse/cookie/transporth1,h2,h3,h4— valeurs personnalisées d'en-tête de type de messagei1,i2,i3,i4,i5— définitions de paquets parasites spéciaux
Une politique référence la section avec le type amneziawg (alias awg) :
[AmneziaWG awg0]
private-key = base64_private_key
peer-public-key = base64_peer_public_key
self-ip = 10.0.0.2
server = example.com
port = 51820
jc = 4
jmin = 40
jmax = 70
s1 = 15
s2 = 68
h1 = 123456
h2 = 67543
h3 = 32345
h4 = 123123
[Proxy]
AWG = amneziawg, section-name=awg0
Règles de validation croisée :
- Des paramètres AmneziaWG dans une section
[WireGuard]ordinaire constituent une erreur de configuration — utilisez plutôt une section[AmneziaWG]. reservedne peut pas être utilisé dans une section[AmneziaWG]: il écrit les mêmes octets d'en-tête que ceux remplacés parh4, la combinaison est donc rejetée comme une erreur.- Une section
[AmneziaWG]sans aucun paramètre d'obfuscation reçoit un avis — elle se comporte comme du WireGuard ordinaire.