IPv6 престаје да пропушта саобраћај у тренутку када се OpenVPN поново покрене, а IPv4 наставља да ради. Интерфејс тунела је поново створен, а нешто друго што је управљало његовим IPv6 стањем изгубило је или адресу или руту која чини префикс доступним. Укључена су три одвојена дела стања и сваки има другог власника: делегирани префикс провајдера и његов животни век, адресе додељене VPN клијентима и узлазна рута која тај клијентски префикс шаље назад серверу. Идентификујте власника сваког дела пре него што додирнете било који демон, јер поновно покретање погрешног крије проблем на дан и враћа га при следећем повезивању.

Три дела IPv6 стања, три власника

StateTypical ownerWhat breaks when it is wrong
Delegated prefix and lifetimeUpstream router or provider via DHCPv6-PDClients keep addresses that the upstream no longer routes
Client addresses inside the tunnelOpenVPN server config or a delegation daemonNo global address, or an address outside the routed prefix
Return route for the client prefixUpstream router, or the server's own routing tableOutbound 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-у штеде следећу особу од поновног покретања три демона да би нашла онај који је био важан.

Повезани чланци