Dir setzt e Peer an /etc/wireguard/wg0.conf derbäi, fuert systemctl restart wg-quick@wg0 aus, an de Peer ass aus der Datei verschwonnen, wann Dir nees kuckt. Näischt huet näischt beschiedegt. En Neistart ass e Stopp, op deen en Start follegt, an de Stoppschrëtt kann den aktuellen Ausféierungszoustand iwwer d’Datei schreiwen, déi Dir just geännert hutt. D’Astellung, déi verantwortlech ass, wunnt an der selwechter Datei, déi Dir geännert hutt, an dat mécht d’Schleef esou verwirrend, wann Dir se fir d’éischt begéint.

Zwee Zoustanden, eng Datei an eng Späicherung beim Ausschalten

Dem WireGuard säin Ausféierungszoustand an eng wg-quick-Konfiguratiounsdatei si verbonnen, awer verschidden. D’Datei ass Input: wg-quick liest se, erstellt d’Interface, setzt Adressen a Routen a konfiguréiert Peeren. D’Kernel-Apparat ass dat lieweg Objet, an Ännerungen op niddreger Niveau mat wg schreiwen sech ni selwer zréck.

Ausser an eng Richtung. Wann SaveConfig = true am Interface-Abschnitt steet, späichert wg-quick d’lieweg Konfiguratioun an d’Datei als Deel vum Erofsetzen vum Interface. D’wg-quick-Handbuch warnt genau dovir: Ännerungen un der Datei, wärend d’Interface un ass, kënnen iwwerschriwwe ginn, wann se ewechgeholl gëtt. Et ass eng Späicherung beim Ausschalten, net en Hannergrond-Timer, also geet et nëmmen, wann eppes d’Interface stoppt.

ActionWhat it writesWhen it surprises you
wg set on a live interfaceKernel state onlyAfter reboot, when the file was never updated
wg-quick down with SaveConfigLive state into the fileRight after you edited the file
wg syncconfKernel state onlyNever; it does not touch the file
wg-quick upKernel state from the fileIf the file is stale, you get the old tunnel

Liest d’Tabell als Warnung iwwer d’Reiefolleg. All zoufällege Verloscht an dësem Beräich kënnt vun enger Ännerung, déi virun enger Späicherung geschitt ass an net duerno.

Stoppt éischt, ännert zweet, start zulescht

Wann d’Datei Är Quell vun der Wourecht ass, maacht d’Datei duerch Konstruktioun autoritativ an net duerch Hoffnung. Setzt d’Interface erof, bestätegt, datt se fort ass, ännert dann a bréngt se duerno erëm erop. D’Regel ass einfach: et gëtt keng Ännerung, wärend eng Späicherung nach lafe kann.

sudo cp -a /etc/wireguard/wg0.conf /root/wg0.conf.$(date +%F-%H%M)
sudo wg-quick down wg0
ls /sys/class/net/wg0 2>/dev/null || echo "interface is gone"
sudoedit /etc/wireguard/wg0.conf
sudo wg-quick up wg0

D’Backup-Linn ass keng Zeremonie. Wann den Tunnel Äre Wee op dës Maschinn ass, kann de Stoppschrëtt Är Sessioun beenden, an eng Kopie op der Plack plus eng Konsole oder en Out-of-Band-Wee ass deen eenzege Rollback, dee funktionnéiert. Iwwerpréift déi zweet Linn, ier Dir hir vertraut: en ale Interface-Numm an engem Skript, dee stëll feelt, ass de Wee, wéi Leit eng Datei änneren, déi nach lieft.

SaveConfig = false virun engem normale Stopp ze setzen ass deen aneren akzeptéierte Wee, an et muss an der Datei geschéien, déi wg-quick wierklech liest. Et verhënnert déi eng automatesch Späicherung. Et mécht net, datt en separate NetworkManager-Profil, en Router-Export oder en Container-Entréit Är Ännerungen nei lued, well déi Gestionnairen dës Datei iwwerhaapt net liesen.

Wendt Peer-Ännerungen un, ouni d’Interface ze rappen

