OpenVPN дахин эхэлсний дараа IPv6 гаралт үхдэг: префиксийн эзэмшлийг шалгана уу
Туннель дахин үүссэний дараа IPv6 үхдэг. Ямар нэг зүйлийг дахин эхлүүлэхийн өмнө шилжүүлсэн префикс, клиентийн хаяг, буцах маршрут хэнд харьяалагдахыг шийдээрэй.
IPv6 нь OpenVPN дахин эхлэх тэр мөчид трафик дамжуулахаа болих бөгөөд IPv4 үргэлжлүүлэн ажиллана. Туннелийн интерфейс дахин үүссэн бөгөөд түүний IPv6 төлөвийг удирдаж байсан өөр нэг зүйл хаягийг эсвэл префиксийг хүртээмжтэй болгодог маршрутыг алдсан. Гурван тусдаа төлөвийн хэсэг оролцож байгаа бөгөөд тус бүр өөр эзэнтэй: үйлчилгээ үзүүлэгчийн шилжүүлсэн префикс ба түүний амьдрах хугацаа, VPN клиентүүдэд өгсөн хаягууд, тэдгээр клиентийн префиксийг сервер рүү буцаадаг дээд маршрут. Аливаа демонг хүрэхээс өмнө тус бүрийн эзнийг тодорхойл, учир нь бурууг дахин эхлүүлэх нь асуудлыг нэг өдрийн турш нууж, дараагийн холболтод буцааж авчирдаг.
IPv6 төлөвийн гурван хэсэг, гурван эзэн
| State | Typical owner | What breaks when it is wrong |
|---|---|---|
| Delegated prefix and lifetime | Upstream router or provider via DHCPv6-PD | Clients keep addresses that the upstream no longer routes |
| Client addresses inside the tunnel | OpenVPN server config or a delegation daemon | No global address, or an address outside the routed prefix |
| Return route for the client prefix | Upstream router, or the server's own routing table | Outbound works, replies never arrive |
Туннелийн доторх дэлхийн хүрээний хаяг дангаараа хангалтгүй. Дээд маршрутлагчид тэр префиксийг VPN сервер рүү буцааж илгээх ёстой бөгөөд серверт түүнээс нэг хаяг санамсаргүй байгаа учраас тэд үүнийг хийхгүй.
Тиймээс нийтийн /64-ийг туннелийн сан руу хуулах нь бас эрсдэлтэй. Сервер рүү чиглүүлсэн префикс нь дээд тал on-link гэж үздэг префикстэй ижил биш бөгөөд хөршийн нээлт энэ цоорхойг нөхөхгүй.
Ямар нэг зүйлийг өөрчлөхөөс өмнө серверийн төлөвийг уншаарай
Төлөвийг хоёр удаа ав, нэг удаа IPv6 ажиллаж байхад, нэг удаа дахин эхэлсний дараа, дараа нь харьцуул. Зөвхөн унших харагдац хангалттай бөгөөд засвар үйлчилгээний цонхны үеэр ямар ч зардалгүй:
ip -6 addr show
ip -6 route show table all
ip -6 rule show
sysctl net.ipv6.conf.all.forwarding
Гурван тодорхой ялгааг хай: алга болсон маршрут, хуучирсан эсвэл хүчингүй амьдрах хугацаа руу шилжсэн хаяг, дахин шилжүүлсний дараа өөрчлөгдсөн боловч VPN тохиргоо хуучныг зарлаж байгаа префикс.
Хэрэв хаяг алга болсон боловч префикс өөрчлөгдөөгүй бол түүнийг олгодог демон интерфейсийг удирдахаа больсон. Хэрэв префикс өөрчлөгдсөн боловч хаягууд өөрчлөгдөөгүй бол клиентийн тохиргоо хуучирсан. Хоёр алдаа хөтчөөс ижил харагдах бөгөөд нийтлэг зүйлгүй.
dhcpcd туннелийг удирдах эсэхийг шийд
dhcpcd интерфейсийг илрүүлж, DHCPv6 префиксийн хэсгүүдийг доод интерфейс рүү шилжүүлж чадна, тохиргоо нь шилжүүлгийн зорилтуудыг тодорхой нэрлэж чадна. Тодорхой зорилтгүй бол түүний баримтжуулсан зан төлөв бусад интерфейсийг хамарч болох бөгөөд ингэснээр туннель хэн ч төлөвлөөгүй хаягтай болдог.
Хоёр нөхцөл таныг туннелийн статик хаягжуулалтыг OpenVPN-д үлдээх рүү түлхэх ёстой: сервер тохиргоондоо тогтмол хаягуудыг түлхдэг, дахин холбогдоход туннелийн нэр өөрчлөгддөг. Хоёулаа үнэн бол туннелийг шилжүүлгийн демоноос санаатайгаар хасаж, шалтгааныг бичсэн тайлбар үлдээ.
Хэрэв харин туннель рүү шилжүүлэх нь санаатай бол, префикс өөрчлөлтийг боловсруулахыг хэрэгжүүл. Энэ нь шилжүүлсэн префикс эсвэл түүний амьдрах хугацаа өөрчлөгдөхөд хариу үйлдэл хийх, серверийн зарласан клиентийн префиксийг шинэчлэх, маршрутыг дахин нэмэх гэсэн үг. Тэр загварт интерфейсийг хасах нь шинэ префиксийг мэддэг цорын ганц бүрэлдэхүүнийг арилгана.
dhcpcd-г дахин эхлүүлэх нь төлөвийг дахин үүсгэдэг учраас асуудлыг зассан мэт харагдаж болох ч, энэ нь таны бодож байгаагүй интерфейсийн тохиргоог шинэчлэх эсвэл буцаан татах юм. Ийм сэргээлт нь VPN дахин эхлэх бүрийн дараа үүнийг шаардлага болгохгүй. Мөн нотолгоо болгон ашиглаж байсан тоолууруудыг тэглэдэг. Таны үнэхээр өөрчилсөн интерфейсийн зорилтот дахин ачааллыг илүүд үзээрэй.
IPv6-г IPv4 NAT-аас тусад нь шалга
Дамжуулалт идэвхтэй бөгөөд дээд маршрут бодит клиентийн префикс рүү зааж байгааг баталж, дараа нь шинэ зөвшөөрөгдсөн IPv6 холболт хий. Клиентийн өөрийн IPv6 маршрутын хүснэгтийг мөн шалга, учир нь нийтийн хаяг харуулж байгаа клиент түүний хүсэлт туннелийг ашигласныг батлахгүй.
IPv4 маск хийх нь өөр асуудлыг шийддэг: хувийн эх сурвалжийн буцах зам. Энэ нь буцаан татсан IPv6 префиксийн хувьд юу ч хийдэггүй бөгөөд нэмэх нь IPv6-г буцааж авчрахгүй.
Эзэмшлийн бүртгэлээр дуусга: аль бүрэлдэхүүн префиксийг шилжүүлдэг, аль нь клиентийн хаяг олгодог, аль нь буцах маршрутыг барьдаг, дахин холбогдоход тус бүрд нь юу тохиолддог. Runbook дахь дөрвөн мөр дараагийн хүнд чухал байсан нэгийг олохын тулд гурван демоныг дахин эхлүүлэхээс хэмнэнэ.