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

Префикс юунд зориулагдсаныг шийдээрэй

Талбайнуудын хооронд хувийн хүртээмж зорилго бол fd00::/8-аас авсан өвөрмөц локал префикс байгалийн сонголт юм. Аль ISP талбай бүрд үйлчилж байгаагаас үл хамааран тогтвортой байх бөгөөд дэлхийн чиглүүлэлтийн хүснэгтэд зарлагдахгүй тул дотоод дугаарлалтыг интернэт рүү алдаж чадахгүй.

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

Бүх байршуулалтад /48 хэрэгтэй гэж бүү бодоорой. RFC 6177 төгсгөлийн талбайн ганц заавал шаардлагатай хэмжээнээс холдсон, зөв хэмжээ нь таны ажиллуулах сүлжээний тооноос хамаарна. ULA-г RFC 4193 процедураар үүсгээрэй, өөр байгууллага ч ашиглаж болох префикс зохиохын оронд. Ямар ч төхөөрөмж тохируулагдахаас өмнө үр дүнг хаягийн төлөвлөгөөнд бичээрэй, учир нь хэн ч бүртгээгүй префикс бол хэн нэгэн дахин ашиглах префикс юм.

Префиксийг үүрэгт хуваа

Доорх жишээ fd7c:2e91:4a00::/48 ашигладаг бөгөөд хүснэгт нь талбайгаар биш, блок бүрийг хаана бичихээр зохион байгуулагдсан. Утгуудыг жишээ гэж үзэж, ямар нэгэн зүйл байршуулахаас өмнө өөрийнхийг үүсгээрэй.

Where it is writtenWhat appears thereBlock usedWhat it establishes
Hub wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::1/128The hub's own tunnel identity
Hub wg0.conf, Site A peerTwo ranges in one AllowedIPs line::2/128 and :10::/64That A owns its tunnel address and its LAN
Hub wg0.conf, Site B peerTwo ranges in one AllowedIPs line::3/128 and :20::/64That B owns its tunnel address and its LAN
Site A wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::2/128A's identity as the hub sees it
Site B wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::3/128B's identity as the hub sees it

LAN блокууд /64 байна, учир нь энгийн SLAAC 64 битийн интерфейсийн танигч хүлээдэг. LAN-ыг жижиг блок болгон хуваах нь ихэнх хост дээр тэр таамаглалыг эвдэж, хувийн төлөвлөгөөнд хаяг хэмнэлтэд ашиглалтын зардал үнэ цэнэгүй. Хоёр LAN блок /48-ын дундаас авч, доод мужийг дараагийн талбайнуудад чөлөөтэй үлдээнэ.

Туннелийн хаягууд нь захиргааны нөөц, холбоос дээрх сүлжээ биш. Интерфейс бүр үүнээс нэг /128 авдаг тул ямар ч хост туннель дээр хуваалцсан дэд сүлжээ гэж үзэхгүй, шаардлагагүй газар хөршийн илрүүлэлт ажиллахгүй. Үүргүүдийг тусдаа байлгаж, байгууллагын хаягийн төлөвлөгөөнд бүртгээрэй, дараагийн талбай блокыг дахин ашиглахгүйн тулд.

Чиглүүлэгч бүрд нэг туннелийн хаяг өг

Чиглүүлэгч бүрд нэг /128 хуваарилж, ажиллаж буй зангилааны одоогийн түлхүүр, төгсгөлийн цэгүүдийг хадгал. Доорх гурван утга зөвхөн хост хэсэгт ялгаатай.

Hub:    Address = fd7c:2e91:4a00:ff00::1/128
Site A: Address = fd7c:2e91:4a00:ff00::2/128
Site B: Address = fd7c:2e91:4a00:ff00::3/128

Энэ /128 нь тухайн интерфейст олгогдсон ганц хаягийг тодорхойлно. Хос хэдэн очих газрыг чиглүүлж болохыг энэ нь хэлэхгүй, учир нь хүртээмж нь интерфейсийн префиксэд биш, AllowedIPs-д илэрхийлэгддэг.

