Marsruudipõhine IPsec annab marsruutimistabelile otsuse, mida varem tegid poliitikavalijad. Linuxis on seda võimaldav osa XFRM-liides: virtuaalne seade, mille liiklust sobitatakse IPsec-olekuga liidese identifikaatori, mitte valija järgi. Ühe loomine nõuab ühte käsku ega tõesta midagi selle kohta, kas tunnel on olemas. Seade on konks marsruutimise ja turbepoliitika vahel ning selle konksu mõlemad pooled tuleb enne milllegi kaitsmist seadistada.

Mis seade on ja mis see ei ole

XFRM-liides on marsruutimiskäepide. Sinna suunatud paketid sobitatakse XFRM-poliitikatega, mis viitavad samale liidese identifikaatorile, ja kui poliitika ja olek on olemas, siis need kapseldatakse. Ilma nendeta on liides olemas, loendurid seisavad ja liiklus läheb kuhugi, kus sellest kasu pole.

See on esimene diagnostiline jaotus. Marsruut seadmesse on marsruutimistõsiasi, paigaldatud olek on turbetõsiasi ja seadmel kasvav loendur ei ole kumbki. Kui inimesed ütlevad, et tunnel on üleval, sest liides näitab UP, siis nad kirjeldavad virtuaalse seadme lingilippe, millel pole oma vastaspoolt. Lipp tähendab, et seade loodi ja lubati, mitte enamat.

Veel üks piir: liidese identifikaator ei ole nimi. Kahel sarnase nime ja erineva identifikaatoriga seadmel pole ühist olekut ning vale identifikaatoriga seadistatud ühendus paigaldab oleku, mida ükski marsruut kunagi ei kasuta.

Ehitage üks õiges järjekorras

Alustage välimisest seadmest ja numbrist, mille panete ka deemonile seadistusse. Näide kasutab välimise liidesena eth0 ja identifikaatorina 42, aadresse, mille peaksite asendama enda omadega.

Tõstke seade üles ja seejärel kinnitage identifikaator, mille kernel salvestas, enne kui VPN-i seadistust puutute:

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]*'

Nüüd seadistage ühendus strongSwanis sama identifikaatoriga, sest deemon peab paigaldama poliitikad ja olekud, mis sellele viitavad. Seadke kohalik ja kaugem liiklusvalija vahemikule, mille kavatsete suunata, ja suunake see vahemik seejärel seadmesse. Deemoni seadistus ja marsruutimistabel peavad kokku sobima nii identifikaatori kui ka sihtkohtade osas ning kumbki ei anna teist.

Hoidke IKE ja ESP tunnelimarsruudilt väljas

XFRM-seadmesse osutav vaikimisi marsruut püüab kinni kapseldatud paketid ja ka nende kantava liikluse. Tulemuseks on silmus: lüüs üritab saata oma ESP-d läbi tunneli, mille ESP peaks alles ehitama.

Lahendus on täpsem marsruut vastaspoole välimise aadressi jaoks läbi füüsilise liidese, mis võidab vaikimisi marsruudi, sest sobib rohkemate bittidega. Märgipõhine marsruutimine teeb sama tööd, kui mitu tunnelit jagavad tabelit, ja strongSwan dokumenteerib mõlemad lähenemised marsruudipõhiste juurutuste jaoks.

Mida iganes valite, kontrollige, et välimine pakett väljuks kapseldamata. Kiire kontroll on pingida vastaspoole välimist aadressi pärast tunneli ülestõstmist; kui see liidese üleval olles ebaõnnestub, kahtlustage püüdmist, mitte kättesaadavust. Sama loogika kehtib IKE-pordi kohta, sest deemoni enda UDP-liiklust ei tohi suunata seadmesse, mida ta üritab kehtestada.

Kontrollige loendureid kahes kohas enne krüpteerimise süüdistamist

Liidese loendurid ja oleku loendurid mõõdavad erinevaid etappe. Seadmesse suunatud paketid suurendavad seadet ka siis, kui ükski olek ei sobitu, samas kui oleku loendurid liiguvad ainult liikluse puhul, mis tõesti kapseldati.

Lugege mõlemat ja seejärel lugege deemoni vaadet alamasotsiatsioonile:

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

Seadme loendurite kasv tühja olekuväljundiga tähendab, et marsruutimine töötab ja poliitika ei sobitu, tavaliselt identifikaatori või valija viga. Olekuloendurite kasv, kui kaugpool ei teata midagi, tähendab, et paketid väljuvad, kuid ei jõua kohale või ei läbi autentimist, mis osutab teele või vastaspoole seadistusele. Loetletud alamüksus null-liiklusega on valija probleem ühes otsas, mitte katkine šiffer.

Otsustage, kes marsruudid paigaldab

Kaks omanikku ühe marsruutimistabeli jaoks on tavaline võnkumise allikas. Kui deemon paigaldab marsruute automaatselt, ei tohi teie võrguhaldur samuti sama seadme kaudu vaikimisi marsruuti paigaldada, ja käivituskripti lisatud käsitsi marsruut eemaldatakse järgmisel korral, kui deemon seadistust muudab.

Valige üks omanik ja kirjutage see üles. Kui marsruudid kuuluvad deemonile, hoidke käivituskript tabelist eemal ja laske ühenduse definitsioonil kirjeldada liiklusvalijaid. Kui need kuuluvad võrguhaldurile, lülitage automaatne paigaldamine välja ja nõustuge, et deemon ei paranda puuduvat marsruuti uuesti ühendamisel.

Edastus- ja tulemüürireeglid on sellest eraldi otsus, sest teiste hostide liiklust läbi laskval lüüsil on vaja mõlemat. Marsruudipõhine IPsec teeb selle liikluse tavaliste marsruutimisvahenditega hõlpsasti väljendatavaks; see ei tee poliitikakihti valikuliseks.

Seotud artiklid