Таны GCP VM яагаад OpenVPN IPv6 пулд хариу өгч чадахгүй байна
OpenVPN доторх хаяг нь Google Cloud дэд сүлжээ биш. Пул руу VPC маршрут нэмж, дамжуулалтыг идэвхжүүлж, интернетийн гаралтыг тусад нь байлгаарай.
Таны IPv6 VPN клиент ажлын ачаалалд хүрч, ажлын ачаалал туннель руу хариулдаг ч хариулт хэзээ ч ирдэггүй. Эхний зөн совин нь галт хана эсвэл туннелийг буруутгах боловч ихэвчлэн аль нь ч буруугүй. OpenVPN-ийн олгодог хаяг нь зөвхөн туннелийн дотор оршдог дотоод сүлжээ юм; Google Cloud нь fd42:90::/64 нь тодорхой нэг VM-ийн ард байх ёстойг та хэлэх хүртэл мэдэхгүй.
Энэ баримтыг хоёр тусдаа систем сурах ёстой бөгөөд тэдгээрийн зөвхөн нэг нь OpenVPN. VPC ямар нэг зүйлийг буцааж илгээхийн тулд маршрут хэрэгтэй, VM-д ирж буй зүйлийг дамжуулах зөвшөөрөл өгөх ёстой. Аль ч хагаст алдвал шинж тэмдэг ижил харагдана.
Пул бол дотоод сүлжээ, дэд сүлжээ биш
OpenVPN нь таны сонгосон мужаас IPv6 хаяг олгож болох бөгөөд тэр муж нь туннелийн хоёр төгсгөл тохиролцсон зохиомол зүйл юм. Энэ нь Google Cloud дэд сүлжээ биш, VPC-ийн дэд сүлжээний жагсаалтад харагдахгүй, VM-ийн сүлжээний интерфэйс тэдгээр хаягийг авдаггүй. Тиймээс клиентэд хариулдаг ажлын ачаалал сүлжээгээр чиглүүлэх боломжгүй гэж үздэг хаяг руу пакет илгээдэг.
Пул-ыг VPC аль хэдийн ашиглаж буй бүх мужаас гадна байлгаарай. Үүнийг бусад туннелийн ардах мужуудаас ч гадна байлгаарай. Давхцал нь цэвэр чиглүүлэлтийн алдааг зөвхөн ачааллын үед илэрдэг үе үеийн алдаа болгоно.
fd42:90::/64 мэтийн өвөрмөц локал хаяглалт нь энэ дотоод сүлжээнд боломжийн сонголт юм. Уг префикс нь загвар нь угаасаа хувийн гэдгийг сануулдаг. ULA пулд байгаа юу ч үүнийг нийтийн интернетэд хууль ёсны эх сурвалж болгодоггүй.
VPC-д очих газар болон дараагийн алхам өгөөрэй
Хариултад очих газар нь пул, дараагийн алхам нь VPN VM байх VPC маршрут хэрэгтэй. Одоогийн статик маршрутын баримт бичиг IPv6 очих газрын мужийг хамарч, ямар төрлийн дараагийн алхам тохирохыг жагсаасан тул хуучин IPv4 жишээг хуулахын оронд таны топологид дэмжигдсэн хэлбэрийг шалгаарай.
Дараагийн алхамын хаяг нь инстанцын үүлэн интерфэйст үнэхээр олгогдсон хаяг байх ёстой. VM-ийн дотоод туннелийн хаяг тэр хаяг биш. Түүнийг ямар ч байсан ашиглавал цэвэр суулгагдах бөгөөд хэзээ ч пакеттай тохирохгүй маршрут үүснэ. Маршрут бичихээс өмнө интерфэйсийн жагсаалтыг уншаарай.
Маршрутын давуу эрх нь бичлэг өөрөө шиг чухал. Дэд сүлжээний маршрутууд нь таны нэмж буй захиалгат маршрутуудаас илүү тодорхой тул одоо байгаа дэд сүлжээний мужаас таслагдсан пул нь захиалгат маршрут хэрхэн бичигдсэнээс үл хамааран дэд сүлжээний маршрутад ялагдана. Тусдаа пул сонгоод, дараа нь маршрут нь инстанцыг дараагийн алхам болон зөв очих газрын префиксоор харуулж байгааг баталгаажуулаарай:
gcloud compute routes create vpn6-return \
--network=vpn-vpc \
--destination-range=fd42:90::/64 \
--next-hop-instance=openvpn-vm \
--next-hop-instance-zone=europe-west1-bДамжуулалтыг хоёр удаа идэвхжүүлэх ёстой
Маршрут пакетыг инстанцид хүргэдэг. Энэ нь инстанцыг өөрт нь хаяглаагүй зүйлийг дамжуулахад бэлэн болгодоггүй бөгөөд тэр зөвшөөрөл хоёр түвшинд оршдог.
Үүлэн талд инстанцын дамжуулах чадвар идэвхтэй байх шаардлагатай; энэ нь VM-д өөрийн мэдэлд байхгүй хаягуудын урсгалыг хүлээн авч дамжуулах боломж олгодог тохиргоо юм. Зочны талд өөрийн IPv6 дамжуулалт хэрэгтэй, учир нь цөм пакет ирсний дараа тусдаа шийдвэр гаргадаг. Нэг хариулт туннелийг гарахаас өмнө хоёулаа асаалттай байх ёстой.
sysctl -w net.ipv6.conf.all.forwarding=1Дараа нь галт хананы дүрмүүд дотоод эх сурвалжийн мужийг хоёр чиглэлд зөвшөөрөх ёстой. Google Cloud нь капсулаас гаргасан пакетыг үнэлдэг тул зөвхөн VPC дэд сүлжээг хамарсан дүрэм туннель аль хэдийн амжилттай болсны дараа пулын урсгалыг хаядаг. Пул-ыг орох дүрэмд эх сурвалжийн муж болгон нэмж, ямар ч захиалгат гарах бодлого хариултыг блоклохгүй байгааг шалгаарай. Далд зөвшөөрлийн дүрэм анхдагч тохиолдлыг хамардаг, гараар бичсэн гарах дүрэм хамардаггүй.
OpenVPN-д хэн юуг эзэмшдэгийг хэлээрэй
OpenVPN нь клиент нь очих газрыг эзэмшдэгийг мэдвэл тэр клиент рүү дамжуулдаг. Пул-аас ирсэн клиентийн хаягуудыг пулыг тодорхойлдог серверийн заавар удирддаг боловч клиентийн ардах дэд сүлжээ нь өөр зохион байгуулалт бөгөөд тэр клиентэд тодорхой эзэмшлийн бичлэг шаардагдана.
Хоёулыг хольсон тохиолдолд сервер рүү ping ажилладаг, харин түүний ард юу ч ажиллахгүй туннель үүсдэг. Аль тохиолдлыг бүтээж байгаагаа шийдээд, дараа нь хоёр дахь push мөр нэмж найдахын оронд тохирох бичлэгийг бичээрэй.
Интернетийн гаралтыг энэ загвараас гадна байлгаарай
Хувийн хандалт ба интернетийн хандалт нь тусдаа төлөвлөгөө юм. ULA пул нь чиглүүлэлт ба дамжуулалт тохирсон үед туннелээр дамжуулан VPC-ийн ажлын ачаалалд хүрч чадна, мөн тэр пул нь VPC-ээр дамжуулан нийтийн интернетэд гарах замгүй, учир нь үүлэн гарц дурын туннелийн эх сурвалжийг өөрийн гэж хүлээж авахгүй.
Хэрэв клиентүүдэд интернетийн гаралт ч хэрэгтэй бол түүнд дэмжигдсэн хаяглалт ба чиглүүлэлтийн загварыг төлөвлөж, хувийн пулаас хамааралгүй байлгаж, хоёр замыг тусад нь туршаарай. Ажиллаж буй нэг зам нөгөө тухай юу ч хэлэхгүй бөгөөд хоёулыг хольсон загвар эвдэрсэн туннель мэт харагдах байдлаар бүтэлгүйтдэг.