Wéi een WireGuard-Test mat zwee Peers baut, deen ee Wee beweist
Een Tunnel, een Adresspaar, eng erlaabte Ressource. Eng minimal WireGuard-Basis mécht all spéider Ännerung u Forwarding, NAT oder DNS sichtbar.
En WireGuard-Test, deen eng Standardroute, e LAN-Präfix, DNS an eng Firewall-Ausnam dréit, kann dir net soen, wéieng dovun futti gaang ass. Reduzéier en op zwee Peers, een Adresspaar an een erlaabten Service, an de Feeler huet néierens wou sech verstoppen. Déi langweileg Basis ass d'Diagnos. Bau se fir d'éischt; se dauert fofzéng Minutten a spuert den Nomëtteg, deen s du soss mat Rode verbréngs.
Wat d'Basis beweist, ass méi enk wéi déi meescht Leit erwaarden. Se beweist, datt zwee Identitéiten d'accord sinn, datt UDP de Lauschterport erreecht an datt een erlaabten Destinatioun eng Ufro dréit. Forwarding, NAT, LAN-Routen an DNS sinn separat Funktiounen, déi duerno derbäi kommen, eng nom aneren.
Schlësselen, Adressen an den eenzegen Endpunkt
Generéier en Schlësselpaar op all System a verréck just déi ëffentlech Hälften tëschent hinnen. wg genkey | tee privatekey | wg pubkey > publickey ass de dokumentéierten Eenzeiler, an en hannerléisst de private Schlëssel an enger Datei, déi s du duerno kanns schützen. Wiel Tunneladressen aus engem Beräich, deen an kenger anerer Konfiguratioun vun dir virkënnt, wéi 10.99.0.1/24 an 10.99.0.2/24. Schréif op, wéi eng Adress zu wéi enger Maschinn gehéiert, well all spéider Kontroll vun där Zouuerdnung ofhänkt.
Privat Schlësselen reesen ni. Braucht en Test een, dee mat der anerer Säit kopéiert gëtt, ass den Test schonn schief gaang. Wa béid Systemer hannert NAT sëtzen, brauch op d'mannst een een erreechbare UDP-Port, während deen aneren en Endpoint dréit, deen drop weist, an déi ëffentlech Adress an de Port gehéieren an deng Notizen, net an deng Unhuelungen iwwer 51820.
Eng Portweiterleitung, déi en aneren externen Port mappt, funktionéiert gutt, soulaang den Endpoint dozou passt. Ofwäichungen hei produzéiere Stille amplaz Feeler, dofir ass et derwäert, se um Pabeier ze kontrolléieren, ier s du um Kabel debuggst.
D'Felder, déi zu wg gehéieren, an déi, déi et net maachen
De Kärfeldsaz ass kleng: PrivateKey an ListenPort ënner Interface, PublicKey, AllowedIPs an Endpoint ënner Peer. Address an DNS gehéieren zu wg-quick an net zu wg selwer, an deen Ënnerscheed bäisst dee Moment, wou déiselwecht Konfiguratioun an en anert Instrument wandert.
[Interface]
PrivateKey = <peer-a-private>
Address = 10.99.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <peer-b-public>
AllowedIPs = 10.99.0.2/32
Endpoint = 203.0.113.10:51820
AllowedIPs dréit zwou Aufgabe gläichzäiteg. Et wielt, wéi eng Destinatioune mam Tunnel ginn, an et autoriséiert de Peer, déi Quelladressen bei der Ukunft ze benotzen. Dofir muss d'Spigel-Andro op där anerer Säit deng Tunneladress exakt nennen; en /32 fir de falschen Peer liest sech wéi e Routingproblem a behält sech wéi e Problem mat der Autorisatioun. Den WireGuard-Schnellstart weist déiselwecht Zwee-Peer-Form mat der kanonescher Formuléierung, wann s du d'Feldnimm wëlls vergläichen.
Den Handshake liesen amplaz vum Symbol
Bréng d'Interface duerch dat erop, wat se besëtzt, lies dann Zoustand amplaz enger Statussluucht. wg show dréckt den leschten Handshake pro Peer zesumme mat Byte-Zähler, an en Handshake an de leschte puer Minutte bedeit, datt Schlësselen, Endpunkt an UDP-Wee all funktionéieren. En Zähler, deen nëmmen an eng Richtung klëmmt, ass seng eegen Äntwert, an et ass net dee selwechte Feeler wéi en Handshake, deen ni geschitt.
Déi zwee Feeler erfuerdere verschidde Recherchen. Ganz keen Handshake weist op eng Schlësselofwäichung, en falschen Endpoint, blockéierten UDP oder eng Firewall, déi den Handshake selwer verwerft. En Handshake, dee geléngt, während Daten néierens higinn, weist op AllowedIPs, en Service, deen net op der Tunneladress lauschtert, oder eng Host-Firewall, déi de Port fir de LAN awer net fir d'Tunnelinterface unhëlt. Dat sinn verschidde Hälften vum System, an d'Basis trennt se, ier s du ufänks, Regelen z'änneren.
Een erlaabten Service beweisen, dann de Géigendeel
Schéck eng Ufro un d'Tunneladress vum anere Peer op engem Service, deen äntwere soll, a wiel eppes Besseres wéi ping. Eng feelend ICMP-Äntwert kann Host-Filterung sinn an net en Tunnelfehler, dofir beweist e stille ping keng Richtung. Eng TCP-Verbindung zu engem Port, deen s du als oppe kenns, oder eng Ufro, déi Daten zréckschéckt, gëtt dir eng Äntwert, déi s du interpretéiere kanns.
Laf déi géigendeels Richtung als ee separate Test mat sengem eegenen Resultat, well déi zwou Richtungen getrennt Firewall- an AllowedIPs-Androen hunn a kënnen onofhängeg feelen. Wann den Handshake funktionéiert an d'Ufro net, sëtzt de Problem am Datenwee an net am Tunnel: AllowedIPs, de lauschterende Service oder eng Host-Firewall. Maach dat ajustéiert, ier s du Forwarding, NAT oder DNS derbäisetz, soss verbréngs du den Nomëtteg domat, eng Funktioun ze debuggen, déi ni schold war.
D'Basis als Referenz behalen
Späicher déi funktionéierend Topologie an d'Profilquell op enger Plaz, vun där s du ka restauréieren, a haal se aus all Verzeechnes eraus, dat mat engem ëffentleche Service synchroniséiert. Setz dann eng Funktioun nom aneren derbäi, an widderhuel no all een déi ursprénglech Ufro: Forwarding, NAT, eng LAN-Route an erscht duerno DNS. All Zousaz, deen den Test brécht, ass elo identifizéierbar, well soss näischt beweegt huet.
Eng Basis, déi nëmmen en Symbol gréng mécht, huet dir näischt dobriwwer gesot, ween Zousaz den nächste Feeler verursaacht huet. Haal deen eenzegen erlaabten Wee als Referenz um Lafen, an all spéider Ännerung gëtt dorun gemooss.