OpenVPN лабораториясына жеке IPv6 кошуу, бир убакта бир текшерүү пункту
Сырткы транспортту IPv4-тө калтырып, ички планды кеңейтиңиз. Беш текшерүү пункту: префикстер, жардамчы, маршрутту түртүү, кайра жиберүү жана кардар тараптагы сыноо.
Сизде IPv4 аркылуу туташып, сервердин артындагы жеке IPv4 жумуш жүгүнө жеткен кардар бар. Максат — сырткы транспортко тийбестен ошол эле туннелден жеке IPv6 жумуш жүгүнө жетүү. Бул тартип маанилүү: сырткы жол IPv4 бойдон калат, ал эми ички дарек планы, кардардын маршруту жана серверден LAN-га кайтуу жолу гана өзгөрөт. Беш текшерүү пункту, ар биринде андан ары өтүүдөн мурун кароого татыктуу конкреттүү нерсе бар.
Биринчи текшерүү пункту: буга чейин иштеп жаткан туташуу
Бир нерсе кошпой туруп кардарды туташтырып, IPv4 жолун ырастаңыз. Иштеп жаткан туннель жаңы IPv6 катасын эски туташуу көйгөйүнөн ажыратуучу базалык сызык берет. Ал ошондой эле кайсы сервер нускасын чындыгында оңдоп жатканыңызды көрсөтөт.
Сиз таянып жаткан пулду, топологияны жана түртүлгөн маршруттарды жазып алыңыз. IPv6 иши ошол конфигурацияны кеңейтет; алмаштырбайт.
Экинчи текшерүү пункту: ички префикстерди тандаңыз
Сайт үчүн ULA /48 тандап, андан эки /64 кесип алыңыз: бири туннелдин кардарлары үчүн, бири IPv6 жумуш жүгү бар LAN сегменти үчүн. Мисал префиксти көчүрүүнүн ордуна 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 дарбазасы VPN сервери эмес, LAN маршрутизатору, ошондуктан маршрут ошол маршрутизатордо болуп, сервердин 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 жолу учунан учуна жооп бергенде гана жарыялаңыз. IPv4 аркылуу суралган DNS дагы эле IPv6 дарегин кайтарышы мүмкүн, ошондуктан чечилүүчү ат бир нерсенин угуп жатканына далил эмес. RFC 4193 ULA көрсөтмөсү бул префикстерди көчүрмө эмес, сиздики кылуучу глобалдык ID жаратууну камтыйт.