VPN галт ханын дэгээ яагаад ижил дүрмийг хоёр удаа нэмдэг вэ
Дахин холбогдох нь таны дэгээг дахин ажиллуулж болзошгүй тул хүссэн төлөвт зориулж зохион бүтээ: өөрийн гинжин хэлхээ, оруулахаас өмнөх туршилт, нэг дараалсан өөрчлөлт, нарийн буулгалт.
Дэгээ анх удаа ажилладаг бөгөөд гурван дахин холбогдсоны дараа гинжид ижил дүрмийн гурван хувилбар үлддэг. Юу ч чангаар бүтэлгүйтээгүй; скрипт ажиллах бүрт хэлсэн зүйлийг нь л хийсэн. VPN дэгээ нь нэгээс олон удаа ажиллаж болох тохиргооны үйлдэл тул түүнд эзэн, хүссэн төлөв, дараалсан өөрчлөлт хэрэгтэй. Энэ дарааллаар явбал давхардал зогсоно.
Дүрэм бичихээс өмнө тэдэнд эзэн өг
Нэг ч дүрэм бичихээс өмнө энэ интеграц аль гинж эсвэл хүснэгтийн эзэн болохыг шийд. Дэгээ үүсгэж, хоосолдог тусгай гинж нь эзэмшлийн хамгийн тод хэлбэр, учир нь цэвэрлэгээ дараа нь бусдын бодлогыг хөндөхгүйгээр тэр гинжийг устгаж чадна. Хэрэв дүрмийг хуваалцсан гинжид нэмэхээс аргагүй бол тэдгээрийг тайлбараар тэмдэглэ, дараагийн хайлт яг таныхыг олох болно. Эзэмшил нь буулгалтыг аюулгүй болгодог, буулгалт бол чимээгүй бүтэлгүйтдэг хэсэг.
iptables -N VPN_HOOK 2>/dev/null || true
iptables -C INPUT -j VPN_HOOK 2>/dev/null || iptables -I INPUT -j VPN_HOOK
iptables -S VPN_HOOK
Энд тайлбар нь чимэглэл биш. Энэ нь таны дүрмийг устгах ба санамсаргүй төстэй харагдах дүрмийг устгах хоёрын ялгаа бөгөөд хадгалсан дүрмийн багцад үлддэг. Тайлбарыг нэг удаа хувьсагчид бичээд нэмэх, шалгах эсвэл устгах бүх командад ижил мөрийг ашигла.
Дахин нэмэхийн оронд хүссэн төлөвийг туршаад үз
Туннель дээшээ байх үед юу байх ёстойг бич: ямар интерфейс, ямар эх үүсвэр, очих газар, ямар протокол, ямар порт. Дараа нь дүрэм бүрийг шалгалт ба дараа нь оруулалт хэлбэрээр илэрхийл, хоёр дахь ажиллагаа дүрмийг олоод юу ч хийхгүй байх болно. Дүрэм байгаа үед шалгалтын команд тэгээр гардаг бөгөөд скриптэд яг тэр дохио хэрэгтэй. iptables-ийн лавлагаа энд ашигласан шалгалт, нэмэлт, оруулалтын хэлбэрийг баримтжуулдаг.
iptables -C VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT ||
iptables -A VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
Байрлалд болгоомжтой хандаарай. Дүрмийг шалгаад толгойд оруулах нь өмнө нь түрүүлж ирдэг байсан санаатай татгалзалтын өмнө зөвшөөрлийг шилжүүлж болно, тиймээс хоёр дахь ажиллагаа юу ч нэмэхгүй байсан ч зан төлөвийг өөрчилдөг. Өөрийн гинжний дотор төгсгөлд нь нэм, дарааллыг тэр гинж рүү үсрэх байрлалаар удирд. Хэрэв гинжний доторх дараалал чухал бол дүрэм бүрийг засаж зангидахын оронд мэдэгдэж буй жагсаалтаас гинжийг дахин бүтээ.
Хэрэв шаардлагатай дүрмийг тогтвортой шалгалт хэлбэрээр илэрхийлж чадахгүй бол зогс. Энэ нь ихэвчлэн хүссэн төлөв одоо ч тодорхойгүй байгааг илтгэнэ.
Тэсвэрлэнэ гэж найдахын оронд өөрчлөлтийг дарааллуул
Дэгээний хоёр дуудалт давхцаж болох бөгөөд аль нэг нь нэмэхээс өмнө хоёулаа байхгүй дүрмийг харж болно. xtables-ийн хүлээх сонголт командыг түгжээг хүлээхэд хүргэдэг боловч шалгаад-дараа-нэмэх дарааллыг хоёр командын хооронд атом болгодоггүй. Бүх үйлдлийг өөрийн түгжээгээр дарааллуул, эсвэл зарласан багцыг нэг гүйлгээ болгон хэрэглэдэг менежер ашигла. nftables сүүлийнхийг хийж чаддаг бөгөөд энэ нь боломжтой хост дээр түүнийг илүүд үзэх нэг шалтгаан юм.
flock /run/vpn-hook.lock /usr/local/sbin/vpn-firewall-apply
nft -f /etc/nftables/vpn-hook.nft
Ямар механизм сонгосон ч чухал хэсгийг богино байлгаж, дахин орох боломжтой болго: хагаст бүтэлгүйтсэн дэгээг дахин ажиллуулах аюулгүй байх ёстой. Үр дүнг бүртгэ, давтан ажиллагаа дүрмийн тооноос таамаглахгүйгээр журналд харагдах болно. Хэрэв хоёр өөр хянагч дэгээг дуудаж чадвал эхлээд түүнийг зас; ямар ч түгжээ хоёр эзнийг засдаггүй.
Зөвхөн өөрийнхийг буулга
Буулгалт нь орлуулах холболтыг түүний тэтгэвэрт гаргасан холболтоос ялгах ёстой бөгөөд хэзээ ч цэгцтэй цэвэрлэгээ авдаггүй үйл явдлыг тэсвэрлэх ёстой. Нэмэхэд ашигласан ижил танигчаар устга, цэвэрлэгээг хялбарчлахын тулд хуваалцсан гинжийг хэзээ ч хоосолж болохгүй. Хатуу зогсолтын дараа доод дэгээ ажилласан гэж таамаглахын оронд дараагийн эхлэлд тохируулгын дамжуулалт хий.
iptables -D VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
iptables -F VPN_HOOK
ip -brief link show type tun
Интерфейсийн амьдралын хугацаа ч зохион бүтээлд хамаарна. Дахин холбогдол өөр нэртэй төхөөрөмж үүсгэж болох тул хоёр дахь туннелийн нэрийг хатуу кодложсон дүрэм хүчинтэй харагдахын зэрэгцээ хуучирдаг. Холболт өөрөө илрүүлдэг таних мэдээллийг илүүд үзэж, ажиллагаа бүрт дахин унш. Гурван үйл явдлыг тус тусад нь туршаад үз: давтан холболт, орлуулах холболт, унтраалт. Зөвшөөрөгдсөн урсгал гурвууланг нь давхардалгүй давах ёстой, холбоогүй үйлчилгээ хөндөгдөөгүй үлдэх ёстой.
Дэгээнд эзэн, нэмдэг дүрэм бүрийн туршилт, нэг дараалсан зам, зөвхөн өөрийн төлөвийг арилгадаг буулгалт байх үед энэ алхалт дуусна. Хоёр удаа ажиллуулахад аюулгүй дэгээ нэг удаа ухаантай дэгээгээс илүү үнэ цэнэтэй.