AllowedIPs бол маршрутын жагсаалт, галт хананы дүрэм биш
Энэ нь гарч буй урсгалд хамтрагч сонгож, орж буй эх сурвалжийг шалгадаг. Энэ нь хандалтын жагсаалт биш бөгөөд маршрутын удирдлагыг унтраах нь хуваагдсан туннелийг засдаггүй.
Ихэнх хүмүүс AllowedIPs талбарыг зөвшөөрлийн жагсаалт гэж уншдаг, өөрөөр хэлбэл хамтрагчтай холбогдож болох хаягуудын багц, туннельд зориулж бичсэн галт хананы дүрэмтэй төстэй. Тийм биш. Энэ талбар нь хоёр чиглэлд ажилладаг маршрутын хүснэгт: гарч буй пакетанд хамтрагч сонгож, орж буй пакетын эх сурвалжийг шалгадаг. Үүнийг хандалтын жагсаалт гэж унших нь хэн ч хүсээгүй урсгалыг маршрутладаг тохиргоог үүсгэдэг.
Нэг талбар, хоёр уншигч: гарах сонголт ба эх сурвалжийн шалгалт
Клиент дээр угтварууд аль очих газрууд тэр хамтрагч руу явж, аль нь энгийн сүлжээнд үлдэхийг шийддэг. Тиймээс 0.0.0.0/0-ийн бичлэг бүх IPv4 очих газрыг барьж авдаг, бүрэн туннелийн профайлыг импортлоход энгийн хөтлөлт алсын машин руу явдаг шалтгаан ч энэ юм. Нарийн бичлэгүүд эсрэгээр хийдэг: зөвхөн таны жагсаасан сүлжээнүүдийг маршрутлаж, бусад бүгдийг байсан газарт нь үлдээдэг. WireGuard-ийн баримт бичгийн крипто түлхүүрийн маршрутлалын хэсэг хоёр ажлыг нэг дор дурдсан: гарч буй хамтрагчийн сонголт ба орж буй эх сурвалжийн шалгалт.
Сервер дээр ижил талбар хамтрагч бүр ямар эх хаяг ашиглаж болохыг тодорхойлдог. Энэ нь пакет шүүлтүүр биш, криптограф шалгалт: дотоод эх нь хамтрагчийн жагсаалтад тохирохгүй пакет хост дээрх аль ч галт хана үүнийг харахаас өмнө WireGuard дотор хасагдана. Хоёр ажил нэг жагсаалтыг хуваалцдаг, яг ийм учраас өөр газраас хуулсан жагсаалт таны бодож үзээгүй газарт буруу ажилладаг.
Клиентийн блок бол энэ будлианы ихэнх нь эхэлдэг газар. Хуваагдсан туннель алсын сүлжээнүүдийг нэрлэдэг, бүрэн туннель нь ижил талбарт анхдагч угтвартай байдаг:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
Хоёр хэлбэр нь өөрөө бүрэн бөгөөд тэдгээр нь алхам биш, хувилбар юм. Эхнийх нь зөвхөн тэдгээр хоёр сүлжээг туннелээр дамжуулдаг; хоёр дахь нь бүх очих газрыг илгээдэг бөгөөд ::/0 бичлэг IPv4-ийн анхдагчид IPv6 нэмдэг. Аль нь ч сонгосон, wg-quick маршрутуудыг суулгаж эхлэхэд тэдгээр угтвар нь тэр хамтрагчийн бүх маршрутлалын шийдвэр юм.
Төвд өөр жагсаалт хэрэгтэй
Төв нь клиент бүрийн туннелийн хаягийг хост угтвар болгон жагсаадаг, мөн тэр клиентийн ард үнэхээр байгаа аливаа сүлжээг жагсаадаг. Клиентийн өргөн жагсаалтыг төвийн хамтрагч бүрт хуулах нь төвд олон хамтрагч ижил хаягийг эх сурвалж болгон ашиглаж болно гэж хэлдэг бөгөөд энэ нь хаягийн төлөвлөгөө биш. Endpoint талбар нь огт өөр давхаргад хамаарна: энэ нь хамтрагчийн гадаад хаяг болон портыг нэрлэдэг, хэзээ ч туннель доторх очих газрыг нэрлэдэггүй.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
Хост угтвар нь туннелийн хаягийг зөөдөг, сүлжээний угтвар нь клиентийн ард байгаа зүйлийг зөөдөг, хоёулаа хэрэгтэй. Хост угтваргүй бол төв клиентийн өөрийн урсгалыг буцааж чадахгүй, сүлжээний угтваргүй бол түүний ард байгаа LAN хүрэхгүй хэвээр байна; ард нь юу ч байхгүй хамтрагч зөвхөн хост угтварыг авдаг.
Маршрут суулгахыг алгасах нь цоорхой үлдээдэг
wg-quick, интерфейсийг тохиргооны файлаас босгодог туслах, тэр ажлын нэг хэсэг болгон интерфейсийн хаяг болон маршрутуудыг суулгадаг. Table = off тохируулах нь туслахыг маршрутын ажлыг алгасахыг хэлдэг бөгөөд энэ нь орлуулагч суулгахгүй, хувийн сүлжээг хүрч болохуйц болгодоггүй. Автомат маршрутууд ажлыг хийж байгаа үед шаардлагатай угтваруудыг нэрлэх нь илүү тодорхой тохиргоо юм. Маршрутын удирдлагыг унтраагаад орлуулагчийг бичихгүй үлдээх нь загвар биш, орхигдол юм.
Үндсэн wg хэрэгсэл өөрөөр ажилладаг: интерфейсийг тохируулдаг ч маршрутад хэзээ ч хүрдэггүй, тиймээс түүн дээр шууд бүтээсэн тохиргоонд өөрийн маршрутын командууд хэрэгтэй. Нэг хэрэгсэлд зориулж бичсэн заавар нөгөөтэй нь дагахад буруу харагдаж болно. Амжилттай ping нь ч сул нотолгоо, учир нь танд хэрэгтэй бүх програмын замыг биш, зөвхөн нэг замыг шалгадаг.
DNS ба IPv6 тусдаа шийдэгддэг
Туннелийн зарласан DNS серверийн хаягийг шалгаж, таны сонгосон угтваруудаар тэр хаяг руу маршрут байгаа эсэхийг баталгаажуулна уу. Резолверын тохиргоо резолверыг хүрч болохуйц болгодоггүй, туннелийг нарийсгах нь тэр тийшээ явдаг маршрутыг чимээгүй арилгаж болно. IPv6-г ч тусад нь шалгана уу, учир нь зөв IPv4 хуваалт нь одоо ч физик холбоос руу заадаг IPv6 анхдагч маршрутын талаар юу ч хэлдэггүй. Нэг хамтрагчийн блокийг засах үед гурван тусдаа шийдвэр нэгэн зэрэг өөрчлөгдөж болно.
Дараа нь мэдэгдэж буй эхлэлийн тохиргооноос нэг хувийн нөөц, нэг энгийн вэбсайтыг нээнэ үү. Нөөц хариулж, хөтлөлт одоо ч локал холболтоор гарч байвал хуваалт таны хүссэнийг хийдэг. Хэрэв хөтлөлт яг тэр мөчид эвдэрвэл туннель анхдагч маршрутыг авсан бөгөөд угтварын жагсаалт бол харах ёстой газар юм.