Yrityksen VPN WireGuardin sisällä: kumpi kerros tulee ensin?
Kaksi asiakasta samalla koneella toimii vain, kun ulompi tunneli kuljettaa sisemmän asiakkaan oman yhteyden ja mittarit valitsevat oikean liitännän kullekin etuliitteelle.
Kehittäjän kannettavassa tunnelien sisäkkäin asettamiseen on kaksi perusteltua syytä. Joko yritysasiakkaan on näytettävä siltä, että se tulee tietystä maasta, tai kahden yksityisen verkon on oltava saavutettavissa samaan aikaan. Molemmissa tapauksissa ulomman tunnelin on kuljetettava sisemmän asiakkaan oma yhteys.
Kahden asiakkaan käynnistäminen missä tahansa järjestyksessä ei tuota sitä. Reititys tuottaa sen.
Vertaa kahta mahdollista järjestystä
Valitse ulommaksi kerrokseksi tunneli, jonka päätepiste on julkisesta internetistä saavutettavissa. Sisempi kerros on tunneli, jonka palvelin vastaa vain kyseisen uloskäynnin kautta. Windowsissa käytännön jako on WireGuard ulkona ja yritysasiakas sisällä. Ratkaiseva tekijä on hallinta.
Virallinen WireGuard-asiakas soveltaa täydellistä asetustiedostoa, reitit ja DNS mukaan lukien. Kaupalliset yritysasiakkaat yleensä piilottavat molemmat. Kun piilotettu asiakas asetetaan ulkopuolelle, jää arvailemaan sen alla kulkevaa polkua.
Käänteinen järjestys ei ole mahdoton. Se on vain vaikeampi ajatella, koska ulompi asiakas kirjoittaa reitit uudelleen aikataululla, jota et koskaan näe.
Nimetköön AllowedIPs vain yrityksen alueen
AllowedIPs luettelee kohteet, jotka WireGuard reitittää tunneliin. Sisäkkäisyyttä varten se tarvitsee vain sisemmän palvelimen osoitteen ja yrityksen etuliitteet. Kaikki muu jää paikallisverkkoon, tulostimet ja hypervisor mukaan lukien. Se on jaettu tunneli jo suunnittelultaan, ja se välttää poissulkemisen ongelman kokonaan.
Täystunnelin ulompi kerros tarvitsee 0.0.0.0/0 miinus paikalliset alueet. Muoto ei voi ilmaista poissulkemista, joten komplementti on laskettava ja liitettävä.
[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
Kun sisempi asiakas ei asenna omia reittejään, luettele yrityksen etuliitteet itse. Siltä riviltä puuttuva etuliite on kohde, jota ulompi tunneli ei koskaan kuljeta. Vanhentunut kopio luettelosta on pahempi kuin ei mitään, koska se näyttää yhä oikealta.
Järjestys, mittarit ja toinen sovitin
Yhdistä ensin ulompi tunneli ja käynnistä sitten yritysasiakas. Silloin sen päätepisteyhteys lähtee WireGuardin kautta paikallisen yhdyskäytävän sijaan. Anna yrityksen liitännälle pienempi mittari, jotta sen etuliitteet voittavat sen omistamilla osoitteilla.
# 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
Mittarit ovat se vaihe, joka ohitetaan. Ilman järjestystä päällekkäisellä etuliitteellä voittaa viimeksi asennettu reitti. Se vaihtuu käynnistysten välillä, siksi ongelma näyttää ajoittaiselta.
OpenVPN 2.6:n päälle rakennetut asiakkaat lisäävät oman ansansa. Kun datakanavan purkuadapteri on jo varattu, toinen instanssi yksinkertaisesti kieltäytyy käynnistymästä. Kun profiiliin lisätään disable-dco, se palaa vanhemmalle TAP-polulle, ja silloin molemmat toimivat rinnakkain.
Mistä sisäkkäinen polku katkeaa
Ulomman tunnelin katkaiseminen tappaa sisemmän. Pelkän sisemmän asiakkaan uudelleenyhdistäminen lähettää sen usein suoraan internetiin ja poistaa sisäkkäisyyden hiljaa. Testaa järjestys aina alusta, molemmat tunnelit pysäytettyinä.
Odota pienempää käyttökelpoista MTU:ta. Jokainen kerros lisää ylimääräistä, joten aloituspari noin 1420 ja 1400 on paikka aloittaa. Siirto, joka jumittuu suurilla paketeilla samalla kun pienet pyynnöt onnistuvat, on tavallinen merkki. Yrityksen käytäntö on toinen raja, koska hallittua laitetta vaativa asiakas voi pitää sisäkkäistä polkua rikkomuksena.
Kun molemmat päät ovat kiinteitä verkkoja, yhdyskäytävien välinen sivustolta sivustolle -tunneli poistaa järjestysongelman sen hallitsemisen sijaan. Yhdellä kannettavalla kaksi tunnelia elää rinnakkain vain, kun kummallakin on oma liitäntänsä ja sääntö, joka valitsee kohteet etuliitteen mukaan.