Marŝrutbazita kontraŭ politikbazita VPN inter lokoj: kio diferencas
Politikbazita IPsec elektas trafikon per selektilo; marŝrutbazita sendas ĝin tra tunela interfaco. Ambaŭ ankoraŭ bezonas fajroŝirmilajn regulojn kaj revenan vojon.
Ambaŭ dezajnoj protektas la saman trafikon per la sama IPsec-maŝinaro, kaj ili diferencas en tio, kio decidas, kiun paketon eniras la tunelon. En politikbazita konekto la interkonsentitaj trafikselektiloj faras tiun laboron; en marŝrutbazita faras ĝin vojo montranta al tunela interfaco. Konfuzi la du kreas konatan subtenan fadenon, en kiu la tunelo raportas sin kiel establita dum la aplikaĵo atingas nenion. La distingo plej gravas kiam vi aldonas reton, funkciigas enkursigadan protokolon aŭ sencimigas vojon, kiu silente eliras tra la malĝusta eliro.
Du manieroj decidi, kio eniras la tunelon
Politikbazita VPN konstruas sekurecan politikon, kiu kongruas kun fontaj kaj celaj prefiksoj, kaj poste ĉifras ĉion, kio kongruas. La samtavolano devas interkonsenti kongruajn selektilojn, do la efektiva amplekso finiĝas kiel la komunaĵo de tio, kion ambaŭ flankoj proponis. Nenio ekster tiu komunaĵo estas protektita, kion ajn diras la enkursigada tabelo.
Marŝrutbazita VPN kreas interfacon, kiu reprezentas la tunelon, kaj lasas la enkursigadan tabelon sendi trafikon en ĝin. La IKE-demono ankoraŭ instalas la staton kaj la politikon por ĉiu interfaco, kaj tio estas la detaleto, kiun homoj preterlasas kiam ili decidas, ke vojoj anstataŭigis ĉifradon. Ambaŭ dezajnoj ĉifras per IPsec; nur la elekta mekanismo diferencas.
Legu la komparon sube kiel aron da paneaj signoj, ne kiel punktotabelon, ĉar neniu kolumno venkas en la abstrakto.
| Aspect | Policy-based | Route-based |
|---|---|---|
| What selects traffic | Negotiated selectors | A route into the tunnel interface |
| Adding a network | Edit selectors on both peers | Add a route, widen the selector once |
| Dynamic routing | Awkward to run over the tunnel | Runs over the interface directly |
| Typical failure | Tunnel up, host outside the selector | Tunnel up, no route or wrong source |
Politikbazita: la selektilo estas la kontrakto
Selektiloj estas interkonsentataj, ne nur agordataj. Proponu 10.10.0.0/16 unuflanke kaj 10.10.1.0/24 aliflanke, kaj la asocio kovros tion, pri kio la intertraktado konsentis, dum ĉiu alia gastiganto restas ekstere.
Legu la instalitan staton anstataŭ la agordan dosieron. Ĉe Linux-samtavolano la propraj tabeloj de la kerno estas la fundamenta vero, kaj ili montras, kio postvivis la intertraktadon. Politiko, kiu nomas la ĝustajn prefiksojn sen kongrua stato, signifas, ke la asocio neniam ekfunkciis. Stato kune kun politiko por la malĝusta prefikso estas la kontraŭa problemo, kaj ĝi produktas la tunelon, kiu aspektas sana dum unu subreto atingas nenion.
sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas
Komparu ambaŭ eligojn kun la prefiksoj, kiujn vi kredas protekti. Tiu unu komparo solvas la plej multajn raportojn pri funkcianta tunelo kun neatingebla servilo. Ĝi ankaŭ montras, kiun samtavolanon ŝanĝi, ĉar la malkongruo kutime videblas nur en unu direkto.
Marŝrutbazita: la interfaco estas la kontrakto
XFRM-interfaco donas al la tunelo nomon kaj identecon, kaj trafiko atingas ĝin ĉar la enkursigada tabelo tion diras. Pluraj malproksimaj prefiksoj tiam fariĝas enkursigada problemo anstataŭ selektila problemo, kaj enkursigada protokolo povas anonci ilin. Tio estas la reala gajno, ne ĉifrado.
La interfaco ne forigas la bezonon de politiko. La demono instalas regulojn por ĉiu interfaco ligitajn al la interfaca identeco, do paketo alvenanta sur la malĝustan interfacon ankoraŭ malsukcesas. Fonta adreso, kiun la samtavolano ne akceptos, ankaŭ malsukcesas, eĉ kun perfekta vojo. Marŝrutbazita signifas, ke la vojo decidas la eniron, ne ke la politiko malaperis.
sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10
Observu la interfacajn nombrilojn post kiam la vojo estas en loko. Vojo, kiu ekzistas dum la nombriloj restas nulo, signifas, ke nenio estas kongruigata en la tunelon, kio kutime indikas mankan staton anstataŭ mankan vojon.
Kie la du dezajnoj vere disiĝas
Aldoni reton estas la plej pura testo de tio, kiu modelo taŭgas por vi. Marŝrutbazita dezajno aldonas vojon kaj plej multe unufoje larĝigas la selektilon, dum politikbazita dezajno redaktas prefiksajn parojn ĉe ambaŭ samtavolanoj kaj denove intertraktas. Du stabilaj subretoj faras tiun redakton bagatela, kaj dudek faras ĝin projekto.
Neniu modelo anstataŭigas fajroŝirmilon, kaj komparoj kutime haltas antaŭ ĉi tiu punkto. Larĝa selektilo aŭ larĝa vojo decidas, kio estas ĉifrata, ne kio estas permesata.
Ankaŭ la konduto de MTU diferencas en praktiko. Encapsulado malpliigas la uzeblan utilan ŝarĝon, kaj marŝrutbazita interfaco portas sian propran MTU, do fiksado de MSS ĉe ambaŭ kluzoj evitigas la simptomon de nigra truo, kie malgrandaj respondoj alvenas kaj grandaj malaperas. Politikbazitaj tuneloj renkontas la saman muron de la alia flanko, ĉar selektilo diras nenion pri paketa grandeco. Starigu la fiksadon intence anstataŭ kulpigi la samtavolanon.
Migrado sen perdi la revenan vojon
Registru la ekzistantajn prefiksajn parojn antaŭ ol ŝanĝi ion, poste movu unu aplikaĵan vojon kaj observu ĝin de fino al fino. Tunelo, kiu establiĝas, ne estas tunelo, kiu plusendas, kaj la diferenco aperas en la responda direkto.
Kiam la samtavolanoj konektiĝas sed LAN-gastigantoj ne povas, kontrolu la revenan vojon kaj la fontan adreson, kiun uzos la malproksima gastiganto. Gastiganto kun du interfacoj povas respondi el la malĝusta, kaj neniu selektila ŝanĝo riparas tion. Kaptu trafikon ĉe ambaŭ finoj antaŭ ol redakti algoritmojn.
ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns
Konservu administran vojon, kiu ne dependas de la tunelo, dum vi laboras. Revenigo estas pli facila kiam la propra aliro de la kluzo ne rajdas sur la konekto, kiun vi sencimigas.