Туннельді көтердіңіз, кілт жаңарту таймері кері санап жатыр, ал екі бағыт та әлі нөл пакет көрсетеді. Бұл екі сан серіктесіңіз туннельді қабылдамады дегенді білдірмейді: санағыштары бос орнатылған CHILD SA — әлі ештеңе сәйкес келмеген бірлестіктің қалыпты күйі. Міндет — пакет сәйкес келуі керек екенін дәлелдеу, содан кейін оның селекторлар сипаттайтын жолдан шыққан нүктесін табу. Мұны бір рет, ретімен жасаңыз және орындаулар арасында сұранысты бірдей ұстаңыз.

Нөл санағыш шын мәнінде нені дәлелдейді

CHILD SA — селекторлар жұбы және осы ауқымдарға түсетін трафикті шифрлайтын кілттер мен SPI. Оны орнату екі тараптың осы ауқымдар мен туынды кілттер туралы келіскенін ғана білдіреді; ядро оны бір пакет келмей-ақ сағаттар бойы ұстайды. Сондықтан сұрақ ешқашан туннельдің бар-жоғында емес, сынағыңыздың қандай да бір пакеті екі тарап келіскен ауқымдарға түсті ме — соныда. Түспесе, санағыштар нөлде қалады және бірлестік өмірінің соңында пайдаланылмай бітеді.

Бұл айырмашылық ең алдымен нені тексеретініңізді өзгертеді. Қабылданбаған ұсыныс, аутентификация сәтсіздігі немесе өліп бара жатқан IKE SA журналда немесе SA тізімінде көрінеді, тыныш нөл ретінде емес. Таза келісіп, содан кейін бос тұрған туннель керісінше сәйкестікке, маршруттауға немесе сынақ трафигінің шығу көзіне нұсқайды.

Жібермес бұрын сипаттай алатын ағынды жіберіңіз

Қорғалған қосалқы желі ішінен мақсат таңдап, оған жаңа қосылым ашыңыз; бір сағат бұрын жүктелген бет кэштен берілуі мүмкін, ал кэштелген жауап туннельге ешқашан тимейді. Содан кейін сұраныс әлі гипотетикалық кезде төрт мәнді жазыңыз: қолданба байлайтын бастау адресі, мақсат, адрес тобы және бақылап отырған баланың атауы немесе селекторлар жұбы. Сол жазба тегіс санағышты тексерілетін тұжырымға айналдырады.

Бастау адресі — адамдар өткізіп жіберетін мән, және сынақты жиі бұзатын да сол. Сымды адресі, Wi-Fi адресі және туннель адресі бар ноутбук маршрут іздеуіне қарай солардың кез келгенін байлай алады, ал келісілген ауқымда тек біреуі болуы мүмкін. Бастауды бекітуге мүмкіндік беретін құралды пайдаланыңыз, мысалы ping -I 10.1.0.5 10.2.0.9 немесе curl --interface 10.1.0.5, пакет үнсіз басқа адресті таңдай алмас үшін. Бекітілген орындау санағыштарды жылжытып, бекітілмегені жылжытпаса, сіз IPsec емес, маршруттау мәселесін таптыңыз.

Қай сандарды оқу керек және олар қайда тұрады

Linux-та ip -s xfrm state әр бірлестікті байт пен пакет жиынтығы тек сол SA-ға тиесілі lifetime current: жолымен шығарады, одан кейін қайталау және қате санағыштарына арналған stats: жолы келеді. strongSwan серіктесінде swanctl --list-sas әр орнатылған бала үшін бір in жолын және бір out жолын көрсетеді, әрқайсысы байт санымен және пакет санымен аяқталады; ескі stroke құралдары сол жұпты bytes_i және bytes_o деп атайды. Екі бағытты бөлек оқыңыз, өйткені тегіс қалған бағыт — табылған дүние. Оларды қосу дәл іздеп отырған асимметрияны жасырады.