Net all Ännerung brauch eng Ënnerbriechung. Peer-Ännerungen kënnen op eng lafend Interface ugewannt ginn, andeems een d’Datei an eng Konfiguratioun ëmwandelt an se synchroniséiert, wat de Stoppschrëtt ganz vermeit an domat d’Späicherung vermeit:

sudo wg syncconf wg0 <(sudo wg-quick strip wg0)
sudo wg show wg0 peers
sudo wg show wg0 latest-handshakes

Den strip-Schrëtt ass wichteg. Et dréckt d’Datei mat de Schlësselen, déi nëmme wg-quick gehéieren, ewech, sou datt Adressen, DNS an Routing-Direktiven net an en Instrument geroden, dat se net versteet. D’Synchronisatioun wendt dann Peeren a Schlësselen op den liewegen Apparat un, ouni d’Interface nei ze erstellen, sou datt bestoend Sessiounen a Routen iwwerliewen.

Sidd präzis iwwer d’Grenzen. D’Synchroniséiere vu Peeren ännert net d’Interface-Adress, d’Routen, déi wg-quick derbäigesat huet, oder d’Resolver-Konfiguratioun, well keen dovun zum WireGuard-Apparat gehéiert. En Ënnersubnetz an AllowedIPs derbäisetzen an erwaarden, datt de Kernel et routet, ass déi klassesch falsch Liesung; d’Route muss vu wg-quick beim Erhiewen oder vun Iech derbäigesat ginn.

Iwwerpréift, wiem d’Interface gehéiert, ier Dir eppes ännert

Op engem Desktop oder engem Server, deen vun engem Konfiguratiounssystem geréiert gëtt, kann d’Datei en Output an net en Input sinn. Eng NetworkManager-Verbindung, en vum Router generéierte Profil oder en Container-Startskript kënnen all deeselwechten Interface-Numm besëtzen, an an deem Fall ännert eng fehlerfräi wg-quick-Sequenz nach ëmmer dat falscht Artefakt.

systemctl status wg-quick@wg0 --no-pager
nmcli connection show | grep -i wireguard
sudo wg showconf wg0 | head -n 5

Den drëtte Kommando dréckt d’lieweg Konfiguratioun am selwechte Format wéi d’Datei, mat dem private Schlëssel, wat nëtzlech fir de Verglach an a mengem Ticket geféierlech ass. Redigéiert en, ier Dir en anfüügt; e private Schlëssel an engem Support-Thread ass eng permanent Kompromittéierung, net en Tippfehler.

Wann d’Service-Eenheet inaktiv ass, awer d’Interface existéiert, huet eppes anescht se erstallt an d’Datei ass net autoritativ. Deeen eenzege Beobachtung spuert eng Stonn Änneren un enger Datei, déi näischt liest.

Verifizéiert den nächsten Neistart a behält dann e Rollback

Den Test, deen d’Korrektur wierklech beweist, ass en zweeten Neistart, well dat ass d’Sequenz, déi déi éischt Kéier feelt. Bestätegt, datt de Peer en iwwerlieft an datt d’lieweg Konfiguratioun nach mat deem op der Plack iwwerenee stëmmt:

sudo systemctl restart wg-quick@wg0
sudo wg show wg0 latest-handshakes
sudo grep -c '^\[Peer\]' /etc/wireguard/wg0.conf

Féiert den Neistart zweemol aus. En eenzege proppere Passage kann Gléck sinn: den éischten Neistart kann eng Ausféierungsännerung verbrauchen, déi nach net gespäichert war, also ass deen zweeten deen, deen Iech seet, datt d’Datei an d’Ausféierung um Enn vum éischten d’accord waren.

Behält de Backup vum Ufank vum Prozess, bis Dir den duebelen Neistart gemaach hutt, läscht en duerno oder verschiebt en aus dem Konfiguratiounsverzeechnis. En wg0.conf.bak, deen nieft der richteger Datei läit, ass harmlos fir wg-quick a verwirrend fir déi nächst Persoun, déi schlussendlech déi falsch ännert.

Ähnlech Artikelen