IPsec bazita sur itineroj transdonas al la itinera tabelo decidon, kiun antaŭe faris politikaj selektiloj. En Linux la peco, kiu tion ebligas, estas la XFRM-interfaco: virtuala aparato, kies trafiko estas kongruigata kun IPsec-stato per interfaca identigilo anstataŭ per selektilo. Krei unu postulas unu komandon kaj pruvas nenion pri tio, ĉu tunelo ekzistas. La aparato estas hoko inter itineroj kaj sekureca politiko, kaj ambaŭ flankoj de tiu hoko devas esti agorditaj antaŭ ol io ajn estas protektata.

Kio la aparato estas kaj kio ĝi ne estas

XFRM-interfaco estas itinera tenilo. Paketoj itineroj en ĝin estas kongruigataj kun XFRM-politikoj, kiuj referencas la saman interfacan identigilon, kaj se politiko kaj stato ekzistas, ili estas enkapsuligitaj. Sen tiuj la interfaco ekzistas, la nombriloj restas senmovaj, kaj la trafiko iras nenie utile.

Tio estas la unua diagnoza divido. Itinero en la aparaton estas itinera fakto, instalita stato estas sekureca fakto, kaj kreskanta nombrilo sur la aparato estas nek unu nek la alia. Kiam homoj diras, ke la tunelo estas supren, ĉar la interfaco montras UP, ili priskribas la ligilajn flagojn de virtuala aparato, kiu ne havas propran kunulon. La flago signifas, ke la aparato estis kreita kaj ŝaltita, nenion pli.

Ankoraŭ unu limo: la interfaca identigilo ne estas nomo. Du aparatoj kun similaj nomoj kaj malsamaj identigiloj ne dividas staton, kaj konekto agordita kun la malĝusta identigilo instalas staton, kiun neniu itinero iam uzos.

Konstruu unu en la ĝusta ordo

Komencu per la ekstera aparato kaj numero, kiun vi ankaŭ metos en la demonan agordon. La ekzemplo uzas eth0 kiel la eksteran interfacon kaj 42 kiel la identigilon, adresojn, kiujn vi devus anstataŭigi per viaj propraj.

Suprenigu la aparaton, poste konfirmu la identigilon, kiun la kerno registris, antaŭ ol tuŝi la VPN-agordon:

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'

Nun agordu la konekton en strongSwan kun la sama identigilo, ĉar la demono devas instali politikojn kaj statojn, kiuj referencas ĝin. Agordu la lokajn kaj malproksimajn trafikajn selektilojn al la gamo, kiun vi intencas itineroj, poste itineroj tiun gamon en la aparaton. La demona agordo kaj la itinera tabelo devas kongrui pri kaj la identigilo kaj la celoj, kaj neniu provizas la alian.

Tenu IKE kaj ESP ekster la tunela itinero

Defaŭlta itinero direktita en la XFRM-aparaton kaptas la enkapsuligitajn paketojn same kiel la trafikon, kiun ili portas. La rezulto estas buklo: la enirejo provas sendi sian propran ESP tra la tunelo, kiun ESP devas konstrui.

La solvo estas pli specifa itinero por la ekstera adreso de la kunulo tra la fizika interfaco, kiu venkas la defaŭltan, ĉar ĝi kongruas pli da bitoj. Marka itinero faras la saman taskon, kiam pluraj tuneloj dividas tabelon, kaj strongSwan dokumentas ambaŭ alirojn por itinero-bazitaj deplojoj.

Kion ajn vi elektas, kontrolu, ke la ekstera paketo eliras neenkapsuligita. Rapida kontrolo estas pingi la eksteran adreson de la kunulo post kiam la tunelo estas supren; se tio malsukcesas dum la interfaco estas supren, suspektu kaptadon anstataŭ atingeblon. La sama rezonado validas por la IKE-pordo, ĉar la propra UDP-trafiko de la demono ne rajtas esti itineroj en la aparaton, kiun ĝi provas starigi.

Kontrolu nombrilojn en du lokoj antaŭ ol kulpigi ĉifradon

Interfacaj nombriloj kaj stataj nombriloj mezuras malsamajn etapojn. Paketoj itineroj en la aparaton pliigas la aparaton eĉ kiam neniu stato kongruas, dum la stataj nombriloj moviĝas nur por trafiko, kiu estis efektive enkapsuligita.

Legu ambaŭ, poste legu la vidon de la demono pri la infana asocio:

ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sas

Kreskantaj aparataj nombriloj kun malplena stata eligo signifas, ke itineroj funkcias kaj la politiko ne kongruas, kutime eraro pri identigilo aŭ selektilo. Kreskantaj stataj nombriloj dum la malproksima flanko raportas nenion signifas, ke la paketoj eliras sed ne alvenas aŭ malsukcesas aŭtentikigon, kio montras al la vojo aŭ al la kunula agordo. Listigita infano kun nula trafiko estas selektila problemo ĉe unu fino, ne rompita ĉifro.

Decidu, kiu instalas la itinerojn

Du posedantoj por unu itinera tabelo estas la kutima fonto de oscilado. Se la demono instalas itinerojn aŭtomate, via reta administranto ne rajtas ankaŭ instali defaŭltan itineron tra la sama aparato, kaj permana itinero aldonita de starta skripto estos forigita la venontan fojon, kiam la demono reagordos.

Elektu unu posedanton kaj skribu tion. Kiam la demono posedas la itinerojn, tenu la startan skripton ekster la tabelo kaj lasu la konektan difinon priskribi la trafikajn selektilojn. Kiam la reta administranto posedas ilin, malŝaltu aŭtomatan instaladon kaj akceptu, ke la demono ne riparos mankantan itineron ĉe rekonekto.

Plusendaj kaj fajroŝirmilaj reguloj estas aparta decido sur tio, ĉar enirejo, kiu trapasigas trafikon de aliaj gastigantoj, bezonas ambaŭ. IPsec bazita sur itineroj faras tiun trafikon facile esprimebla per ordinaraj itineraj iloj; ĝi ne faras la politikan tavolon malnepra.

Rilataj artikoloj