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 аларды жүктөөлөрдүн ортосунда сактайт. Ошол эле эреже кардар тараптагы брандмауэр өзгөчөлүгүнө да тиешелүү, ал кийинки кайра жүктөөдөн кийин жоголот.
Сервер тараптагы эрежелер кызмат иштөөдө жүктөгөн конфигурация файлына таандык, сиз жапканда бүткөн интерактивдүү сессияга эмес. Эрежени жазыңыз, кайра жүктөңүз жана санагыч жылганын ырастаңыз, анткени синтаксисти четке каккан кайра жүктөө эски эрежелер жыйындысын унчукпай ордунда калтырат.
Андан кийин баштапкы колдонмо сурамын башынан аягына чейин кайталаңыз жана кайсы катмар өзгөргөнүн жазыңыз. Чыпка өзгөртүүсү да керек болгон маршрут оңдоосу баары бир ийгиликсиз болот, ал эми биринчиси жоголгонун билгенден кийин экинчи ийгиликсиздикти окуу алда канча жеңил. Жыйынтыктын жанына күн жана кардар версиясын жазыңыз, анткени маршруттоо менен чыпкалоонун демейки маанилери чыгарылыштар ортосунда өзгөрөт. Ошол жазууну билетте сактаңыз, кийинки адам эки этаптуу жүрүштү кайталабай, сиз токтогон жерден баштасын.