Hi, Guest!
+

Как се пуска IPv6 тунел до домашен рутер

30-05-2015 ipv6 windows Roumen

Чудех се как бързо и лесно да пусна IPv6 тунел директно до домашния ми рутер, така че да имам перфектна IPv6 свързаност за всички устройства в своята мрежа, без да се налага да пускам отделни тунели за всяко едно от тях. Този сценарий отдавна ми се въртеше в главата, но нямах подходящ рутер, който да поддържа желаната функционалност, така че да постигна желания резултат без излишни глупости.

След като направих ъпгрейд на домашната си мрежа реших да си купя рутер от малко по-висок клас, който да може да се справи и с тази задача. След недълго обмисляне се спрях на Asus AC-56U, с него успях на практика да постигна желаната IPv6 поддръжка на мрежите си.

Ползвайки стоковия фърмуер нямах никакви проблеми буквално с един клик да конфигурирам тунел от типа 6in4, както може да си види от картинката по-долу.

Разбира се необходимите ми данни бяха взети от провайдъра ми Hurricane Electric предлагаш IPv6 свързаност чрез услугата си tunnelbroker. След като тествах всички европейски дестинации останових, че най-добра свързаност имам към Прага (Чехия), където латентността е около 20 ms. Имат център и в София и ако в бъдеще пуснат поддръжка на тунели до него, резултата ще е още по-добър.

Разбира се ползвам dns сървърите на he, които са чудесно интегрирани и предлагат супер лесно конфигуриране на обратен резолв за желаните ip адреси. Една оснобеност при тези тунели и необходимостта от статично ip4 на доставчика, нещо което също вече не е задължително, заради чудесната възможност да се ползва динамичен dns с простичък скрипт, или да се направи врътка със cname запис и нисък ttl.

Конкретно за настройки в рутера за dns сървъри препоръчва opendns за ipv6, както и isp dns за ipv4, като определно трябва да има поддръжка и на двата протокола за да имаме наистина пълноценен dual stack.

Аз лично предпочитам да ползвам /48 мрежа, защото нямам необходимост от /64 особено когато говорим за домашна мрежа с не повече от 5-6 пълноценни клиента.

На картинката по долу се вижда примерче за настройките на rDNS записите, в dns мениджъра на he.

След като тунела е настроен е време да се разреши IPv6 протокола и за клиентите в режата. Рутера раздава random IPv6 адреси заедно с IPv4, но липсва функционалност да се резервират адреси за отделни клиенти, затова предпочитам да ползвам ръчни настройки, както се вижда от следващите картинки.

Обърнете внимание, че в този случай посочвам изрично dns сървърите, които искам да се ползват, конкретно в случая това са opendns адреси, от които останах най-доволен при тестовете.

След рестарт на мрежовия интерфейс, е време за тестване на резултата, има много сайтове предлагащи тестове и анализи, следващия пример е от тази тест страница.

Сблъсках се и с няколко дребни особености под WIndows 8.1, които ме подразниха. Първо въпреки, че посочих ръчно IPv6 адрес, машината си взимаше и допълнителен адрес от DHCP-то на рутера. Така имах два различни адреса към интерфейса, като втория беше напълно random, което не бе желаната функционалност, която търсех. Този проблем го реших като използвах като администратор тази команда в командния промп (където Ethernet е името на мрежовия ми интерфейс):

netsh int ipv6 set int Ethernet routerdiscovery=disabled

Друг проблем за мен бяха тъй наречените временни IPv6 адреси, чиято идея не ми хареса, тях ги забраних с тези две команди:

netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled

Все пак исках да продължа да ползвам IPv4 по-подразбиране, а IPv6 само като fallback, но с изнената останових, че Windows дава по-подразбиране по-висок приоритет на IPv6 ако е разрешен, а това дори може да доведе до някои неприятни проблеми. Затова промених приоритета на IPv6 с този дребен трик, с който мрежата в примера на HE да има много нисък такъв.

netsh interface ipv6 add prefixpolicy 2001:470::/32 3 6

Няколко дена по-късно нямам никакви проблеми, като разликата в латентността и скоростта, която развивам при нормални обстоятелства е нищожна.