WireGuard-Konfiguration
Chute unterstützt WireGuard als ausgehendes Proxy-Protokoll. Sie können WireGuard entweder inline im Abschnitt [Proxy] konfigurieren oder einen benannten [WireGuard]-Abschnitt definieren und darauf verweisen.
WireGuard-Abschnitt
Ein [WireGuard]-Abschnitt definiert eine vollständige WireGuard-Tunnelkonfiguration, die namentlich von einer WireGuard-Proxy-Richtlinie referenziert werden kann.
[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
Parameter
| Schlüssel | Erforderlich | Beschreibung |
|---|---|---|
private-key |
Ja | WireGuard-Privatschlüssel, base64-kodiert |
peer-public-key |
Ja | Öffentlicher Peer-Schlüssel, base64-kodiert |
self-ip |
Nein | Lokale IPv4-Adresse für die WireGuard-Schnittstelle |
self-ip-v6 |
Nein | Lokale IPv6-Adresse für die WireGuard-Schnittstelle |
preshared-key |
Nein | Pre-Shared-Key für Post-Quantum-Resistenz |
server |
Ja* | Remote-Serveradresse (wird verwendet, wenn die Proxy-Zeile keine angibt; die Proxy-Zeile hat Vorrang) |
port |
Ja* | Remote-Serverport (gleicher Vorrang wie server) |
wg-mtu |
Nein | MTU für die WireGuard-Schnittstelle (Standard: 1420). mtu wird nur inline auf einer [Proxy]-Zeile akzeptiert |
keepalive |
Nein | Persistentes Keepalive-Intervall in Sekunden |
reserved |
Nein | Reservierte Bytes für den WireGuard-Handshake-Header (z.B. reserved=0,1,2) |
* server und port müssen entweder im Abschnitt oder auf der referenzierenden [Proxy]-Zeile vorhanden sein; andernfalls wird die Richtlinie als unvollständig abgelehnt.
Verwendung
Referenzieren Sie den Abschnitt aus einer Proxy-Richtlinie:
[Proxy]
WG = wireguard, section-name=wg0
[Proxy Group]
WGGroup = select, WG
[Rule]
IP-CIDR,10.0.0.0/8,WGGroup
FINAL,DIRECT
Mehrere [WireGuard]-Abschnitte können für verschiedene Tunnel definiert werden:
[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
Hinweis: WireGuard läuft über einen eigenen UDP-Tunnel mit einem Userspace-TCP/IP-Stack. Die Namen (z.B.
wg0) unterscheiden zwischen Groß- und Kleinschreibung.
AmneziaWG-Abschnitt
Chute unterstützt auch AmneziaWG, eine WireGuard-Variante mit Verschleierung des Datenverkehrs. Ein [AmneziaWG <name>]-Abschnitt akzeptiert dieselben Schlüssel wie ein [WireGuard]-Abschnitt sowie zusätzlich die folgenden Verschleierungsparameter:
jc,jmin,jmax— Anzahl der Junk-Pakete und deren Größenbereichs1,s2,s3,s4— Junk, der Init-, Response-, Cookie- und Transport-Paketen vorangestellt wirdh1,h2,h3,h4— benutzerdefinierte Werte für die Nachrichtentyp-Headeri1,i2,i3,i4,i5— Definitionen spezieller Junk-Pakete
Eine Richtlinie referenziert den Abschnitt mit dem Typ 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
Regeln zur Gegenprüfung:
- AmneziaWG-Parameter in einem einfachen
[WireGuard]-Abschnitt sind ein Konfigurationsfehler — verwenden Sie stattdessen einen[AmneziaWG]-Abschnitt. reservedkann in einem[AmneziaWG]-Abschnitt nicht verwendet werden: Es schreibt dieselben Header-Bytes, dieh4ersetzt, daher wird diese Kombination als Fehler zurückgewiesen.- Ein
[AmneziaWG]-Abschnitt ohne Verschleierungsparameter erzeugt einen Hinweis — er verhält sich wie einfaches WireGuard.
Diese Seite ist eine Übersetzung der englischen Version. Bei Abweichungen ist die englische Version maßgeblich.