XFRM numatytasis maršrutas prarijo IKE ir ESP: išsaugokite išorinį kelią
Viską apsauganti politika gali sugauti ir paketus, kurie palaiko tunelį. Pažymėkite IKE ir ESP arba palikite maršrutą į partnerį.
Srautas apsaugotas, tunelis veikia, o tada jis miršta per kitą raktų atnaujinimą. Numatytasis maršrutas per XFRM sąsają aprašė srautą, kurį norėjote apsaugoti. Jis taip pat prarijo paketus, kurių reikia apsaugai tęsti.
Du susiję tikslai nėra keičiami. Maršrutizavimas turi tai pasakyti aiškiai.
Kur iš tikrųjų patenka partnerio paieška
Užsirašykite aktyvias taisykles, lentelę su XFRM maršrutu ir viešąjį partnerio adresą. Tada pažiūrėkite, kokį kelią pasirinktų išorinis ryšys su tikruoju šaltiniu ir žyma. Bendras tikslas nieko nesako apie tą valdymo kelią. Tik tikrasis šaltinis ir žyma duoda naudingą atsakymą.
Sėkmingas pradinis ryšys taip pat mažai ką įrodo. Gedimas dažnai pasirodo po to, kai maršruto įdiegimas pakeičia atsakymą. Paleidimas pavyksta, o pirmas atnaujinimas – ne.
ip rule show
ip route show table 220
ip -4 route get 198.51.100.44 from 10.40.0.2
ip xfrm policy list
Jei partnerio paieška patenka į XFRM sąsają, išoriniai paketai nukreipiami į tunelį, kurį jie patys stato. Tai ir yra kilpa, matoma viena komanda.
Išskyrimo parinktys šiuolaikiniame tinklelyje
strongSwan maršrutu pagrįsto VPN dokumentacija pateikia du praktinius atsakymus. Vienas pažymi IKE ir ESP, kad į XFRM lentelę nukreipta taisyklė jų neatitiktų. Kitas palieka partnerio maršrutą arba išskyrimą, kurį paieška dar gali pasiekti.
Pasirinkite tą, kurią jūsų taisyklių rinkinys gali išreikšti be šalutinių poveikių. Žyma yra švari, kai likusi dalis jau naudoja žymas. Ji pavojinga, kai ta pati kaukė kitoje taisyklėje reiškia ką kita. Abiejų tipų paketams vis tiek reikia šio apdorojimo.
Pažymėjus tik IKE, duomenų paketai lieka sugautame kelyje. Taip gaunamas tunelis, kuris atlieka rankos paspaudimą ir tada nieko neveža.
Žyma yra vienas bitas paketo fwmark lauke, į kurį tinklelyje niekas kitas nepretenduoja: 0x1 su kauke 0x1 yra įprastas pasirinkimas, ir jį reikia nustatyti dviejose vietose, kad išskyrimas veiktų. Charon jo reikia IKE lizde, o antrinio ryšio įeinančios ir išeinančios žymos nustatymams reikia tos pačios reikšmės, kad ir inkapsuliuoti paketai išeitų pažymėti. 0x1 kaukė vietoj 0xffffffff palieka likusius bitus laisvus, o tai svarbu, kai kita posistemė tame pačiame hoste jau žymi paketus. Kai nustatyti abu, taisyklė rašoma kaip išskyrimas, todėl pažymėti paketai praleidžia lentelę su XFRM maršrutu ir patenka į pagrindinę lentelę:
ip rule add not fwmark 0x1/0x1 lookup 220 pref 1000
ip -4 route get 198.51.100.44 from 10.40.0.2 mark 0x1
Tada perskaitykite atsakymą pritaikę žymą. Be jos nagrinėjate kelią, kuriuo eina apsaugotas srautas, o tai yra priešingybė šio skyriaus klausimui.
Ką automatinis įdiegimas daro prielaidą apie surinkimą
Automatinis maršruto įdiegimas XFRM sąsajai priklauso nuo strongSwan versijos ir jos konfigūracijos. Sąsajos ID, įdiegta politika ir asociacija turi nurodyti numatytus objektus. Neatitikimas pasirodo kaip maršrutas, kuris tyliai nurodo į kažką realaus.
Lentelės numerio ar žymos kaukės kopijavimas iš kito tinklelio – taip prasideda susidūrimai. Pirmiausia patikrinkite, kas ją jau naudoja. Susidūrimas veikia srautą daug toliau už tunelį, kurį norėjote pakeisti, o simptomas retai nurodo kopiją.
Partnerio adreso pokyčiai priklauso dizainui. Hostio maršrutas vakar dienos adresui nėra galinio taško atkūrimo planas, o žyma tą pokytį išgyvena.
Stebėkite pirmąjį atnaujinimą
Patikrinkite išorinį kelią po to, kai apsaugoti maršrutai įdiegti, o ne prieš tai. Tada stebėkite kitą atnaujinimą ir vieną programos apsikeitimą. Gedimas paprastai pasirodo per tą perėjimą, o ne paleidžiant.
ip -4 route get 198.51.100.44
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or esp'
Laikinai pašalinus apsaugotą numatytąjį maršrutą, ryšys paprastai atsistato. Tas rezultatas yra diagnostinis, ne galutinis.
Tikslas – stabilus atskyrimas tarp vidinio srauto ir jį nešančių išorinių paketų. Įrašykite pasirinktą mechanizmą ir jo lentelę ar žymą į tinklelio pastabas. Priešingu atveju kitas žmogus, liesiantis taisykles, vėl įves kilpą.