Нэг OpenVPN сервер дээрх хоёр клиент өөрсдийн пулын хувьд DROP дүрэм нэмсний дараа ч бие биедээ хүрч чадна. Дүрэм FORWARD гинжид сууж байна, трафик тодорхой урсаж байна, гэтэл тэр дүрмийн тоолуур тэг дээрээ үлддэг. Байгалийн дүгнэлт нь галт хана эвдэрсэн гэсэн үг. Ихэнхдээ пакет гинжид огт ороогүй байдаг.

OpenVPN серверээр дамжин нэг пакет хоёр замаар явж болох бөгөөд тэдгээрийг галт хана биш, тохиргоо тодорхойлдог. Аль зам ашиглагдаж байгааг мэдэх нь хостын дүрэм зөв газартаа байгаа эсэхийг хэлнэ.

Пакет явж болох хоёр зам

Дотоод дамжуулалтын сонголт унтарсан үед A клиентээс ирсэн пакет B клиентэд олгосон хаягийн доторх очих газартайгаар туннелийн интерфейс дээр ирдэг. Серверийн чиглүүлэлтийн хүснэгт түүнийг мөн тэр туннелийн интерфейсээр буцааж илгээдэг, учир нь B-ийн хаяг руу чиглэсэн зам серверт хамаардаг. Энэ бол хостоор дамжин орох-гарах урсгал бөгөөд IPv4 дамжуулалтын зам түүнийг үнэлдэг.

Дотоод дамжуулалтын сонголт асаалттай үед серверийн процесс пакетыг холбогдсон клиенттэй тааруулж, шууд тэр клиент рүү буцааж бичдэг. Пакет демоны дотор боловсруулагддаг бөгөөд туннелийн төхөөрөмж рүү дахин хэзээ ч орохгүй, тиймээс хостын дамжуулалтын зам бүрэн алгасагдана. OpenVPN 2.6 гарын авлага энэ сонголтыг клиентээс клиент рүүх дотоод дамжуулалт гэж тодорхойлдог бөгөөд хостын галт хананы дүрэм түүнийг харж чадахгүй байх шалтгаан яг энэ юм.

Өгөгдлийн сувгийг цөмийн модуль руу шилжүүлдэг байршуулалтад гурав дахь хувилбар байдаг. Дамжуулалтын шийдвэр болон шифрлэлт хэрэглэгчийн орон зайгаас гардаг бөгөөд netfilter урсгалыг харж байгаа эсэх нь шилжүүлэх зам хэрхэн бүтсэнээс хамаарна. Хуучин дүрмийн багц шилжүүлсэн сервер дээр хэрэглэгчийн орон зайн сервер дээрхтэй адил ажиллана гэж хэзээ ч битгий таамаглаарай. Горимыг багцын хувилбараас биш, ажиллаж буй тохиргооноос баталгаажуулаарай.

Тоолуур хэзээ ч хөдлөхгүй үед

Тэг тоолуур нь пакет тэр цэгт тэр дүрэмд тохироогүй гэсэн үг бөгөөд шалтгаан хэд хэдэн байна. Эхнийх нь дээрх тойрч гарах явдал: трафик гинжид хүрээгүй. Хоёр дахь нь интерфейс, чиглэл, эх сурвалж эсвэл очих газрын зөрүү бөгөөд пул дахин дугаарлагдсан ч дүрэм хуучин префиксийг нэрлэсэн хэвээр байх үед түгээмэл тохиолддог.

Гурав дахь нь байрлал юм. Гинжийн өмнөх дүрэм таны DROP үнэлэгдэхээс өмнө урсгалыг хүлээж авч болох бөгөөд дараах дүрэм үр дүнг үнэхээр шийддэг дүрэм байж болно. Гинжийг тоолуурууд харагдахаар дарааллаар нь уншаад, туршилтыг давтах үед аль дүрмийн тоо өсөж байгааг шалгаарай.

