Alavirran aliverkko vs. työpöytä-VPN: sulje pois läpikulku, älä sovellukset
Sovelluskohtainen ohitus luokittelee vain paikallisen lähdön. Työaseman takana olevat laitteet tarvitsevat oman saapumisen, edelleenlähetyksen ja paluupolun käytännön.
Yksi kone, kaksi työtä, yksi palomuuri: Wi-Fi-linkki ylöspäin, sen takana pieni Ethernet-aliverkko ja työpöytä-VPN-asiakas, joka olettaa kaiken koneesta lähtevän olevan paikallista. Paikallisesti käynnistetyt sovellukset lähtevät paikallista lähtöpolkua pitkin. Työaseman takana olevat laitteet saapuvat Ethernet-porttiin ja tarvitsevat edelleenlähetyksen päätöksen. Ensimmäiselle polulle kirjoitettu poikkeus ei näe koskaan toista, ja siksi selain ohittaa tunnelin, mutta laitteet eivät.
Kaksi pakettipolkua, yksi käytäntö
| Origin | Path | Decision owner |
|---|---|---|
| Application on the workstation | OUTPUT then egress | The VPN app's routing policy |
| Device behind the workstation | PREROUTING then FORWARD | The workstation's own forwarding policy |
Ensimmäinen rivi on se, mitä useimmat split-tunneling-oppaat kuvaavat. Toinen on reitittimen kokoonpano, joka sattuu sijaitmaan samalla koneella. Niiden sulauttaminen yhdeksi mielikuvaksi on virhe; ne jakavat ytimen, mutta eivät käytäntöä. Piirrä molemmat polut ennen minkään säännön muokkaamista, ja muu suunnittelu seuraa siitä, mikä polku puuttuu.
Taulukko selittää myös, miksi yksi kone voi läpäistä yhden testin ja epäonnistua toisessa. Työaseman selain todistaa paikallisen polun; Ethernet-porttiin kytketty kannettava todistaa edelleenlähetyksen polun. Vahvista muutos kummallakin, muuten toinen jää testaamatta, vaikka selainta päivitettäisiin kuinka monta kertaa tahansa.
Mitä sovelluspoikkeus oikeastaan luokittelee
Sovelluskohtainen poikkeus toimii yleensä niin, että merkitään prosessin tai käyttäjän paketit ja sen jälkeen merkitty liikenne reititetään tunnelin ulkopuolelle. Se on paikallisen lähdön rakenne. Alavirran laitteen paketilla ei ole paikallista prosessia, joten se ei koskaan vastaa valitsinta, mikä valitsin tahansa.
Mikä valitsin tahansa, nämä kaksi luetteloa eivät ole sama luettelo, ja juuri siinä on koko pointti. Mullvadin Linux-opas kuvaa merkintöjä, joita sen palomuuri ja reitityskäytäntö kuluttavat, ja sen esimerkit kohdistuvat paikalliseen lähtöön; ne eivät ole tuettu kuvaus alavirran reitittimestä. Niiden kopiointi tuottaa koneen, joka luulee, että sillä on poikkeus, samalla kun se lähettää kaiken tunneliin.
Kirjoita läpikulun sopimus
Nimeä alavirran lähde-etuliite ja saapumisliitäntä yhdessä ja rajoita sitten tämä etuliite saapumisessa. Ilman rajoitusta mikä tahansa porttiin yltävä laite voi vaatia poikkeuksellisen osoitteen ja lähteä ohituksen kautta. Kohtele sitä kahtena kysymyksenä: saavatko nämä isännät ylipäätään käyttää tätä ylälinkkiä, ja saavatko ne saavuttaa työaseman tai tunnelin yksityiset alueet? Ne ovat lisäoikeuksia, eivät ylälinkin valinnan sivuvaikutuksia.
Salli edelleenlähetys ja suodata se sitten. Linux-yhdyskäytävä tarvitsee käytössä olevan edelleenlähetyksen, säännöt, jotka sallivat aiotun liikenteen molempiin suuntiin, ja joko ylävirran paluureitin tai tarkoituksella rajautetun lähteensovituksen. Pelkkä NAT ei valitse ylälinkkiä eikä anna kulkua suodattimen läpi; se vain uudelleenkirjoittaa osoitteen näiden päätösten jälkeen.
Läpikulun luokittelu on tehtävä ennen edelleenlähetyksen reittipäätöstä, eli prerouting-vaiheessa eikä outputissa. Päätöksen jälkeen sijoitettu sääntö voi vielä muuttaa pakettia, mutta ei voi muuttaa sitä, minne paketti on jo lähetetty.
Merkinnät kuuluvat sovellukselle, joka ne omistaa
Merkintäarvot, taulukkonumerot ja ketjujen prioriteetit ovat osa VPN-sovelluksen käytäntöä, eivät ikuisia vakioita. Kestävä verkko, joka riippuu säännön lisäämisestä tauluun, jonka toinen ohjelma luo uudelleen, hajoaa seuraavassa päivityksessä, yleensä uudelleenyhdistämisen aikana eikä sopivana hetkenä.
Toisen perusketjun lisääminen accept-tuomiolla ei välttämättä ohita myöhemmän ketjun dropia. Perusketjuilla on koukut ja prioriteetit, ja järjestyksen ensimmäinen tuomio voittaa; accept yhdessä ketjussa ei kumoa dropia, johon toinen ketju ehtii ensin. Katso koko sääntöjoukkoa ja reitityskäytännön järjestystä, älä yhtä laskuria, joka kasvoi. Laskuri todistaa, että sääntö ajettiin, ei koskaan sitä, että juuri sen tuomio oli sovellettu.
Integroi tai siirrä aliverkko
Kaksi suunnittelua eroavat siinä, kuka omistaa ohituksen. Integroitu suunnittelu pitää yhden koneen ja yhden käytännön sen kustannuksella, että se riippuu VPN-sovelluksen taulujen elinkaaresta ja merkintäjoukosta, jota sen dokumentaatio voi muuttaa. Alavirran verkolle varattu reititin poistaa tämän riippuvuuden kokonaan: aliverkolla on oma ylälinkkinsä ja työasema pysyy asiakkaana ilman edelleenlähetysroolia.
Valitse toinen, kun alavirran verkon on jatkettava toimintaa VPN-päivitysten läpi, tai kun kukaan ei voi testata integroitua käytäntöä jokaisen julkaisun jälkeen. Valitse ensimmäinen vain, kun integraatio on dokumentoitu ja joku omistaa sen.
Vahvista raja neljässä tilassa: yhdistetty, uudelleenyhdistävä, tarkoituksella estetty ja pysäytetty. Tarkista nimienratkaisu ja molemmat osoiteperheet kussakin, koska DNS:ää vuotava ohitus ei ole se poikkeus, jonka suunnittelu. Testin pitäisi todistaa täsmällinen raja, ei vain se, että yksi sivu latautui.