VPN маршруты ма, әлде брандмауэр ережесі ме: пакетті қайсысы тастап жатыр?
Маршрут жолды таңдайды, ал сүзгі рұқсатты шешеді. Брандмауэр ережесін кеңейтпес бұрын бірдей бастау көзі, тағайындау және бағыт үшін екеуін де тексеріңіз.
Бір пакетке екі тәуелсіз шешім қабылданады және олардың кез келгені сұранысты үнсіз аяқтай алады. Маршрут іздеуі интерфейс пен келесі секірісті таңдайды, содан кейін пакет сүзгісі бұл тіркесімге рұқсат етілгенін шешеді. Уақыт бітуі сізге екеуінің бірі бас тартқанын, қайсысы екенін емес айтады. Кезеңдерді ретімен өткізіңіз, сонда жөндеу әдетте болжам болудан қалады.
Екі шешім, бір пакет, екі ие
Маршрут іздеуі алдымен саясат ережелерінен кеңес алады, содан кейін олар сілтейтін кестеден, және тағайындауға сәйкес келетін ең нақты префиксті таңдайды. Туннель маршрутын орнатқан клиент сол шешімнің иесі және брандмауэр ережесіндегі ештеңе оны алмастыра алмайды. Іздеу күтпеген жерге сілтесе, әр келесі кезең қате пакетпен жұмыс істейді.
Сүзу бөлек. Linux хостында netfilter ілгектері трафикті пакеттің кімге арналғанына қарай бөледі: шығыс машинадан шығады, кіріс онда аяқталады, жіберу ол арқылы өтеді. VPN клиенттерін қабылдап, оларды LAN-ға маршруттайтын шлюзге жіберу жолы қажет, және бұл көптеген әдепкі конфигурациялар бос қалдыратын дәл сол тізбек.
Бастау көзін таңдау сол шешімге жатады, және сәйкессіздіктердің көбі осында жасырылады. Ядро маршрут біреуін атамаса, шығыс интерфейсінен бастау көзі мекенжайын таңдайды, сондықтан LAN ішкі желісіне арналған сүзгі ережесі туннель мекенжайымен шығатын пакетке ешқашан сәйкес келмейді.
Іздеу шын мәнінде нені таңдағанын оқыңыз
Шешімді болжаудың орнына басып шығарыңыз. Төмендегі команда ядро сол тағайындау үшін қолданатын маршрутты, оның ішінде интерфейс пен таңдайтын бастау көзін шешеді:
ip route get 10.8.0.5 ip route get 10.8.0.5 from 192.0.2.44 ip rule show ip route show table all | sed -n '1,40p'
VPN клиенттері саясат ережелерін жиі негізгі кестеден төмен басымдықтарға орнатады, сондықтан таза негізгі кесте өздігінен ештеңені дәлелдемейді. Ережелердің басымдықтарын олар таңдайтын кестелермен салыстырыңыз және туннель маршрутының бір рет қолмен қосылудың орнына қайта қосылудан кейін сақталатынын тексеріңіз.
Саясатқа негізделген IPsec маршруттау қамтымайтын үшінші сәйкестендіру кезеңін қосады, мұны strongSwan-ның жіберу жазбалары туннельдік және тасымалдау конфигурациялары үшін сипаттайды. Қауіпсіздік саясаты трафикті префикс пен протокол бойынша таңдайды, ал маршрут қорғалмаған пакеттің қайда кететінін ғана шешеді. Маршрутталған, бірақ сәйкес селекторы жоқ ішкі желі не қорғалмай қалады, не конфигурацияға байланысты тасталады, және екі нәтиженің ешқайсысы брандмауэр мәселесіне ұқсамайды. Саясатты басып шығарыңыз және оның селекторларын туннель тасымалдайды деп күткен префикстермен салыстырыңыз.
Сүзу маршрутта емес, ілгекте қолданылады
VPN тыңдаушысына рұқсат беретін ереже шлюздің өзіне бағытталған трафик туралы ереже. Ол сол шлюздің артындағы хосттарға жететін клиенттер туралы ештеңе айтпайды, өйткені жіберілетін трафик басқа тізбектен өтеді. Ережелер жиынтығын бір тегіс тізім ретінде оқу — дұрыс көрінетін ереженің ешқашан іске қосылмауының әдеттегі себебі.
Санауыштар сұрақты тез шешеді. Пакет саны нөл ережеге ешқашан жетпеген, бұл қате тізбекті, қате интерфейсті немесе бұрынғы тастауды көрсетеді. Тастау саясаты бойынша саны өсіп жатқан ереже — сіз іздеген шекара, және пакет қате маршрутталудың орнына тасталады.
Клиент қолданатын жолмен пробты жіберіңіз
Шлюздің өзінде орындалатын тесттер шлюздің өз бастау көзі мекенжайымен шығыс пен кірістен өтеді. Бұл клиенттің жіберілген сұранысынан басқа жол, сондықтан сәтті жергілікті curl көрінгеннен азды дәлелдейді. Сәтсіз болатын машинадан тексеріңіз немесе интерфейс пен бастау көзін анық бекітіңіз.
nc -vz -w 3 10.8.0.5 443 ping -c 3 -W 1 10.8.0.5 tcpdump -ni any host 10.8.0.5 and port 443 iptables -vnL FORWARD --line-numbers nft list ruleset | sed -n '1,60p'
Екі шеттегі түсірілім қалған жағдайларды бөледі. Клиенттен шығып, ешқашан жетпейтін SYN маршруттауды, шифрлауды немесе жоғары ағындағы рұқсат тізімін білдіреді. Жетіп, жауап алмайтын SYN қызметті немесе оның хост сүзгісін білдіреді, ал туннель ешқашан мәселе болмаған.
Қайтару трафигі өзінше қарауды қажет етеді. Асимметриялық маршруттау және кері жолды сүзу қате интерфейске келетін жауаптарды тастайды, бұл блокталған порт емес, бір бағытты қосылым ретінде көрінеді. Брандмауэрды ол тудырмаған симптом үшін кінәламас бұрын sysctl мәнін тексеріңіз.
Логтау бірінші қадам емес, екінші пікір ретінде жұмыс істейді. Жіберу тізбегіндегі уақытша лог мәлімдемесі оған тиген интерфейс пен мекенжайларды атайды, және кейін оны алып тастау оңай. Оны тұрақты қалдырсаңыз, жауаптың орнына лог көлемінің мәселесін құрдыңыз.
Әр өзгерісті қайта қосылудан кейін сақталатын жерге қойыңыз
ip route add арқылы қосылған маршрут интерфейс төмендегенге дейін өмір сүреді. Оны қосылым профилінде сақтаңыз: NetworkManager қосылымда қосымша маршруттарды қабылдайды, ал netplan оларды жүктеулер арасында сақтайды. Дәл сол ереже клиент жағындағы брандмауэр ерекшелігіне де қатысты, ол келесі қайта жүктеуден кейін жоғалады.
Сервер жағындағы ережелер қызмет іске қосылғанда жүктейтін конфигурация файлына жатады, сіз жабқанда аяқталатын интерактивті сессияға емес. Ережені жазыңыз, қайта жүктеңіз және санауыштың жылжығанын растаңыз, өйткені синтаксисті қабылдамаған қайта жүктеу ескі ережелер жиынтығын үнсіз орнында қалдырады.
Содан кейін бастапқы қолданба сұранысын басынан аяғына дейін қайталаңыз және қай қабат өзгергенін жазыңыз. Сүзгі өзгерісін де қажет еткен маршрут түзетуі бәрібір сәтсіз болады, ал біріншісі жоғалғанын білгеннен кейін екінші сәтсіздікті оқу әлдеқайда жеңіл. Нәтиженің қасына күн мен клиент нұсқасын жазыңыз, өйткені маршруттау мен сүзудің әдепкі мәндері шығарылымдар арасында өзгереді. Сол жазбаны билетте сақтаңыз, келесі адам екі кезеңді жүрісті қайталамай, сіз тоқтаған жерден бастасын.