Додајте приватен 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 што ги прави овие префикси ваши, а не копија.