Эмне үчүн OpenVPN кардарын блоктоочу эреже FORWARD-го эч качан түшпөйт
Кардардан кардарга трафик OpenVPN процессинин ичинде калып, хосттун FORWARD тизмегинен эч качан өтпөшү мүмкүн, ошондуктан нөл эсептегич эч нерсени далилдебейт.
Бир OpenVPN сервериндеги эки кардар өз пулу үчүн DROP эрежесин коштон кийин да бири-бирине жете алат. Эреже FORWARD тизмегинде турат, трафик ачык агып жатат, ал эми ошол эреженин эсептегичи нөлдө калат. Табигый жыйынтык — брандмауэр бузулган. Көбүнчө пакет тизмекке такыр кирген эмес.
OpenVPN сервери аркылуу пакет эки жол менен өтүшү мүмкүн жана аларды брандмауэр эмес, конфигурация аныктайт. Кайсы жол колдонулуп жатканын билүү хост эрежеси туура жердеби же жокпу айтат.
Пакет өтүшү мүмкүн болгон эки жол
Ички өткөрүү опциясы өчүк болгондо, A кардарынан келген пакет туннелдин интерфейсине B кардарына берилген даректин ичиндеги багыт менен келет. Сервердин маршруттоо таблицасы аны ошол эле туннелдин интерфейси аркылуу кайра жөнөтөт, анткени B дарегине маршрут серверге таандык. Бул хост аркылуу кирип-чыккан агым жана аны IPv4 өткөрүү жолу баалайт.
Ички өткөрүү опциясы күйгүзүлгөндө, сервер процесси пакетти туташкан кардарга дал келтирип, аны түз ошол кардарга кайра жазат. Пакет демондун ичинде иштетилет жана туннелдин түзмөгүнө эч качан кайра кирбейт, ошондуктан хосттун өткөрүү жолу толугу менен өткөрүлүп кетет. OpenVPN 2.6 колдонмосу бул опцияны ички кардардан кардарга өткөрүү деп сүрөттөйт жана хост брандмауэринин эрежеси аны көрө албашынын себеби дал ушунда.
Маалымат каналын ядро модулуна өткөргөн орнотууларда үчүнчү вариант бар. Өткөрүү чечими жана шифрлөө колдонуучу мейкиндигинен чыгат, ал эми netfilter агымды көрөбү же жокпу өткөрүү жолунун кандай курулганына байланыштуу. Эски эрежелер жыйындысы өткөрүлгөн серверде колдонуучу мейкиндигиндегидей аракет кылат деп эч качан ойлобоңуз. Режимди пакеттин версиясынан эмес, иштеп жаткан конфигурациядан ырастаңыз.
Эсептегич эч качан кыймылдабаганда
Нөл эсептегич пакет ошол чекитте бул эрежеге дал келбегенин билдирет жана себептери бир нече. Биринчиси — жогорудагы айланып өтүү: трафик тизмекке жеткен эмес. Экинчиси — интерфейс, багыт, булак же багыттоо дарегиндеги дал келбөөчүлүк, бул пул кайра номерленгенде жана эреже дагы эле эски префиксти атаганда көп кездешет.
Үчүнчүсү — орду. Тизмектеги мурунку эреже сиздин DROP бааланганга чейин агымды кабыл алышы мүмкүн, ал эми кийинки эреже натыйжаны чындыгында чечкен эреже болушу мүмкүн. Тизмекти эсептегичтер көрүнүп турган абалда ирети менен окуңуз, анан сыноону кайталаганда кайсы эреженин саны өсөрүн текшериңиз.
Чыныгы даректерин сервердин өз абалынан ырастаган эки кардардын ортосунда бир көзөмөлдөнгөн алмашуу жүргүзүңүз, эсиңизде калган ижарадан эмес. Тиешелүү эсептегич дагы эле кыймылдабаса, дал келүүнү кайра жазганга чейин жолдон шектенңиз. Ал кыймылдаса да байланыш дагы эле ийгиликтүү болсо, drop кийинчерээк басылып жатат жана маселе иретинде. Бул жооп оңдоо эреже өзгөртүүбү же топология өзгөртүүбү экенин чечет, ошондуктан бир нерсени оңдоодон мурун аны алыңыз.
Чыпкалай алган чекти тандоо
Эгер саясат хост брандмауэринде жашоого тийиш болсо, трафикти брандмауэр көрө алган жерге коюңуз. Ички өткөрүүнү өчүрүү — теңтуш трафигинин туннелдин интерфейси жана өткөрүү жолу аркылуу өтүшүнүн колдоого алынган жолу, бирок анын наркы ар бир теңтуш пакетинин хост стеги аркылуу өтүшү.
Андан кийин агымды так дал келтириңиз. Трафик эки багытта тең туннелдин интерфейсине келет жана туннелдин интерфейсинен чыгат, ошондуктан физикалык интерфейсти гана эске алган эрежелер дал келбейт. Дарекке негизделген эрежелерге учурдагы пул керек жана алар кайтуу багытын да, алдыга багытын да эске алышы керек.
Көптөгөн орнотууларга кардар же топ деңгээлинде чыпкалоо жакшыраак кызмат кылат, анда инсан белгилүү жана саясат кайра туташууда өзгөргөн даректи эмес, колдонуучуну ээрчийт. Бул хост тизмегинен башка механизм жана экөөнү ачык себепсиз аралаштырууга болбойт.
Эски топологиянын эрежелер жыйындысын көчүрүү учурунда өзгөртүүсүз алып өтпөңүз. Дарек пулдары, интерфейс аттары жана өткөрүү режимдери эреженин дал келишине таасир этет, ал эми мурун иштеген көчүрүлгөн эреже — эң адаштырган далил түрү. Уруксат берүүнү каалаган агымдан баштап, ага дал келген эрежени жазыңыз.
Эрежеге ишенүүнүн ордуна обочолонууну текшерүү
Тыюу салынган учурду жана уруксат берилген учурду бир эле иштетүүдө текшериңиз. Бир кардардан экинчисине жаңы байланыш баштап, анын ийгиликсиз болорун ырастаңыз, анан уруксат берилиши керек болгон байланыш дагы эле иштешин ырастаңыз. Бир гана биринчиси текшерилсе, баарын тоскон брандмауэр ийгиликтей көрүнөт.
Сервердин конфигурациясын кайра жүктөгөндөн кийин жана кардар кайра туташкандан кийин кайталаңыз, анткени ички өткөрүү жана пулдарды бөлүштүрүү — аткаруу учурундагы абал. Эсептегичтерди эки багытта текшериңиз, анткени бир багытка дал келип, жоопко дал келбеген эреже тез сыноодо байкоо кыйын болгон жарым-жартылай обочолонуу жаратат.
Обочолонуу — агымды чындыгында ташыган чекте байкалган натыйжа. Хосттун бир жериндеги DROP эрежеси далил эмес; ийгиликсиз байланыш жана аны пайда кылган эреженин жылган эсептегичи далил.