WireGuard-ыг хамгаалахын тулд IPv6-г блоклох нь хостыг эвддэг
Бүх IPv6-г унагах оролтын дүрэм нь хөршийн илрүүлэлт болон Packet Too Big-г ч хасдаг. Гурван хариуцлагыг тусад нь барьж, дараа нь хост ажиллаж байгаа эсэхийг шалгана уу.
Зорилго нь ухаалаг: энэ машины үйлчилгээнд зөвхөн туннелийн хэрэглэгчид хүрэх ёстой. Хүмүүсийн сонгодог шийдэл нь WireGuard-аас бусад бүхнийг унагадаг IPv6 оролтын хэлхээ бөгөөд энэ нь хостыг өөрийн холбоос дээр бариулж байдаг трафикийг ч унагадаг. Хөршийн илрүүлэлт болон замын засвар үйлчилгээний зурвасууд нь үйлчилгээний хандалт биш бөгөөд тэдгээрийг хасах нь таны бодлоготой холбоогүй шалтгаанаар хүрэх боломжгүй машин үүсгэдэг. Туннель босдог, үйлчилгээнүүд зөв хязгаарлагдсан, холбоос дээр өөр юу ч ажиллахгүй.
Гурван хариуцлага, нэг дүрмийн багц
Эхний хариуцлага нь гадаад сүлжээний ажиллагаа: хост өөрийн холбоос дээр үлдэх, хөршүүдийг шийдвэрлэх, тухайн холбоосын замын хязгаарыг мэдэх ёстой. Хоёр дахь нь таны сонгосон хаяг, порт дээр UDP хүлээн авдаг шифрлэгдсэн сонсогч. Гурав дахь нь туннелийн хэрэглэгчид хүрэх ёстой гэж та хүсэж буй тайлагдсан үйлчилгээний багц.
Эдгээр нь гурван өөр бодлого бөгөөд зөвхөн хоёр, гурав дахь нь VPN-тэй холбоотой. Эдгээрийг нэг гэж үздэг дүрмийн багц нь програмын хязгаарыг чангатгах нь хостын холболтыг чимээгүй эвддэг эвдрэлийн горимыг өвлөдөг.
Тэдгээрийг тусдаа хэлхээнд эсвэл ядаж тусдаа тайлбарт хадгалаарай, дараагийн хүн аль мөр ямар шалтгаанаар байгааг харахын тулд.
ICMPv6 хостод юу хийдэг вэ
IPv6 нь цуурайгаас хамаагүй илүү зүйлд ICMPv6-д тулгуурладаг. Хөршийн хүсэлт болон зарлал нь ARP-г орлох бөгөөд орон нутгийн хүргэлтэд шаардлагатай. Packet Too Big нь замын MTU мэдээллийг зөөдөг бөгөөд үүнийг үл хайхрах нь том пакет дээр гацах дамжуулалт үүсгэдэг. Холбоос автомат тохиргоо хэрэглэх үед маршрутлагчийн зарлал нь өгөгдмөл зам болон префиксийн мэдээллийг зөөдөг.
RFC 4890 нь хост шүүлтүүр заавал зөвшөөрөх ёстой зурвасуудыг захиргааны сонголт болох зурвасуудаас тусгаарладаг бөгөөд үүнийг сүлжээнүүдийн хооронд дамжуулдаг маршрутлагчийн дүрмээс өөр хост хэсэгт хийдэг. Зөвхөн дамжуулалтын хэсгийг унших нь хамгаалж буй хостод хэт хатуу оролтын бодлого үүсгэдэг.
Практик дүрэм нь шаардлагатай интерфейс дээр чухал алдаа, тохиргооны зурвасыг зөвшөөрөх, платформ зөвшөөрсөн газарт төрөл, эх сурвалжаар хязгаарлах, үлдсэний талаар тодорхой шийдвэр гаргах явдал юм.
Энэ бүгдийг ерөнхий ICMPv6 зөвшөөрлөөр солих нь хүртээмжийн асуудлыг шийдэж, шүүлтээс татгалздаг. Үүнийг ерөнхий унагалтаар солих нь шүүлтийн асуудлыг шийдэж, хостоос татгалздаг.
Эхлээд туннелийг нэвтрүүлж, дараа нь үйлчилгээг
WireGuard-ийн тээврийг зорьсон гадаад хаяг, UDP порт дээр хүлээн авч, буцах трафикийг холболт хяналтаар хүлээн авна. Дараа нь програмын үйлчилгээг туннелийн интерфейсээр, таны үнэхээр зөвшөөрсөн эх сурвалжаас нэвтрүүлнэ.
Гадаад UDP портын зөвшөөрөл нь доторх тайлагдсан хүсэлтүүдийг зөвшөөрөхгүй. Энэ ялгаа нь үйлчилгээний дүрэмд туннелийн интерфейс гарч ирэх бүх шалтгаан юм.
Дүрмийн багцыг файлын дүрсэлснээр биш, байгаа байдлаар нь уншаарай:
sudo nft list ruleset
ip -6 addr show
ip -6 route show default
Физик хаяг дээрх сонсогч нь туннелийн хаяг дээрх ижил үйлчилгээнээс тусдаа илэрц юм. Хэрэв машин трафикийг өөр машин руу ч дамжуулдаг бол энэ нь энэ оролтын бодлого биш, дамжуулалтын хэлхээний шийдвэр бөгөөд өөрийн үндэслэл шаарддаг.
Холбоосыг шалгаж, зөвхөн туннелийг биш
Өөрчлөлтийн дараа ажиллаж буй туннель харагдахаас бага зүйлийг нотолдог, учир нь одоо байгаа хөршийн бичлэг болон тогтоосон холболт нь бодлого одоо унагаж буй хяналтын зурвасыг нууж чадна.
Холболтыг шууд шалгаж, дараа нь хасагдсан зам одоо ч бүтэлгүйтэж байгаа эсэхийг шалгаарай:
ip -6 neigh show
ping -6 -c 3 2001:db8:1::1
sudo nft -c -f /etc/nftables.conf
Дахин ачаалсны дараа ч хөршийн хүснэгт бүрэн үлдэх нь илрүүлэлт одоо ч ажиллаж байгаагийн шинж. Хоосорч, дахин хэзээ ч дүүрэхгүй хүснэгт нь та үүнийг шүүж хассан гэдгийн шинж. Гурав дахь команд нь дүрмийн багцын синтаксийг хэрэглэхгүйгээр баталгаажуулдаг бөгөөд сесс байхад хийх нь зүйтэй.
Өөрийгөө түгжиж хаясан хостыг сэргээ
Өөрийн захиргааны сессийг зөөж буй галт ханын дүрмийг өөрчлөхөөс өмнө хоёр дахь сувгийг бариарай: консол, цуваа холболт эсвэл цуцалж чадахгүй бол шинэ дүрмийг хасдаг товлосон буцаалт.
Хэрэв өөрчлөлт үнэхээр түгжиж хаявал сэргээх нь тэр сувгаар, саяхан хасан сүлжээгээр биш. Хадгалсан хуулбараас өмнөх дүрмийн багцыг сэргээж, хост дахин хүртээмжтэй болсныг баталгаажуулж, дараа нь л зорьсон бодлогыг жижиг хэсгүүдээр хэрэглээрэй.
Эцсийн бодлого нь түгээмэл биш. Хаяглалт, маршрутлалт, галт ханын хэрэгжилт нь байршуулалтын оролт боловч хил хязгаар хаа сайгүй ижил: зөвшөөрөгдсөн туннелийг зөөж буй хяналтын трафикийг хадгалан, санаандгүй програмын хандалтаас татгалз.