VPN интерфейс ирэх үед nftables бодлогыг тогтвортой бариарай
Нэрэд суурилсан nftables дүрмүүд гарч, алга болдог туннелийг давж үлддэг ч маршрут болон одоо байгаа урсгалууд автоматаар дагахгүй. Эзэмшигчдийг тусгаарлаарай.
Туннель нь нэг удаагийнх; бодлого тийм байх ёсгүй. Linux гарц дээр туннелийн интерфейсийг нэрээр тохируулдаг nftables дүрмийг нэг удаа ачаалсны дараа тухайн интерфейс гарч ирэх бүрт үргэлжлүүлэн хэрэгжинэ. Интерфейсэд одоо ч амьдралын мөчлөг бий: тэр үүсч, алга болдог бол эргэн тойрны маршрут ба орчуулгууд өөрийн хуваарийг дагадаг. Эдгээр эзэмшигчдийг тусгаарлах нь дахин холбогдох үед хандалтыг тогтвортой барина.
Нэрийн тохирол интерфейсээс урт насална
nftables нь интерфейсийн индексийн тоон тохирол болон iifname, oifname нэрийн динамик тохирлыг санал болгодог. Эдгээр нэрийг ашигласан дүрмүүд туннелийн төхөөрөмж хараахан үүсээгүй байсан ч цэвэрхэн ачаалагдана, энэ нь ачаалах үед дүрмийн багцад яг хэрэгтэй зүйл юм. Интерфейсийн нэр солигдвол тохирол зогсож, шинэ интерфейс тэр нэрийг авбал дахин эхэлнэ. Тоон индексэд энэ шинж чанар байхгүй тул туннельд нэрийн хэлбэр нь ердийн сонголт юм.
Нэр бол тохирлын түлхүүр, нөгөө талд хэн байгаагийн нотолгоо биш. Түншийн баталгаажуулалт VPN-ийн ажил хэвээр байна.
Дүрэм нэмэхийн өмнө гинжийг уншаарай
Дүрмийн багцад одоо юу байгаа, шинэ дүрэм хаана байрлахыг хараарай, учир нь дараалал үр дүнг шийддэг.
nft list ruleset
nft -c -f /etc/nftables.confЖагсаалт гинж, дүрэм, бариулыг харуулж, шалгах горим нэр дэвшигч файлыг ачаалахгүйгээр баталгаажуулна. Ижил урсгалд өмнөх зөвшөөрлийн дараа тавьсан зөвхөн туннельд зориулсан зөвшөөрөл юу ч өөрчлөхгүй, учир нь эхний тохирсон дүрэм ялдаг. Тиймээс оройтсон дүрэм зөв харагдаж болох ч ямар ч нөлөөгүй байж болно. Гинжийг дарааллаар нь уншиж, клиентээс дээд холбоос руу чиглэсэн урсгалын хориг одоо ч илүү өргөн зүйлээс өмнө байгааг баталгаажуулаарай.
Маршрут, орчуулга, урсгалд өөр эзэмшигчид бий
Интерфейс байх нь маршрут үүсгэхгүй, түншийг баталгаажуулахгүй. Тэдгээр нь VPN менежерт хамаарна, харин орчуулга гурав дахь амьдралын мөчлөгтэй.
conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0conntrack жагсаалт одоо байгаа урсгалуудыг анхны болон орчуулсан утгуудын хамт харуулж, маршрутын жагсаалт менежер интерфейсэд юу суулгасныг харуулна. NAT дүрмүүд эхний пакет дээр холболт хянах төлөвийг үүсгэдэг тул тогтсон урсгал дүрэм өөрчлөгдсөний дараа ч орчуулгаа хадгална. Тиймээс шинэчлэгдэж буй дүрэм ба шинэ замыг ашиглаж буй урсгал нь хоёр өөр мэдэгдэл юм. Аль сесс дахин холбогдох ёстойг шийдэж, холбоогүй урсгалуудыг тайван орхино уу.
Хүйтэн эхлэл, алдагдал, сэргэлтийг хүлээн зөвшөөрөөрэй
Гарцыг ачаалах үед туннель байхгүй, дараа нь байгаа, дараа нь тасралт ба буцалтын дараа туршина уу. Туннель байхгүй үед хориотой дамжуулалт хориотой хэвээр байгаа, түнш баталгаажсаны дараа шинэ зөвшөөрөгдсөн урсгал ажиллаж байгаа, сэргэлт нь холбоогүй төлөвийг цэвэрлэх шаардлагагүй гэдгийг баталгаажуулаарай. Нэг профайлын зогсоох үйлдэл болгон бүх POSTROUTING гинж эсвэл бүх conntrack бичлэгийг бүү устга, учир нь бусад үйлчилгээ тэдгээрийг хуваалцдаг. Эхлэх дэгээ тэгээр гарсныг л бус, аль бүрэлдэхүүн интерфейс, маршрут, бодлогыг өөрчилснийг тэмдэглээрэй.
Дахин холбогдолтыг давж үлдэх бодлого бол эзэмшигчид нь нэрлэгдсэн, дүрмүүд нь туннель доош ба дээш аль аль үед туршигдсан бодлого юм. Амжилтыг мэдээлэх дэгээ нь дэгээ ажилласныг л нотолно.