Korporatiewe VPN binne WireGuard: watter laag kom eerste?
Twee kliënte op een masjien werk net wanneer die buitenste tonnel die binnekliënt se eindpunt dra en metrieke die regte koppelvlak vir elke voorvoegsel kies.
Daar bestaan twee geldige redes om tonnels op 'n ontwikkelaar se skootrekenaar te nestel. Of die korporatiewe kliënt moet lyk asof hy uit 'n spesifieke land kom, of twee private netwerke moet terselfdertyd bereikbaar wees. Albei gevalle vereis dat die buitenste tonnel die binnekliënt se eie verbinding dra.
Om twee kliënte in een of ander volgorde te begin, lewer dit nie. Dit is die roetering wat dit doen.
Vergelyk die twee moontlike volgordes
Kies die buitenste laag as die tonnel wie se eindpunt die publieke internet kan bereik. Die binneste laag is die tonnel wie se bediener net deur daardie uitgang antwoord. Op Windows is die praktiese verdeling WireGuard buite en die korporatiewe kliënt binne. Die deurslaggewende faktor is beheer.
Die amptelike WireGuard-kliënt pas 'n volledige konfigurasielêer toe, roetes en DNS ingesluit. Kommersiële korporatiewe kliënte verberg gewoonlik albei. Om 'n verborge kliënt aan die buitekant te plaas, laat jou raai oor die pad daaronder.
Die omgekeerde volgorde is nie onmoontlik nie. Dit is moeiliker om te beredeneer, want die buitenste kliënt herskryf roetes volgens 'n skedule wat jy nooit sien nie.
Laat AllowedIPs net die korporatiewe reeks benoem
AllowedIPs lys die bestemmings wat WireGuard in die tonnel instuur. Vir nesteling het dit net die binneste bedieneradres en die korporatiewe voorvoegsels nodig. Alles anders bly op die plaaslike netwerk, drukkers en hipervisor ingesluit. Dit is 'n gesplete tonnel by ontwerp, en dit vermy die uitsluitingsprobleem heeltemal.
'n Voltonnel-buitenste laag benodig 0.0.0.0/0 minus die plaaslike reekse. Die formaat kan nie 'n uitsluiting uitdruk nie, so die komplement moet bereken en ingeplak word.
[Interface]
PrivateKey = ...
Address = 10.99.4.2/32
[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16
Wanneer die binneste kliënt nie sy eie roetes installeer nie, lys die korporatiewe voorvoegsels self. 'n Voorvoegsel wat van daardie lyn weggelaat word, is 'n bestemming wat die buitenste tonnel nooit dra nie. 'n Verouderde kopie van die lys is erger as geen, want dit lyk steeds korrek.
Volgorde, metrieke en die tweede adapter
Verbind eers die buitenste tonnel en begin dan die korporatiewe kliënt. Sy eindpuntverbinding verlaat dan deur WireGuard in plaas van die plaaslike poort. Gee die korporatiewe koppelvlak 'n laer metrieke sodat sy voorvoegsels wen vir die adresse wat hy besit.
# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1
# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40
wg show interfaces
Metrieke is die stap wat mense oorslaan. Sonder 'n ordening wen die roete wat laas geïnstalleer is vir die oorvleuelende voorvoegsel. Dit verander tussen herstarts, daarom lyk die probleem onreëlmatig.
Kliënte wat op OpenVPN 2.6 gebou is, voeg hul eie lokval by. Wanneer die datakanaal-aflaai-adapter reeds beset is, weier 'n tweede instansie eenvoudig om te begin. Om disable-dco by die profiel te voeg, val terug na die ouer TAP-pad, en dan loop albei langs mekaar.
Waar die geneste pad breek
Om die buitenste tonnel te ontkoppel, maak die binneste een dood. Om die binneste kliënt alleen weer te verbind, stuur dit dikwels reguit internet toe en verwyder so stilweg die nesteling. Toets die volgorde elke keer van nuuts af, met albei tonnels gestop.
Verwag 'n kleiner bruikbare MTU. Elke laag voeg oorhoofse koste by, so 'n beginpaar rondom 1420 en 1400 is 'n plek om te begin. 'n Oordrag wat op groot pakkette hang terwyl klein versoeke slaag, is die gewone kenmerk. Korporatiewe beleid is die ander beperking, want 'n kliënt wat 'n bestuurde toestel wil hê, kan 'n geneste pad as 'n oortreding beskou.
Wanneer albei kante vaste netwerke is, verwyder 'n werf-tot-werf-tonnel tussen die poorte die ordeningsprobleem eerder as om dit te bestuur. Op een skootrekenaar bestaan twee tonnels net naas mekaar wanneer elkeen sy eie koppelvlak het en 'n reël wat bestemmings per voorvoegsel kies.