Dante SOCKS VPN:n yli: täystunneli vai lähdeperusteinen reititys
Kaksi tapaa lähettää vain SOCKS-välityspalvelin tunnelin läpi: korvaa oletusreitti tai sido yksi lähdeosoite omaan tauluunsa. Ne epäonnistuvat eri tavoin.
Haluat SOCKS-välityspalvelimen liikenteen lähtevän VPN:n kautta, kun taas isäntäkoneen muu osa säilyttää tavallisen polkunsa. Kaksi suunnittelua tekee sen, ja ne eroavat siinä, mikä hajoaa, kun jokin menee pieleen. Toinen työntää oletusreitin tunneliin ja kiertää sen sitten; toinen jättää päätaulun rauhaan ja lähettää yhden lähdeosoitteen toiseen tauluun. Jälkimmäinen on puhtaampi, ja siinä on omat ansansa.
Kaksi suunnittelua, kaksi erilaista vahinkosädettä
Täystunnelin suunnittelu on se, mitä useimmat VPN-asiakkaat tekevät oletuksena: korvaa oletusreitti niin, että kaikki seuraa tunnelia, ja sulje sitten pois se, mikä ei saisi seurata. Sitä on helppo pohtia ja vaikea pitää kapeana, koska jokainen lisäämäsi paikallinen palvelu perii tunnelin, kunnes suljet sen pois. Vikatila on laaja, sillä yksi väärä reitti vie mukanaan isäntäkoneen oman yhteyden.
Lähteen mukaan valittu suunnittelu menee päinvastaiseen suuntaan. Päätaulu pysyy sellaisenaan, ja yksi käytäntösääntö lähettää paketit tietystä paikallisesta osoitteesta tauluun, jossa on tunnelin oletusreitti. Mikään muu ei muutu, eli vahinkosäde on yksi osoite.
Tämä kapeus on myös rajoitus: suunnittelu toimii vain, jos välityspalvelimen lähtevät paketit todella kantavat tuon osoitteen.
Mitä Danten external-asetus tekee
External-asetus valitsee osoitteet, joita välityspalvelin käyttää lähteviin yhteyksiin; se ei koske ytimen reitityskäytäntöön. Juuri tämä erottelu tekee toisen suunnittelun mahdolliseksi, ja juuri tässä ihmiset lukevat dokumentaatiota väärin. Externalin osoittaminen tunneliosoitteeseen saa välityspalvelimen lähtemään yhteyksissään tuosta osoitteesta, ja reititystaulu päättää sitten, mihin nuo paketit menevät.
Kuuntelija on eri asia. Pidä internal rajoitettuna asiakkaisiin, joiden pitäisi käyttää välityspalvelinta, vaadi todennus ja sulje portti palomuurilla, sillä avoin kuuntelija ei ole VPN-lähdön ominaisuus.
Varmista, että määritetty osoite todella kuuluu tunnelille välityspalvelimen verkkonimiavaruudessa.
Lähteen mukaan valitun taulun rakentaminen
Kun TUN-osoite on 10.90.0.2/24 ja saavutettava peer on 10.90.0.1, ja taulun numero on sellainen, jota mikään muu ei käytä, järjestely näyttää tältä:
ip -4 route add table 100 10.90.0.0/24 dev tun0 src 10.90.0.2
ip -4 route add table 100 default via 10.90.0.1 dev tun0 metric 10
ip -4 route add table 100 unreachable default metric 32760
ip -4 rule add priority 1000 from 10.90.0.2/32 lookup 100Saavuttamaton reitti on se osa, jonka ihmiset jättävät väliin. Ilman sitä taulu, jonka tunnelireitti katoaa, putoaa tavalliselle oletusreitille ja välityspalvelin lähtee hiljaa WANin kautta. Sen kanssa haku epäonnistuu, mikä on näkyvä vika hiljaisen vuodon sijaan. Säännön prioriteetin on myös oltava kaiken muun edellä, mikä vastaa tuota lähdettä.
Nämä arvot kuvaavat yhtä topologiaa. Pisteestä pisteeseen -peerit, net30-osoitteistus ja asiakkaat, jotka jakavat eri etuliitteen, tarvitsevat kaikki omat reittinsä, joten kopioi muoto äläkä osoitteita.
Missä lähdesääntö vuotaa
Lähdeosoitteeseen täsmäävä sääntö vaikuttaa jokaiseen prosessiin, joka sitä käyttää, ei vain välityspalvelimeen. Jos toinen daemon sitoo saman osoitteen, sen liikenne ottaa myös tunnelin, ja vika näyttää liittymättömän palvelun ongelmalta. Anna välityspalvelimelle osoite, jota mikään muu ei käytä, tai hyväksy, että laajuus on osoite eikä prosessi.
DNS on toinen vuoto. Resolverin socket ei välttämättä käytä välityspalvelimen external-tietoyhteyden lähdettä, joten nimihakuja voi yhä lähteä WANin kautta. Testaa nimien selvitys erillään yhteyden muodostuksesta ja päätä, onko tulos hyväksyttävä.
IPv6 tarvitsee omat sääntönsä ja reittinsä, sillä IPv4-järjestely ei todista siitä mitään.
Valitse sen vian mukaan, jonka kestät
Valitse täystunneli, kun isäntä on suojattava kokonaisuutena ja voit ylläpitää poissulkuluetteloa. Valitse lähdeperusteinen reititys, kun isännän on säilytettävä oma polkunsa ja vain yksi palvelu on ohjattava uudelleen. Molemmat ovat oikeutettuja; virhe on valita toinen ja testata sitä sitten kuin se olisi toinen.
Kumman tahansa valitset, varmenna molemmilta puolilta: pyyntö välityspalvelimen kautta ja suora pyyntö isännältä, ja kirjaa havaittu lähtöosoite kummastakin.
Jos tunneli kaatuu, päätä etukäteen, pitääkö välityspalvelimen epäonnistua vai palata tavalliselle polulle, ja anna reititystaulun ilmaista tämä päätös.