Бодит хаягийг санаж байгаа түрээсээс биш, серверийн өөрийнх нь төлөвөөс баталгаажуулсан хоёр клиентийн хооронд нэг хяналттай солилцоо хийгээрэй. Холбогдох тоолуур хөдлөхгүй байвал тохирлыг дахин бичихээс өмнө замаас сэрэмжлээрэй. Хөдөлж байгаа ч холболт амжилттай хэвээр байвал drop нь дараа нь дарж бичигдэж байгаа бөгөөд асуудал дараалалд байна. Энэ хариулт засвар нь дүрмийн өөрчлөлт үү, топологийн өөрчлөлт үү гэдгийг шийддэг тул ямар нэг зүйлийг засахаас өмнө үүнийг олж аваарай.

Шүүж чадах хил хязгаарыг сонгох

Хэрэв бодлого хостын галт хананд байх ёстой бол трафикийг галт хана харж чадах газарт тавь. Дотоод дамжуулалтыг унтраах нь хосуудын трафикийг туннелийн интерфейс болон дамжуулалтын замаар дамжуулах дэмжигдсэн арга бөгөөд үнэ нь хос бүрийн пакет хостын стекаар дамжина.

Дараа нь урсгалыг нарийн тааруулаарай. Трафик хоёр чиглэлд туннелийн интерфейс дээр ирж, туннелийн интерфейсээр гардаг тул зөвхөн физик интерфейсийг харгалздаг дүрмүүд тохирохгүй. Хаягт суурилсан дүрэмд одоогийн пул хэрэгтэй бөгөөд буцах чиглэлийг урагшлах чиглэлтэй адил харгалзах ёстой.

Олон байршуулалтад клиент эсвэл бүлгийн түвшинд шүүх нь илүү тохиромжтой, тэнд хэн болох нь мэдэгдэж, бодлого дахин холбогдоход өөрчлөгддөг хаягийг биш хэрэглэгчийг дагадаг. Энэ нь хостын гинжээс өөр механизм бөгөөд хоёрыг тодорхой шалтгаангүйгээр холих ёсгүй.

Хуучин топологийн дүрмийн багцыг шилжилтийн үеэр өөрчлөлтгүй зөөж болохгүй. Хаягийн пулууд, интерфейсийн нэрс болон дамжуулалтын горимууд бүгд дүрэм тохирох эсэхэд нөлөөлдөг бөгөөд өмнө ажиллаж байсан хуулбар дүрэм бол хамгийн төөрөгдүүлдэг нотолгоо юм. Зөвшөөрөхийг хүсч буй урсгалаас эхэлж, түүнд тохирох дүрмийг бичээрэй.

Дүрэмд итгэхийн оронд тусгаарлалтыг шалгах

Хориглосон тохиолдол болон зөвшөөрөгдсөн тохиолдлыг нэг гүйлтэд шалгаарай. Нэг клиентээс нөгөө рүү шинэ холболт эхлүүлж, тэр бүтэлгүйтэхийг баталгаажуулаад, дараа нь зөвшөөрөгдөх ёстой холболт одоо ч ажиллаж байгааг баталгаажуулаарай. Зөвхөн эхнийхийг шалгавал бүгдийг хаадаг галт хана амжилт мэт харагдана.

Серверийн тохиргоог дахин ачаалсны дараа болон клиент дахин холбогдсоны дараа давтаарай, учир нь дотоод дамжуулалт болон пулын хуваарилалт нь ажиллагааны үеийн төлөв юм. Тоолуурыг хоёр чиглэлд шалгаарай, учир нь нэг чиглэлд тохирч хариултад тохирохгүй дүрэм хурдан туршилтад анзаарахад хэцүү хэсэгчилсэн тусгаарлалт үүсгэдэг.

Тусгаарлалт бол урсгалыг үнэхээр зөөдөг хил дээр ажиглагдсан үр дүн юм. Хостын хаа нэгтээ байгаа DROP дүрэм нотолгоо биш; бүтэлгүйтсэн холболт болон түүнийг үүсгэсэн дүрмийн хөдөлсөн тоолуур нь нотолгоо юм.

Холбоотой нийтлэлүүд