Bedriuw-VPN yn WireGuard: hokker laach komt earst?
Twa kliïnten op ien masine wurkje allinnich as de bûtenste tunnel de eigen ferbining fan de binnenste kliïnt draacht en metryske wearden foar elk foarheaksel de rjochte ynterface kieze.
Der binne twa legitime redenen om tunnels op in ûntwikkelerslaptop te nêstjen. Of de bedriuwsclient moat lykje as komt er út in beskaat lân, of twa partikuliere netwurken moatte tagelyk berikber wêze. Yn beide gefallen moat de bûtenste tunnel de eigen ferbining fan de binnenste kliïnt drage.
Twa kliïnten yn in of oare folchoarder starte leveret dat net. De routing docht dat.
Fergelykje de twa mooglike folchoarders
Kies de bûtenste laach as de tunnel wêrfan it einpunt fan it iepenbiere ynternet berikber is. De binnenste laach is de tunnel wêrfan de server allinnich fia dy útgong antwurdet. Op Windows is de praktyske splitling WireGuard bûten en de bedriuwsclient binnen. De beslissende faktor is kontrôle.
De offisjele WireGuard-kliïnt tapast in folslein konfiguraasjebestân ta, rûtes en DNS ynbegrepen. Kommersjele bedriuwsclients ferbergje meistal beide. In ferburgen kliïnt oan de bûtenkant sette lit jo riede oer it paad derûnder.
De omkearde folchoarder is net ûnmooglik. It is allinnich hurder om oer te redenearjen, om't de bûtenste kliïnt rûtes oerskriuwt neffens in skema dat jo nea sjogge.
Lit AllowedIPs allinnich it bedriuwsberik neame
AllowedIPs listet de bestimmingen op dy't WireGuard yn 'e tunnel rûtelet. Foar nêstjen hat it allinnich it adres fan de binnenste server en de bedriuwsfoarheaksels nedich. Al it oare bliuwt op it lokale netwurk, printers en hypervisor ynbegrepen. Dat is in splitlingstunnel neffens ûntwerp, en it foarket it útslutingsprobleem folslein.
In bûtenste laach mei folsleine tunnel hat 0.0.0.0/0 minus de lokale berikken. It formaat kin gjin útsluting útdrukke, dus de oanfolling moat berekkene en plakt wurde.
[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
As de binnenste kliïnt syn eigen rûtes net ynstallearret, listet dan sels de bedriuwsfoarheaksels op. In foarheaksel dat fan dy rigel ôf bliuwt is in bestimming dy't de bûtenste tunnel nea draacht. In ferâldere kopy fan 'e list is slimmer as gjinien, want it liket noch altyd goed.
Folchoarder, metryske wearden en de twadde adapter
Ferbyn earst de bûtenste tunnel en start dan de bedriuwsclient. Syn ferbining nei it einpunt giet dan fia WireGuard ynstee fan 'e lokale gateway. Jou de bedriuwsynterface in legere metryske wearde sadat syn foarheaksels winne foar de adressen dy't er 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
Metryske wearden binne de stap dy't minsken oerslaan. Sûnder oardering wint foar it oerlappende foarheaksel de rûte dy't it lêst ynstallearre is. Dat feroaret tusken opstarts, dêrom liket it probleem ûnregelmjittich.
Kliïnten boud op OpenVPN 2.6 foegje har eigen falstrik ta. As de adapter foar it ôfladen fan it datakanaal al beset is, wegeret in twadde eksimplaar gewoan te starten. It tafoegjen fan disable-dco oan it profyl falt werom op it âldere TAP-paad, en dan rinne beide njonken elkoar.
Wêr't it nêste paad brekt
It ôfkeppeljen fan de bûtenste tunnel deadet de binnenste. Allinnich de binnenste kliïnt wer ferbine stjoert him faak streekrjocht nei it ynternet en ferwideret stil it nêstjen. Test de folchoarder elke kear fanôf nul, mei beide tunnels stopset.
Ferwachtsje in lytsere brûkbere MTU. Elke laach foeget oerhead ta, dus in startpear om 1420 en 1400 hinne is in plak om te begjinnen. In oerdracht dy't hinget op grutte pakketten wylst lytse oanfragen slagje is it gewoane teken. Bedriuwsbelied is de oare grins, want in kliïnt dy't in beheard apparaat wol kin in nêste paad as in oertreding beskôgje.
As beide einen fêste netwurken binne, ferwideret in site-to-site-tunnel tusken de gateways it oarderingsprobleem ynstee fan it te behearjen. Op ien laptop besteane twa tunnels allinnich njonken elkoar as elk syn eigen ynterface hat en in regel dy't bestimmingen per foarheaksel kiest.