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

Гарц хаана амьдрахыг шийдээрэй

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

Нэрийн орон зай эсвэл VM нь санах ойг зарцуулж, цэвэр дэлбэрэлтийн радиусыг өгдөг. Бодлогоор чиглүүлэх нь хоёр дүрмийг зарцуулж, танд алдаа засах нэг хайрцаг үлдээдэг.

Таны эхийг зөвшөөрдөг гарцыг сонгоно уу

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

Оператортой гурван зүйлийг баталгаажуул: хамтрагч таны туннелийн хаягийг зөвшөөрдөг, өөр дээрээ төгсөхгүйгээр IPv4-ийг дамжуулдаг, мөн гарах NAT-ыг хэрэглэдэг. Эхнийхгүйгээр таны пакетууд хүрч, алга болно. Гуравдагчгүйгээр тэд хувийн эхтэй гарч, дараагийн үсрэлтэд үхнэ. Дараа нь wg-quick өөрийн өгөгдмөл маршрутыг суулгаагүй эсэхийг шалга, үүнийг Table = off сэргийлдэг; тэр тохиргоо нь маршрут үүсгэхийг дардаг бөгөөд хамтрагчийн AllowedIPs шалгалт эсвэл түүний DNS боловсруулалтыг биш.

Хоёр бодлогын объект чиглүүлэлтийг хийдэг

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

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

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

ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0

Буцах цоорхойг нээхээс өмнө хаа

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

Шүүлтүүр зургийг гүйцээнэ. forward дэгээнд туршилтын префиксийн хувьд LAN-аас туннель рүү чиглэл болон тогтсон буцах чиглэлийг хүлээн ав, дараа нь бусад бүгдийг хая; тэр префиксийг туннелийн интерфэйс рүү хийх NAT нь postrouting-д орно. Яг policy drop-г дамжуулах гинжид үлдээх нь алга болсон маршрутыг гоожихын оронд чимээгүй болгодог. Урвуу замын шүүлтүүрт туннелийн интерфэйс дээр сул горим хэрэгтэй, учир нь капсулаас гарч ирсэн нийтийн эх нь хамгийн сайн урвуу зам нь WAN талд байдаг. Linux нь all болон интерфэйс тус бүрийн утгуудаас өндрийг авдаг тул туннелийн интерфэйсийг тохируулах нь хаа сайгүй баталгаажуулалтыг сулруулахтай ижил биш юм.

Үүнийг бүтэлгүйтлийн тохиолдлоор нотол

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

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

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