Kaksi päätepistettä operaattorin NAT:n takana ja lukittu toimistorouteri eivät jätä yhtään saapuvaa porttia ohjattavaksi, ja refleksi on silti pyytää sellaista. Parempi kysymys on, kumpi puoli voi soittaa ulospäin ja minkä tavoitettavissa olevan palvelun sallitaan kantaa liikenne. Neljä ratkaisua vastaa tähän kysymykseen eri tavoin, ja ne epäonnistuvat eri tavoin, kun polku on estetty. Niiden välillä valitseminen on takuiden vertailua, ei protokollanimien vertailua.

Neljä ratkaisua, neljä erilaista lupausta

Alla oleva taulukko on lyhyt versio. Lue keskimmäinen sarake lupauksena, jonka voit testata, ja oikea sarake lupauksena, jota kukaan ei antanut.

DesignWho initiatesPromise you getPromise you do not get
Routed VPN hubBoth ends, outbound to the hubA routed path to permitted prefixesAccess to services no policy allows
Peer traversal with ICEBoth peers to a rendezvous serviceA path tested between the two peersA direct path through every NAT
TURN relayClient outbound to a relayTransport that survives symmetric NATPeer discovery or a usable directory
Application brokerWorkstation outbound to a brokerOne audited application sessionSubnet-wide reachability

Mikä rivi pätee, riippuu tehtävästä eikä mieltymyksestä. Yksi etätyöpöytäistunto, yksi ylläpitokuori ja pääsy koko yksityiseen aliverkkoon ovat kolme vaatimusta, jotka eivät tarvitse samaa sisäänkäyntiä, vaikka ne sattuisivat koskemaan samaa konetta.

Keskitin muuttaa sitä, kuka soittaa ulos, ei sitä, mikä on sallittua

Reititetyn keskitinratkaisun mallissa etäkannettava ja työasema, tai sen edessä oleva toimipaikan yhdyskäytävä, avaavat kumpikin lähtevän tunnelin palveluun, jonka molemmat voivat tavoittaa. Mikään ei ota vastaan pyytämätöntä yhteyttä työaseman routerilla, ja juuri siksi tämä ratkaisu kestää NAT:n ja toimii myös silloin, kun toimipaikalla ei ole staattista osoitetta. Sen jälkeen keskitin reitittää liikennettä kahden sisäisen osoitteen välillä oman käytäntönsä mukaisesti.

Hinta on, että keskitin täytyy olla olemassa, sen täytyy olla tavoitettavissa molemmilta puolilta ja jonkun täytyy ylläpitää sitä. Lähtevän liikenteen suodatuksen täytyy sallia kuljetus, ja verkko, joka estää sen, tekee ratkaisusta toimimattoman, vaikka portinohjausta ei tarvittu.

Hienovarainen osa on, että tavoitettavuus ja valtuutus ovat erillisiä päätöksiä, jotka tehdään eri paikoissa. Reitti etuliitteeseen ei kerro mitään siitä, mitä palvelua työasemassa identiteetti saa käyttää, eikä palomuurisääntö, joka sallii tunnelin, kerro mitään siitä, voiko tili kirjautua sisään. Määritä molemmat, testaa molemmat ja pidä valtuutuspäätös järjestelmässä, joka omistaa resurssin, ei reititystaulussa.

Läpäisy toimii vain, kun molemmat pinot toteuttavat sen

Vertaisläpäisy on tietyn järjestelmän ominaisuus, ei asetus, joka parantaa VPN:ää. Interactive Connectivity Establishment kerää useita ehdokasosoitteita ja testaa pareja, kunnes yksi toimii: isäntäehdokkaat paikallisilla liitynnöillä, palvelinheijastusehdokkaat, jotka rakennetaan siitä, mitä NAT paljastaa, ja välityspalvelimelle varatut välitysehdokkaat. Yksityinen osoite itsessään ei ole polku, koska toinen puoli ei voi reitittää sinne.

Välitetty tapaus kannattaa ymmärtää ennen kuin sen hylkää. RFC 8656 kuvaa TURN:n protokollaksi, jossa asiakas pyytää palvelimelta välitetyn kuljetusosoitteen ja palvelin välittää liikennettä tämän asiakkaan ja sen vertaisten välillä. Välityspalvelin kantaa siis tiedot, mikä eroaa olennaisesti hakemistosta, joka vain auttaa päätepisteitä kohtaamaan. Välitysosoitteen vaihtaminen toisen osapuolen kanssa on koordinointivaihe, joka sovelluksen on tehtävä.

Sitä et voi luvata, että polku on suora. Symmetrinen NAT ja eräät yrityspalomuurit estävät reiän puhkaisun, ja kun niin käy, järjestelmä joko palaa välityspalvelimeen tai epäonnistuu. Et voi myöskään päätellä, etteivät kaksi käännettyä päätepistettä voi koskaan puhua; tuettu pino, jossa on välitysvarakeino, on olemassa juuri siksi, että ne usein voivat. Päätä, kumpi on tärkeämpää, saatavuus vai suoruus, ja tarkista sitten, minkä polun käyttöönotto todella valitsi, sen sijaan että olettaisit suotuisan tapauksen.

Välittäjä on kapeampi kuin verkko

Kun vaatimus on yksi sovellus, sovellusvälittäjä tai työaseman käynnistämä käänteinen yhteys voi olla pienin vastaus. Työasema soittaa ulos välittäjälle, välittäjä todentaa etäkäyttäjän ja vain se sovellusistunto kuljetetaan. Työaseman aliverkkoon ei synny reittiä, joten etäistunnon vaarantuminen ei peri polkua jokaiseen sen vieressä olevaan laitteeseen.

Tuolla kapeudella on hinta: jokainen lisäsovellus tarvitsee oman integraationsa, ja kaikki, mitä sovellus olettaa paikallisesta verkosta, kuten tiedostojako, jonka se avaa läheisellä palvelimella, ei välttämättä ole tavoitettavissa. Välittäjät myös keskittävät käytännön ja lokituksen yhteen paikkaan, mikä on hyödyllistä siihen asti, kunnes siitä paikasta tulee katkos.

Vertaa luottamusrajoja ja testaa sitten polku

Keskitin, joka lopettaa tunnelit, voi lukea reitittämänsä liikenteen. Välityspalvelin voi kantaa itsenäisesti suojatun vaihdon, kun sovellus salaa päästä päähän, ja välittäjä yleensä lopettaa istunnon, jonka se esittää. Selvitä, mihin suojaus todella päättyy, ennen kuin päätät, että kaksi ratkaisua ovat samanarvoisia, koska molemmat on salattu.

Tarkista sitten, mihin työasema todella yltää lähtevästi, sillä jokainen yllä oleva ratkaisu riippuu siitä. Suorita tämä työasemalla ja korvaa isäntänimi, jota aiot käyttää.

ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com

Hyväksy ratkaisu vasta, kun aiottu etätoiminto onnistuu sallitulla identiteetillä, hyväksymätön identiteetti hylätään ja käyttäytyminen silloin, kun suora tai välitetty polku ei ole käytettävissä, tunnetaan ja on dokumentoitu. Sisällytä uudelleenyhdistäminen ja työaseman tavallinen käynnistyskonteksti, koska toimistossa lähiverkon kautta alkanut istunto ei testaa mitään, mistä etäkäyttö riippuu.

Aiheeseen liittyvät artikkelit