Гүүрэн OpenVPN клиентүүд интернетгүй байна уу? NAT дүрмийг шалгаарай
Гүүрэн OpenVPN клиентүүд tap төхөөрөмжөөр гардаг тул физик сүлжээний картыг заасан masquerade дүрэм хэзээ ч таарахгүй, тоолуур тэг дээр зогсоно.
Гүүрэн сервер ажиллаж байна, masquerade дүрэм байгаа, гэтэл клиент дээрх хөтчүүр эргэсээр байна. Бүх зүйл ажиллах ёстой юм шиг харагдана, тиймээс эхний цаг туннель болон нэвтрэх мэдээллийг шалгахад зарцуулагдана. Дараа нь NAT дүрмийн тоолуурыг уншихад хөдөлөөгүй тэг харагдана. Нэг ч пакет тоолоогүй дүрэм нэг ч пакеттай таарч чадаагүй гэсэн үг, гүүрэн сервер дээр шалтгаан нь бүтцийнх: клиентийн урсгал виртуал tap төхөөрөмжөөр гардаг бол дүрэм нь хуучин заавраас хуулсан физик картыг заасан байдаг.
Нотолгоо нь тоолуур, хүснэгтийн бичлэг биш
Байгаа дүрэм ба таардаг дүрэм хоёр өөр зүйл бөгөөд тэдгээрийг ялгадаг нь тоолуур юм. NAT хүснэгтийг дэлгэрэнгүй тоолууртайгаар жагсааж, юу ч өөрчлөхийн өмнө дүрэм бүрийн хажуудах тоог уншаарай. Урсгал урсаж байхад тэг дээр зогссон тоолуур нь тухайн дүрэм алгасагдсаныг илтгэнэ, түүний хаягууд хэчнээн ухаантай харагдавч. Холболт хараахан бүтэлгүйтэж байхад өсөж буй тоолуур таныг өөр тийш чиглүүлнэ: дамжуулалт, буцах зам эсвэл холын үзүүр.
iptables -t nat -L POSTROUTING -v -nЭхлээд интерфэйсийн таарлын хажуудах тоолуурыг уншаарай. Эх үүсвэрийн хүрээ зөв, гарах тал буруу бол засвар нь шинэ дүрэм биш, дүрэм доторх нэг үг юм.
Цөм яг ямар нэр бүртгэдэг болохыг олоорой
Дүрэм бичихийн өмнө туннелийн төхөөрөмжийн нэрийг санах ойгоор биш, интерфэйсийн жагсаалтаар тодорхойлоорой. Гүүрэн OpenVPN тохиргоонд төхөөрөмж нь ихэвчлэн серверийн үүсгэсэн tap интерфэйс бөгөөд түүний нэр нь таны локал тохиргооны хэсэг бөгөөд бүх нийтийн тогтмол биш юм. Туннель ажиллаж байх үед түүний оршин байгааг баталгаажуулаарай, учир нь клиент холбогдсоны дараа л гарч ирдэг төхөөрөмж өмнөх туршилтыг дүрмийн асуудал мэт харагдуулна.
ip -brief linkНэрийг нь бичиж аваарай. Энэ оношлогооны дараагийн бүх команд түүн рүү заана, энд гарсан үсгийн алдаа анхны алдаатай яг ижил тэг тоолуур үүсгэнэ.
Дүрмийг туннелийн төхөөрөмж рүү дахин бичээрэй
Дүрмийг туннелийн төхөөрөмж рүү чиглүүлж, клиентийн хүрээг таарлын нөхцөл болгон үлдээгээрэй, ингэснээр туннелийн урсгалыг хамарч, хостын өөрийн холболтыг хөндөхгүй. Доорх хоёулаа жишээ бөгөөд аль нь ч суулгалт хооронд зөөгдөхгүй тул өөрийн хүрээ, төхөөрөмжийн нэрээр солино уу.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADEДараа нь ижил шинж тэмдэг нууж буй бусад хоёр нөхцлийг шалгаарай. Дамжуулалт идэвхтэй эсэхийг шалгаж, идэвхгүй бол дахин ачаалахад алга болох echo-гоор биш, тухайн түгээлтийн өөрийн тохиргоонд идэвхжүүлээрэй. forward гинжийн тоолуурыг ч уншаарай, хэрэв тэр туннелийн урсгалыг хаяж байвал тэр интерфэйсийг тусгайлан зөвшөөрч, гинжийн бодлогыг хөндөхгүй үлдээгээрэй.
forward гинжийг тоолууртайгаар унших нь нэг команд бөгөөд өөр дүрэмд хүрэхийн өмнө үлдсэн боломжийн талыг үгүйсгэнэ.
Физик карт яагаад хэзээ ч таарахгүй вэ
Гүүр бол tap төхөөрөмж ба нэг физик интерфэйсээс угсарсан програм хангамжийн шилжүүлэгч юм. Клиентийн фрэйм тэр шилжүүлэгч рүү орж, карт дээрх пакет биш, гүүрийн гишүүн болон физик сүлжээ рүү гарна. Тиймээс цөм пакетыг гүүр ба түүний портод хамааруулдаг, иймээс таны бодож байсан карт таарцаанд хэзээ ч гарч ирдэггүй. Физик интерфэйсэд юу ч эвдэрээгүй; тэр зүгээр л цөмийн тэр пакетыг хамааруулдаг төхөөрөмж биш юм.
Хүмүүсийн дараа тулгардаг асуудал мөн ижил бүтцээс үүдэлтэй: гүүр дээрх фрэйм шүүлт нь IP шүүлтээс тусдаа боломж юм. Хэрэв фрэймийн түвшний хязгаарлалт шаардлагатай бол тэр нь гүүрийн шүүлтэд хамаарах бөгөөд IP хүснэгтийн дүрэмд биш.
Үүнийг эхнээс нь дуустал нотолж, дараа нь байнгын болгоорой
Нэг клиент асаагаад серверийн LAN дээр ямар нэг зүйлийг ping хийгээрэй; тэр зам нь ямар ч хөрвүүлэлтгүйгээр дамжуулалтыг ажиллуулна. Дараа нь нийтийн ямар нэг зүйл хүсэж, masquerade дүрэм ашиглагдах ёстой болгоод тоолуурыг дахин уншаарай: энэ туршилтад хөдөлж, өмнөх туршилтад хөдлөхгүй байх ёстой. Туннелийн төхөөрөмж дээр авсан барилт нь фрэйм хаана гарч ирэх, ямар хаяг зөөж байгаа хоёрыг харуулна.
Сүүлийн алхам: ажиллаж буй дүрмүүдийг дахин ачаалалт уншдаг тохиргоонд хийж, энэ хостын гүүр яг ямар төхөөрөмжийн нэрийг ашигладаг болохыг тэмдэглээрэй. Гараар бичсэн бүхэн дахин ачаалалтын дараа алга болж, мөн тэр доголдол тайлбарлах юу ч үлдэхгүйгээр буцаж ирнэ.
Дахин бичсэний дараа ч тоолуур хөдлөхгүй бол дүрэм дэх эх үүсвэрийн хүрээг клиентийн бодитоор авсан хаягтай харьцуулаарай, учир нь гүүрэн сервер таны санаагүй хүрээнээс хаяг олгож болно.