Абал чыгарылышында CHILD SA көрүнбөйт, туннель өлүк көрүнөт, анан алыскы ички тармакка ping аны көтөрөт. Сурам боюнча IPsec жөндөөсүндө бул ырааттуулук — долбоор, бузуктук эмес. trap саясаты селекторду орнотуп күтөт, жана ага дал келген биринчи пакет IKE жана CHILD SA сүйлөшүүсүн баштайт.

Түшүнбөстүктүн бир бөлүгү — сөздүк: «up» эки башка абал үчүн колдонулат. Конфигурация жүктөлдү жана ядро саясаты бар, ал эми маалымат ассоциациясы жок. Тек активдүү SA-ларды санаган монитор ден соолугу жакшы сайтты эч ким ага трафик жибермейинче өчүк деп кабарлайт.

Активдүү эмес сурам боюнча туннелде көрсөтүүчү CHILD SA жок

trap жазуусу өз алдынча эч нерсени аутентификациялабайт. Ал ядродон тандалган трафик үчүн саясатты кармоону жана пакетке ошол саясат керек болгондо acquisition көтөрүүнү суранат. Демон acquisition-ды алып, аны child аныктамасына дал келтирет жана ошол жерден сүйлөшүү жүргүзөт. Ошол учурга чейин көрсөтүүчү IKE SA да жок, ошондуктан эки тизме бир убакта бош болушу мүмкүн.

Ушул ырааттуулук логдорду окулуктуу кылат. Адегенде acquisition келет, анан IKE_SA_INIT жана IKE_AUTH, анан CHILD SA. Эгер лог acquisition-дан кийин дароо бүтсө, триггер иштеди. Сүйлөшүү ийгиликсиз болду, ал эми кийинки суроо trap жөнүндө эмес, каттоо маалыматтары, сунуштар же жеткиликтүүлүк жөнүндө.

Linux ядросунун backend-и менен каалаган SA пайда боло электе эле саясатты көрө аласыз. Муну иштетиңиз: ip xfrm policy жана багыты out, туташууга көрсөткөн калыбы бар селекторду издеңиз. Ошол жазуу — сурам боюнча абал, жана анын бардыгы биринчи тастыктала турган нерсе.

start_action бир нерсе күтөбү же жокпу — аны чечет

Ар бир child swanctl.conf файлында start_action. start конфигурация жүктөлгөндө башталат, trap саясатты орнотуп күтөт, ал эми none баштоону башка нерсеге калтырат. Тек trap гана жогоруда сүрөттөлгөн «ping — жана ал көтөрүлөт» жүрүм-турумун жаратат.

children {
    office-lan {
        local_ts = 192.168.50.0/24
        remote_ts = 192.168.70.0/24
        start_action = trap
    }
}

Эки трафик селектору эмнени кызыктуу деп эсептөөнү аныктайт, жана ошол префикстерден тышкаркы хосттон келген пакет trap-ты иштетпейт; ал кадимкидей маршрутталат. Триггерди андан ары кызыктыруу үчүн селекторлорду кеңейтүү туннель коргойм деп билдирген камтууну да кеңейтет, ошондуктан аларды чындап шифрлоону көздөгөн трафиктен алгыла.

Бул жерде swanctl.conf маалымдамасы кабыл алынган маанилерди, ошондой эле SA пайда болгондон кийин эмне болорун жөнгө салган өзүнчө close жана DPD аракеттерин тизмелейт.

Триггер такыр иштедиби, аны аныктаңыз

Муну менен баштаңыз: swanctl --list-conns жана child көздөгөн аракетиңиз менен жүктөлгөнүн тастыктаңыз. Анан local_ts ичиндеги хосттон remote_ts ичиндеги дарекке бир пакет жиберип, swanctl --list-sas байкаңыз. Эгер чыгарылыш өзгөрбөсө, демонго эч бир acquisition жеткен жок.

Үнсүз trap-тын эки кадимки себеби: пакет саясатка жетээрден мурун source-NAT болуп, эми local_ts-га дал келбейт, же туташуу синтаксистик же каттоо маалыматтарынын катасынан жүктөлгөн эмес. Селекторлорго тийүүдөн мурун swanctl --load-all-ды кайра иштетип, чыгарылышын окуңуз. Жүктөлбөгөн туташуу эч кандай саясат орнотпойт, ошондуктан трафиктин иштете турган эч нерсеси жок.

Багыт да маанилүү: чыгуучу трафик үчүн орнотулган trap кирүүчү пакетте башталбайт. Эгер алыскы тарап туннелди көтөрүшү керек болсо, ага өз trap-ы керек, же бул тарапка start.

Биринчи пакетти күтүү ар дайым туура алмашуу эмес

Интерактивдүү сессиялар жөндөө наркын сезишет. Биринчи сурам IKE алмашуусу менен CHILD сүйлөшүүсүнүн наркын төлөйт, жана кыска мөөнөттүү кардар SA пайда боло электе баш тартышы мүмкүн. Проактивдүү start ошол биринчи пакеттин кечигүүсүн жоёд. Бирок эч качан келбеши мүмкүн болгон трафик үчүн туннелди көтөрүп турат.

Үч факт тандоону чечет: жол канчалык тез-тез колдонулат, биринчи сурамдын мөөнөтү канчалык тар, жана жүктөө учурунда өнөктөш жеткиликтүүбү. Кокустан топтомдолгон трафик жана жүктөө учурунда офлайн болушу мүмкүн өнөктөш — экөө тең trap-ды колдойт. Кечигүүгө сезимтал кардар жана ар дайым жеткиликтүү өнөктөш start-ды колдойт. Эки тарап тең баштай алса, кош сүйлөшүү болбошу үчүн триггер кимдики экенин макулдашкыла.

Орнотулган саясат да агымдан коргой турган кепилдик эмес. Эгер талап fail-closed болсо, firewall SA жок трафикти таштоого тийиш, жана бул эреже child аныктамасынан тышкары жашайт.

Кийинки талашты бүтүрө турган үч сапты жазып алыңыз

Селекторлорду, баштоо аракетин жана саясаттын SA жок бар экенин көрсөткөн буйруктун чыгарылышын жазыңыз. Ошол үч сап кийинки жолу бирөө туннелди өчүк деп кабарлаганда «сурам боюнча жана активдүү эмес» абалын «жүктөлбөйт» абалынан ажыратат. Аларды жазуу бир мүнөт алат. Аларсыз ошол эле иликтөө нөлдөн башталат.

Чынында селектордун ичиндеги хосттон сынаңыз. Роутердин өзүнөн жасалган ping көбүнчө башка жол менен жүрөт жана анын артындагы ички тармакты коргогон саясат жөнүндө эч нерсени далилдебейт.

Тектеш макалалар