Додајте приватни IPv6 у OpenVPN лабораторију, једну контролну тачку по једну
Задржите спољни транспорт на IPv4 и проширите унутрашњи план. Пет контролних тачака: префикси, помоћник, потисак руте, прослеђивање и тест на страни клијента.
Већ имате клијента који се повезује преко IPv4 и долази до приватног IPv4 радног оптерећења иза сервера. Циљ је доћи до приватног IPv6 радног оптерећења кроз исти тунел без дирања спољног транспорта. Тај редослед је важан: спољни пут остаје IPv4, а мењају се само унутрашњи план адреса, рута клијента и повратни пут од сервера до LAN-а. Пет контролних тачака, свака са нечим конкретним за проверу пре наставка.
Прва контролна тачка: веза која већ ради
Повежите клијента и потврдите IPv4 пут пре него што било шта додате. Тунел који ради даје вам основну линију која одваја нову IPv6 грешку од старог проблема са повезивањем. Такође вам каже коју инстанцу сервера заиста уређујете.
Забележите базен, топологију и потиснуте руте на које се већ ослањате. IPv6 рад проширује ту конфигурацију; не замењује је.
Друга контролна тачка: изаберите унутрашње префиксе
Изаберите ULA /48 за локацију и исеците два /64 из ње: један за клијенте тунела, један за LAN сегмент са IPv6 радним оптерећењем. Генеришите 40-битни глобални ID уместо да копирате пример префикса, и проверите обе подмреже према свакој мрежи коју локација већ усмерава:
Outer transport: IPv4 OpenVPN UDP
IPv4 pool: 10.90.0.0/24
IPv6 VPN pool: fd73:93bc:b6e9:77::/64
IPv6 LAN: fd73:93bc:b6e9:60::/64
Server LAN IPv6: fd73:93bc:b6e9:60::1Два независна /64 спречавају да се клијентски базен исече из LAN сегмента, што је важно касније када пишете повратну руту. Вредности изнад су један разрађен пример, не префикс за поновну употребу.
Трећа контролна тачка: додајте помоћника и потисак руте
Прочитајте тренутну конфигурацију сервера пре него што било шта додате. Други примерак постојеће директиве не спаја се са првим, а настала грешка именује директиву, а не IPv6. Уз постојећи IPv4 помоћник, два реда га проширују. Сваки одговара на друго питање:
server-ipv6 fd73:93bc:b6e9:77::/64
push "route-ipv6 fd73:93bc:b6e9:60::/64"Први је практични помоћник који подешава интерфејс и клијентски базен. Други именује LAN одредиште до којег клијент треба да дође. Давање IPv6 адресе клијенту не каже му које мреже постоје иза сервера, па су потребна оба реда.
Помоћник не коегзистира са статичним IPv6 базеном ни са nopool. Ако распоређивање намерно додељује адресе статички, задржите ту политику и експлицитно пројектујте IPv6 еквивалент уместо да бришете политику да би се уклопила у пример.
Четврта контролна тачка: прослеђивање и рута одговора
Укључите IPv6 прослеђивање на серверу кроз сопственог власника конфигурације система, а не једнократним записом у време извршавања који ћете заборавити. Облик у време извршавања корисан је за брзи тест. Трајна конфигурација припада drop-in датотеци коју чита мрежни власник дистрибуције:
sysctl -w net.ipv6.conf.all.forwarding=1Прослеђивање мења IPv6 понашање хоста више од усмеравања пакета. Хост који је као клијент прихватао огласе рутера престаје то да чини на исти начин када почне да прослеђује. Зато машина чији IPv6 узлазни канал зависи од RA треба јасан план за тај канал.
Затим дајте LAN-у руту назад до базена тунела. IPv6 гејтвеј радног оптерећења је LAN рутер, а не VPN сервер, па рута припада том рутеру и показује на LAN адресу сервера:
ip -6 route add fd73:93bc:b6e9:77::/64 via fd73:93bc:b6e9:60::1Задржите ICMPv6 типове који су вези потребни, укључујући повратну информацију о MTU пута. IPv4 правило заштитног зида не подразумева IPv6 правило, а потпуно блокирање IPv6 квари откривање суседа на начин који изгледа као грешка усмеравања.
Пета контролна тачка: прочитајте клијента, па тестирајте
Поново повежите клијента и прочитајте адресе које је заиста добио уместо да их изводите из помоћне адресе сервера. Списак интерфејса показује обе фамилије на истом уређају:
ip -6 addr show tun0
ip -6 route get fd73:93bc:b6e9:60::20Рута која одабере тунел доказује да клијент зна где да пошаље пакет. Не доказује да га сервер прослеђује, да LAN рутер има повратну руту или да апликација сме да одговори.
Тестирајте саму апликацију преко сваке фамилије редом, па поновите након поновног повезивања и након рестарта хоста. Рута или sysctl која преживи само до рестарта је тест, а не пројекат.
Објавите AAAA запис тек када IPv6 пут одговори од почетка до краја. DNS упитан преко IPv4 још може вратити IPv6 адресу, па разрешиво име није доказ да нешто слуша. RFC 4193 ULA смернице покривају генерисање глобалног ID-а који чини ове префиксе вашим, а не копијом.