Скажу сразу, что в статье все очень доступно расписано и по ней можно все настроить "вслепую", за исключением нескольких моментов. Как известно, Ростелеком предоставляет подключение по PPPoE, а это налагает определенные ограничения. Именно с этой проблемой я и столкнулся, когда у меня все заработало, но по IPv6 открывались только google.com и yandex.com, при этом все остальные ресурсы пинговались на ура (сразу дам маленький намек - MTU, MSS). Но об этом чуть позже ... сначала покажу некоторые результаты (тут будет немного скриншотов и по делу и без):
Результаты теста скорости на http://ipv6-speedtest.net/ |
Кстати, cервисы проверки скорости соединения с поддержкой IPv6 можно найти здесь, а отличный сайт посвященный протоколу IPv6 здесь. На следующем скриншоте можно увидеть пруф от Google'а, рассказывающий о том что я вошел в будущее интернета (войти в будущее):
Например один торрент-трекер при попытке скачать с него торрент-файл выдал мне следующую ошибку:
Несмотря на то что сам ресурс доступен по IPv6 движок торрент-трекера / форума видимо не предусматривает что у пользователя физически может отсутствовать IPv4 адрес ;)) (обратите внимание, IPv4 я отключил для "чистоты эксперимента", чтобы посмотреть что будет работать с IPv6, а что нет, естественно, что полноценной работы в интернете с одним лишь IPv6 при текущем уровне его распространения не получится ... да и собственно, IPv6 у меня не от провайдера, а через туннель в IPv4).
Давайте теперь посмотрим как оно устроено изнутри, а именно, сейчас, когда у меня отключен IPv4 посмотрим на свойства подключения, маршрутизацию и tracert'ы:
Как видно, первым хопом в списке является мой маршрутизатор, вторым - "второй конец туннеля 6in4" у туннельного брокера (Hurricane Electric), ну а далее хопы вплоть до Google'а.
Вся настройка Mikrotik'а сводится к тому, что описано в статье, ссылка на которую приведена в начале этого поста. Т.е. регистрируемся на Hurricane Electric, выбираем оптимальный для нас сервер и создаем туннель:
Далее идем на закладку Example Configurations и экспортируем конфигурацию для Mikrotik. Это все не сложно и достаточно подробно описано в статье. Единственное, нужно будет задать еще адрес для интерфейса bridge в Mikrotik'е (по-умолчанию он называется bridge-local и служит для объединения ethernet и wlan):
Где 2001:470:2e3b:5fe::1/64 из Routed /64 подсети. Смысл тут очень простой. Есть туннель - sit1, у него есть IPv4 Local и Remote Address, а также Server IPv6 Address и Client IPv6 Address. Это все относится к туннелю, а Routed /64 - это ваша "локальная подсеть". Все необходимые строки конфигурации кроме этой вы можете взять с закладки Export Configurations.
Google'овские DNS, а именно 2001:4860:4860::8888 и 2001:4860:4860::8844 - я прописал в свойствах TCP/IP v6 сетевой карты ПК (в статье есть комментарий "Проблема в том что если вы захотите использовать IPv6 без IPv4 то вам понадобятся IPv6 адреса DNS-серверов. Микротик может раздавать их по ND но не может по DHCPv6 а Windows наоборот может получать их по DHCPv6 и не может по ND, что очень неудобно — приходится прописывать адреса DNS-серверов вручную."), чтобы не разбираться с этим - проще прописать их в свойства сетевого адаптера.
Однако при тестировании IPv6 обнаружилась интересная ситуация - google.com и yandex.com к примеру открывались, однако тот же https://tunnelbroker.net/ при включенном IPv6 напрочь отказывался грузиться, как и многие другие сайты с поддержкой IPv6. Хотя при этом все они пинговались.
Например ping -6 tunnelbroker.net у меня отрабатывал на ура, а вот при попытке зайти на сайт wget.exe -6 https://tunnelbroker.net/ --no-check-certificate все повисало на моменте:
Connecting to tunnelbroker.net (tunnelbroker.net)|2001:470:0:63::2|:443... connected.
Время уже было под утро и я стал читать всякие страсти про MTU, но для нашего туннеля оно и так было выставлено в 1280 ... и тогда я наткнулся на тему I can ping IPv6 addresses over my tunnel, but I am unable to browse websites где собственно и нашлось решение:
/ipv6 firewall mangle add action=change-mss chain=forward in-interface=sit1 new-mss=1220 protocol=\ tcp tcp-flags=syn tcp-mss=1221-65535
/ipv6 firewall mangle add action=change-mss chain=forward new-mss=1220 out-interface=sit1 protocol=\ tcp tcp-flags=syn tcp-mss=1221-65535
Фикс MSS в firewall'е IPv6. Ну а суть проблемы, как я понял своим засыпающим мозгом в том что соединение у нас и так через PPPoE, а тут еще в туннель, который внутри него мы пытаемся запихнуть IPv6 пакеты. В целом чтение про MTU, MSS и т.п. на светлую голову я думаю поможет разобраться в проблеме более детально.
Ну и после этого фикса все заработало как часы ;) Единственный момент, необходимо не забывать что у Ростелеком динамические IP-адреса, а следовательно IP вашего конца туннеля будет меняться. Специально для этого случая есть Hurricane Electric IPv6 Tunnel - IPv4 Endpoint updater, скрипт для Routerboard, который как раз и будет менять этот IP на серверах Hurricane через IP и в настройках Mikrotik'а ... его можно повесить в scheduler.
Единственное, можно потратить много времени на допиливание этого скрипта, общий формат обращения к API следующий (сразу на примере WGET):
wget "http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass=PASS&user_id=USER_ID&tid=TID"
Так вот здесь все не совсем как в мануале:
- USER_ID берется с главной страницы личного кабинета на Hurricane Electric.
- TID - Tunnel ID, берется со страницы созданного туннеля в ЛК.
- PASS - а вот это самое хитрое, он находится на закладке Advanced в ЛК и окрещен как Update Key ;) Именно так ... И еще раз повторюсь, это никакая не MD5 сумма пароля и т.п. (!) ...
Ну и пока, наверное, на этом всё (а то очень спать хочется) ;)
Полезные ссылки
Спасибо. Точно такие же проблемы с MTU MSS были и решилось.
ОтветитьУдалить