Како тестирати IPv6 кроз VPN сопственим ресурсом
Није вам потребан јавни проверавач IPv6 да бисте доказали да једна путања ради. Користите ресурс који контролишете, забележите оба краја и запишите шта тест није покрио.
Јавна страница за проверу IP-а одговара на једно питање, и обично не на оно које сте поставили. Она вам каже излазну адресу коју је страница видела; не каже да ли рута IPv6 кроз тунел ради, да ли је домаћин дао предност IPv6 или се повукао, ни да ли је искључена апликација кренула другим путем. Овлашћени ресурс који контролишете исправно одговара на уже питање, јер видите оба краја. Упутство испод говори о долажењу до закључка који можете да браните, а не о зеленом резултату.
Корак 1: наведите коју путању IPv6 тестирате
Реците то једном реченицом. Захтев на сопствену адресу IPv6 сервера тунела тестира тунел; захтев на домаћина иза излаза тестира излаз IPv6 излаза; захтев на приватну адресу IPv6 тестира унутрашњу путању.
То су три различите тврдње и један успешан захтев не може да подржи све. Изаберите ону која је важна за одлуку пред вама и запишите је пре него што било шта покренете. Ако је брига да ли IPv6 цури око тунела, питање је о избору путање на домаћину, не о достижности излаза. Ако је брига да ли далека страна може да дође до унутрашње услуге, излаз није битан.
Корак 2: потврдите да домаћин бира ту путању
ip -6 route get 2001:db8:1::10 исписује путању, изворну адресу и интерфејс који би језгро користило, и од те чињенице зависи остатак теста.
Постојање интерфејса није исто што и његов избор. Домаћини са два стека имају табелу приоритета, а /etc/gai.conf на Linux-у може да промени која фамилија побеђује за име које се разрешава на обе.
Корак 3: користите легитимно одредиште и име
Ако тестирате HTTPS, користите име домаћина за које је сертификат издат и држите проверу укључену; прелазак на буквалну адресу да би тест прошао искључује управо ону проверу која доказује да сте стигли до жељеног домаћина. Дијагностичка услуга коју контролишете, која одговара на познатом имену са важећим сертификатом, најчистија је мета. Она вам даје и линију дневника на страни сервера за поређење, што проверавач треће стране никада неће дати.
Покрените захтев у облику који показује коришћену адресу: curl -6 -sS -o /dev/null -w '%{remote_ip} %{http_code}\n' https://test6.example.net/. Опција -6 намеће фамилију, и тако раздвајате „IPv6 не ради“ од „IPv6 није био префериран“.
За чисту проверу достижности где је ICMPv6 дозвољен, довољан је ping -6 -c 3 2001:db8:1::10. Доказује путању и ништа изнад ње.
Корак 4: усагласите оба краја
Када имате приступ оба краја, покрените tcpdump -ni any ip6 and host 2001:db8:1::10 на клијенту и еквивалент на ресурсу, са временским ознакама, и потврдите да се исти ток појављује на оба. То претвара вероватан резултат у доказ: само виђење клијента не може да разликује одговор ресурса од одговора нечега између. Држите снимање уско на једном одредишту да излаз остане читљив и да ничија неповезана сесија не заврши у датотеци.
Поновите тест после поновног повезивања ако је брига да ли политика преживљава рестарт. Стање путање и заштитног зида примењено једном при повезивању може да се разликује од стања које се поново примењује, а разлика се види само на другом повезивању.
Тестирајте случај неуспеха одвојено ако вам треба. Тунел који блокира IPv6 када падне и онај који га пропушта су различите конструкције, и само један од њих може да се потврди успешним захтевом.
Корак 5: запишите шта тест није доказао
Пети корак је да запишете шта тест није доказао, и управо тај део се изоставља. Успешан тест приватне крајње тачке не доказује јавни излаз IPv6, не доказује понашање DNS-а и не покрива апликације које сте искључили из тунела. Свако од тога тражи своје одредиште и своје посматрање. Белешка која каже да IPv6 ради после једног захтева на један домаћин није налаз; то је претпоставка са временском ознаком.
Запис који вреди сачувати је кратак: одредиште, име, изворна адреса коју је домаћин изабрао, примећена удаљена адреса и време. RFC 7359 разматра како да се тестира да је релевантна путања IPv6 заиста употребљива, и то је стандард коме ово упутство прилази једноставнијим алатима. Ако закључак захтева јавни проверавач да би био истинит, тест није био довољно конкретан.