Masquerade vai politiikkapohjainen reititys: LAN-liikenne VPN-yhdyskäytävän kautta
Linux-yhdyskäytävä voi piilottaa LAN-lähteet tunnelinsa osoitteen taakse tai reitittää ne muuttumattomina. Valinta seuraa siitä, kuka omistaa kaukokannan ja millainen sen paluureitti on.
Koko LAN:n laittaminen VPN-tunnelin taakse on helppo osa; päättäminen siitä, miten kaukokanta näkee nämä asiakkaat, ei ole. Masquerade kirjoittaa jokaisen LAN-lähteen uudelleen yhdyskäytävän tunneliosoitteeksi, joten kaukopää vastaa yhdelle vertaiselle. Politiikkapohjainen reititys säilyttää alkuperäiset osoitteet ja vaatii, että kaukopää tietää, miten niihin päästään. Kumpikaan ei ole oletus; valinta seuraa siitä, kuka omistaa kaukokannan ja onko laitekohtainen identiteetti tärkeä.
Kaksi suunnittelua lupaa eri asioita
Masquerade supistaa LAN:n yhteen näkyvään isäntään: yhdyskäytävään. Kaukovverkko vastaa tuohon yhteen osoitteeseen, ja yhdyskäytävä kääntää vastaukset takaisin asiakkaalle, joka aloitti vuon. Kaukopuolella ei tarvita reittiä yksityisiin etuliitteisiisi, minkä vuoksi tämä suunnittelu kestää palveluntarjoajan, joka kieltäytyy kuljettamasta niitä. Yhdyskäytävästä tulee myös jokaisen yhteyden lähde, joten kaukopää ei voi erottaa kahta asiakasta toisistaan.
Politiikkapohjainen reititys pitää jokaisen asiakkaan osoitteen ehjänä. Kaukovverkko näkee todellisen lähteen ja voi kirjata sen, soveltaa isäntäkohtaista sääntöä tai lähettää vastauksen suoraan tuohon osoitteeseen. Tämä näkyvyys on koko pointti, ja se tuo mukanaan velvoitteen: kaukopuolella on oltava reitti LAN-etuliitteelle, joka osoittaa takaisin tunnelin läpi. Suunnittele tämä reitti ennen säännön käyttöönottoa, sillä tunneli nousee joka tapauksessa ja vain vastaukset jäävät puuttumaan.
Vikatilat eroavat yhtä paljon kuin lupaukset. Puuttuva masquerade-sääntö tuottaa paketteja, jotka lähtevät yksityisillä lähteillä eivätkä koskaan palaa. Puuttuva paluureitti tuottaa saman oireen politiikkapohjaisessa reitityksessä, mutta korjaus kuuluu kauko-reitittimelle, ei yhdyskäytävälle.
Masquerade: yksi vertainen kaukopuolella
Masquerade-polulla on järjestys, jolla on merkitystä. Edelleenlähetys on otettava käyttöön ennen kuin mikään NAT-sääntö hyödyttää, suodatustaulun on sallittava läpikulku molempiin suuntiin, ja vasta sitten käännös tulee voimaan tunnelin rajapinnassa.
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Asiakkaat tarvitsevat silti reitin yhdyskäytävään. Joko yhdyskäytävä on heidän oletusreitittimensä, tai he kantavat erityistä reittiä kaukoetuliitteelle; jos erillinen reititin jää oletukseksi, se reititin tarvitsee staattisen reitin tunnelin kohteille, muuten paketti menee väärälle hypylle ennen kuin yhdyskäytävä näkee sen.
DNS on erillinen päätös. Kaukopuolen resolveri vastaa vain, jos sen vastaus voi matkustaa takaisin asiakkaalle. Masqueraden alla kysely näyttää tulevan yhdyskäytävältä, joten resolverin paluureitti on jo täytetty; politiikkapohjaisen reitityksen alla resolveri tarvitsee saman paluureitin kuin mikä tahansa muu kaukopalvelu.
Politiikkapohjainen reititys: säilytä lähde, lisää paluureitti
Politiikkapohjainen reititys alkaa taulusta ja säännöstä, joka valitsee sen. LAN-rajapinnasta saapuva liikenne lähetetään omaan tauluun, ja tuo taulu kantaa oletusreitin tunnelin läpi. Päätaulu pysyy koskemattomana, joten yhdyskäytävän itsensä tuottama liikenne voi kulkea toista polkua.
ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn
Sitten kaukopuolen on reititettävä LAN-etuliite takaisin tunnelin läpi. Se on kauko-reitittimen asetus, ei tämän yhdyskäytävän. Yhdyskäytävän on myös hyväksyttävä vastauksia, jotka saapuvat eri rajapintaan kuin päätaulu ennakoisi; löysä käänteisen polun suodatus (rp_filter asetettu arvoon 2) on tavallinen säätö, kun tiukka tila pudottaa nuo paketit.
Kun kaksi tunnelia on aktiivisia, merkitse jokainen vuo saapuessaan ja anna merkin valita taulu. Sääntö, joka katsoo vain syöttörajapintaa, lähettää molempien tunnelien liikenteen samaan tauluun, joten toinen tunneli varastaa vuot ensimmäiseltä. Testaa merkkiä yhteydellä, joka kestää uudelleenyhdistämisen, sillä silloin sekapolitiikka paljastuu.
Päätä omistajuuden ja sen perusteella, mitä kaukopuoli kirjaa
Jos tunneli päättyy palveluntarjoajaan, käytä masqueradea. Se operaattori ei reititä yksityisiä LAN-alueitasi, eikä sillä ole syytä erottaa yksittäisiä asiakkaita yhdyskäytäväsi takana. Yksi näkyvä vertainen on ainoa malli, jota sen politiikka tukee, joten anna sille se ja pidä käännös omalla reunallasi. Palveluntarjoaja näkee yhden vertaisen, mikä on juuri se, mitä sen politiikka odottaa, ja asiakkaasi perivät tuon yhden identiteetin.
Jos molemmat päät ovat sinun ja kaukopalvelut toimivat lähdeosoitteiden perusteella, politiikkapohjainen reititys ansaitsee lisäreittinsä. Palomuurisäännöt, käyttäjäkohtainen pääsy ja audit-lokit voivat silloin erottaa asiakkaita. Jos kaukopuoli tarvitsee vain tavoitettavuutta, masquerade on yksinkertaisempi ja poistaa kokonaisen luokan paluureittivirheitä.
Hybridisuunnitelmat ovat tavallisia: politiikkapohjainen reititys omassa verkossasi, masquerade palveluntarjoajan reunalla. Tärkeää on kirjata, mikä hyppy kääntää ja mikä hyppy reitittää, sillä yhdelle asiakkaalle vahingossa lisätty NAT-sääntö piilottaa lähteen jokaiselta saman ketjun asiakkaalta.
Varmista asiakkaalta ja sitten toiselta asiakkaalta
Suorita testi siellä, missä liikenne alkaa. Tarkista reitti, jota isäntä käyttää, katso paketin ilmestymistä tunnelin rajapintaan ja tutki conntrackia käännöksen varalta. Tämä järjestys todistaa, että paketti kulki aiottua polkua eikä vain saapunut jonnekin.
Toista testi uudelleenyhdistämisen jälkeen. Masquerade-sääntö, joka nimeää rajapinnan, kestää uuden tunneliosoitteen; sääntö, joka nimeää vanhan osoitteen, ei kestä. Testaa sitten toista LAN-isäntää, sillä yhdellä koneella toimiva suunnittelu riippuu usein kyseisen koneen omasta reitistä eikä yhdyskäytävän politiikasta.
Kirjaa valittu malli, käännetty tai säilytetty lähde ja paluureitin omistaja yhdyskäytävän muistiinpanoihin. Muuten seuraava henkilö, joka lisää asiakkaan tai tunnelin, arvaa, ja arvaaminen on se, miten toimiva LAN-VPN-järjestely muuttuu osittaiseksi.