Талбайн чиглүүлэгч бүр өөрийн LAN блок дахь хаяг болон түүнийг тараах арга хэрэгтэй, ихэвчлэн SLAAC-д зориулсан чиглүүлэгчийн зарлал. WireGuard тэдгээр зарлалыг таны өмнөөс илгээхгүй, хоёр LAN-ыг гүүрлэхгүй. Талбайн чиглүүлэгч нь хоёр чиглэлд чиглүүлэгч юм.

Дэд сүлжээний эзэмшийг AllowedIPs-д тавь

А талбайн зангилааны хосын бичлэг нь А-ийн туннелийн хаяг болон А-ийн LAN-ыг эзэмшдэг, тэр хос нь бүх эзэмшлийн мэдэгдэл юм. Тэр хосын хэсэгт өөр юу ч талбайг тодорхойлох шаардлагагүй.

AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64

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

AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64

Эдгээр нь нэг хосын төлөө өрсөлдөх хоёр жагсаалт биш, хоёр тусдаа хосын хэсэг юм. WireGuard AllowedIPs-ийг хоёр чиглэлд ашигладаг: гадагш очих газарт хосыг сонгож, тайлж уншсан хостод олгосон мужид эх сурвалж тохирохгүй ирж буй пакетыг татгалздаг. Бүх /48-ыг хоёр хостод өгвөл тэр хоёр дахь шалгалт унтарч, аль талбай аль блокыг эзэмшихийг бүдэгрүүлнэ. Яг энэ ялгаа нь буруу эх хаягийг чимээгүй хүлээн авахын оронд харагдахуйц болгодог.

Талбай бүрд зөвхөн өөрийн зангилааны хосоор хүрч болох очих газрууд хэрэгтэй: А талбай зангилааны хаяг, Б талбайн туннелийн хаяг болон Б-ийн LAN-ыг жагсааж, Б талбай эсрэг олонлогийг жагсаана. Жагсаалтууд зориудын хувьд тэгш бус, учир нь чиглүүлэгч бүр топологийн өөр талыг хардаг. Хоёуланг нь хаягийн төлөвлөгөөнөөс бичээрэй, нөгөө талбайн тохиргооноос биш, ингэснээр хуучирсан муж дахин дугаарлалтыг даван туулна.

wg-quick-тэй бол эдгээр мужууд маршрут ч үүсгэдэг. systemd-networkd эсвэл гараар тохируулах үед ижил утгатай маршрутуудыг өөрөө нэмээрэй; эс бөгөөс туннель цөм хэзээ ч руу нь илгээдэггүй пакетуудыг зөөнө.

Дамжуулалтыг гүйцээж, хоёр чиглэлийг шалга

Зангилаа болон хоёр талбайн чиглүүлэгч дээр IPv6 дамжуулалтыг идэвхжүүлж, дамжуулалтын бодлогод шаардлагатай талбай хоорондын үйлчилгээг зөвшөөр. ICMPv6 Packet Too Big мессежийг ашиглахуйц байлга, учир нь тэдгээрийг хаях нь замын MTU илрүүлэлтийг эвдэж, програмын алдаа мэт харагдах том дамжуулалтын гацалт үүсгэдэг. Галт хананы зөвшөөрөлгүйгээр дамжуулдаг зангилаа пакетыг чиглүүлэлт болон туннелийн хооронд хаядаг. Энэ алдааны горимыг мэдэх нь зүйтэй, учир нь туннель ажиллаж байх бөгөөд зөвхөн зарим урсгал үхнэ.

sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1

А талбайн хостноос Б талбайн хост руу, дараа нь эсрэг чиглэлд шалга. Зангилааны туннелийн хаяг руу ping зөвхөн эхний алхмыг шалгах бөгөөд LAN маршрутууд буруу байсан ч давна. Төлөвлөгөөг батлах нь хост хоорондын урсгал юм.

Гадаад WireGuard холболт IPv4 дээгүүр ажиллаж, дотоод урсгал IPv6 байж болно, энэ бие даасан байдал шилжилтийн үед хэрэгтэй. Хожим дэлхийн IPv6 гарц нэмбэл үйлчилгээ үзүүлэгчийн хуваарилалт, эх хаягийн сонголт, буцах чиглүүлэлтийг шинэ дизайны алхам болгон дахин хараарай; дээрх хувийн төлөвлөгөө талбай хоорондын урсгалд хүчинтэй хэвээр.

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