Екі көрініс те бірлестік бойынша, сондықтан кілт жаңарту жаңа SPI жұбын орнатады және ештеңе бұзылмай-ақ базалық сызығыңыз нөлге оралады. Бақылап отырған SPI-ді жаңарту таймері іске қосылмай тұрып жазып қойыңыз, әйтпесе жаңа SA-ны ескі санмен салыстырасыз. Сыртқа шығатын өсіп, кіретін тегіс қалса, селектор сәйкес келді және жауап ешқашан қайтпады, бұл зерттеуді серіктестің жіберуіне және оның өз саясатына ауыстырады. strongSwan-ның IKEv2 конфигурация құжаттамасы бала SA өмірлік циклін және осы сандардың артындағы жаңарту уақытын қамтиды.

Бақылау нүктесі — пакеттің шығу көзінен бөлек айнымалы. Аппараттық жүктеме бірлестік санағыштарын арттыруы мүмкін, ал интерфейстегі бағдарламалық ұстау ештеңе көрсетпейді, өйткені жүктелген пакеттер ұстау отырған ілгектен өтіп кетеді, ал кіретін бағыт та осылай ауытқуы мүмкін. Екеуі келіспесе, санағыштармен бірдеңе сәйкес келді ме деп, ал ұстаумен пакет қандай болғанын жауап беріңіз.

Маршрут, селекторлар және пакет қайда дүниеге келді

Үш нәрсені қатар қойып салыстырыңыз: ядро мақсатыңыз үшін таңдайтын маршрут, трафикті туннельге бағыттайтын саясат және бала келіскен селекторлар жұбы. ip route get 10.2.0.9 from 10.1.0.5 ядро қолданатын интерфейс пен бастауды атайды, және бұл көбіне сіз болжаған жұп емес. ip xfrm policy жергілікті орнатылған үлгілер мен селекторларды көрсетеді, ал swanctl --list-sas серіктестің немен келіскенін көрсетеді. Пакетті физикалық интерфейстен шығаратын іздеу саясатқа мүлде жетпейді, сондықтан санағыштар қозғала алмайды.

Сәйкессіздіктер санағыштан бірдей көрінетін бірнеше түрде келеді. IPv4 селекторынан тыс IPv6 мақсаты, дұрыс емес қосалқы желіден бастау адресі және баладан тар саясат — барлығы бірдей нөл береді. Ең тар себепті бірінші түзетіңіз, өйткені санды жылжыту үшін ғана селекторды кеңейту туннельдің нені қорғайтынын өзгертеді.

Содан кейін пакеттің шығу көзі келеді, бұл шлюздің өз операторына құрған тұзағы. Шлюз өзі жасайтын трафик шығыс саясатымен салыстырылады, ал клиент үшін жіберетін пакет жіберу саясатымен салыстырылады, сондықтан құрылғыдан жасалған ping ешбір клиент жүрмейтін жолда сәтті болуы мүмкін.

Бір қайтарылатын өзгеріс және тексеруден өтетін есеп

Бір элементті өзгертіңіз, дәл сол сұранысты қайталаңыз және сол санағыштарды оқыңыз. Барлық брандмауэр ережелерін тазалау немесе барлық селекторларды бірден ауыстыру санды жылжытады және неге екенін айтқан дәлелді жояды. Екінші орындау әлі нөл көрсетсе, түстен кейінгі уақытты ысырап етудің орнына бір болжамды жоққа шығардыңыз.

Табылғанды басқа біреу қайталай алатын түрде жазыңыз: баланың атауы, қабылданған ауқымдар, бекіткен бастауыңыз, сынаған мақсатыңыз, нөлде қалған бағыт және оқып отырған SPI. Сол сөйлем ешкім пайдаланбаған бірлестікті трафикті алып, одан бас тартқан қашықтағы қолданбадан ажыратады. Өзгеріс санағыштарды жылжытпаса, оны қайтарыңыз және жазбаны сақтаңыз; келесі адам сіз тоқтаған жерден бастайды. Осының бәрі үшін туннельде ештеңені қайта салу қажет болмады, және конфигурацияға қол тигізбес бұрын сәйкестікті тексерудің мәні де осында.

Қатысты мақалалар