5 августа 2013 в 16:03

MikroTik — 6in4 или IPv6 без поддержки провайдера

Захотелось мне воспользоваться технологией IPv6 по некоторым причинам, но мой провайдер не предоставляет данную услугу. Гугл подсказал о 6in4 механизме, позволяющему передавать IPv6 пакеты через IPv4 сеть моего провайдера, который поддерживается моим роутером MikroTik RouterBoard 951g-2hnd.

image



Начало


Для начала нам необходимо:
  • «белый» постоянный IPv4 адрес от провайдера (так называемый выделенный IP адрес) — если у Вас «белый», но динамический адрес, то стоит почитать вот это: Hurricane Electric IPv6 Tunnel — IPv4 Endpoint updater
  • не заблокированы входящие пакеты ICMP (т.е. Ваш выделенный IP адрес можно пингонуть из интернета. Некоторые провайдеры блокируют входящие ICMP пакеты)


Туннельный брокер



Зарегистрироваться у туннельного брокера. Я пользуюсь Hurricane Electric

Переходим по этому адресу и регистрируемся. В этом нет ничего сложного. В ответ получаем письмо с логином и паролем. Вводим их на сайте и создаем туннель: «User Functions — Create Regular Tunnel» В поле вводим Ваш выделенный IP адрес, рядом Ваш текущий IP адрес если Вы регистрируетесь там где желаете настроить данное соединение то выделенный IP адрес идентичен текущему. Далее выбираем ближайший туннельный сервер, в этом нам может помочь: Looking Glass. Создаем!

В результате получаем:
image

Тут указанны адреса сервера IPv4 и IPv6, а также Ваши — клиента. Так же ниже указана сеть /64 для Ваших устройств.

Во вкладке «Example Configurations» выбираем настройки для MikroTik:
image

Настройка Mikrotik



Допустим Ваш выделенный IP адрес 49.45.157.133, адрес сервера 236.63.85.135, IPv6 адрес сервера 2001:470:2e3a:5fe::1 и IPv6 адрес клиента 2001:470:2e3a:5fe::2/64, а также 2001:470:2e3b:5fe::1/64 первый адрес в выделенной для Вас /64 подсети 2001:470:2e3b:5fe::/64

Те настройки которые нам предложили в разделе «Example Configurations»:
/interface 6to4 add comment="Hurricane Electric IPv6 Tunnel Broker" disabled=no local-address=49.45.157.133 mtu=1280 name=sit1 remote-address=236.63.85.135
/ipv6 route add disabled=no distance=1 dst-address=2000::/3 gateway=2001:470:2e3a:5fe::1 scope=30 target-scope=10
/ipv6 address add address=2001:470:2e3a:5fe::2/64 advertise=yes disabled=no eui-64=no interface=sit1

И адрес IPv6 для интерфейса BRIDGE:
/ipv6 address add address=2001:470:2e3b:5fe::1/64 advertise=yes disabled=no eui-64=no interface=BRIDGE

Интерфейсом BRIDGE у меня объединены внутренние ethernet порты и беспроводной интерфейс, также в сети раздается IPv4.

На компьютере включаем поддержку IPv6 если она у Вас отключена. Должен появится доступ к интернету по IPv6. Также должны появится адреса IPv6 в сведениях интерфейса или в консоли при выводе команды ipconfig /all

Сведения интерфейса
image


ipconfig /all
image


Если все в порядке то должен пинговаться ipv6.google.com, а также успешно проходить тест

Пинг ipv6.google.com
image


Тест test-ipv6.com
image


Если последняя часть теста не прошла и у Вас 9/10 то Ваш DNS сервер (предоставляемый вашим провайдером) не имеет доступ к IPv6 интернету. Лечится легко просто прописываем DNS Google

Google Public DNS IP addresses

The Google Public DNS IP addresses (IPv4) are as follows:

8.8.8.8
8.8.4.4
The Google Public DNS IPv6 addresses are as follows:

2001:4860:4860::8888
2001:4860:4860::8844
You can use either number as your primary or secondary DNS server
You can specify both numbers, but do not specify one number as both primary and secondary.

You can configure Google Public DNS addresses for either IPv4 or IPv6 connections, or both.


Windows периодически генерит IPv6 адреса из-за чего некоторые сайты ругаются на то что у пользователя меняется IP адрес. Отключается это просто (без перезагрузки):

netsh interface ipv6 set global randomizeidentifiers=disabled store=active
netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent
netsh interface ipv6 set privacy state=disabled store=active
netsh interface ipv6 set privacy state=disabled store=persistent


При написании пользовался:
Основы IPv6
IPv6 — он рядом.
Протокол IPv6
Александр Ф. Михайлов @chelaxe
карма
13,0
рейтинг 0,0
Самое читаемое Администрирование

Комментарии (35)

  • 0
    А машины внутри сети будут доступны по ipv6? Настраивал по одной из инструкций в сети, там еще получалась от HE зона в /48 и использовалась для раздачи внутри сети.
    • 0
      Да. Машины внутри сети будут доступны по ipv6. Адреса у них будут (из условия статьи) 2001:470:2e3b:5fe::/64 сети выданной .Hurricane Electric.
  • +2
    в данном случае настроен туннель 6in4 через электриков.
    туннель 6to4 немного другое, у него другие принципы формирования префикса и нет зависимости (явной) от брокера
    • 0
      Спасибо об этом не знал. Подправил.
  • –3
    Не сильно хочется доверять свой IP стороннему сервису, причем там даже сертификата безопасности нет.
    • +3
      Вы доверяете свой IP всем сайтам на которые заходите.
      Чем этот сервис хуже?
  • +2
    Проблема в том что если вы захотите использовать IPv6 без IPv4 то вам понадобятся IPv6 адреса DNS-серверов. Микротик может раздавать их по ND но не может по DHCPv6 а Windows наоборот может получать их по DHCPv6 и не может по ND, что очень неудобно — приходится прописывать адреса DNS-серверов вручную.
  • 0
    AirPort от Apple оказывается тоже поддерживает такой режим работы, весьма интересно
    • 0
      Да все сейчас поддерживают. Вон, коллега 6to4 замутил на OpenWRT. Zyxelы новые, если я не ошибаюсь, поддерживают из коробки.
      • +1
        новые как раз не поддерживают, асусы — с черным интерфейсом поддерживают все подряд, static, dhcpv6(pd), 6in4, 6to4, 6rd
        • 0
          AirPort о Apple принимает от radvd ipv6.
  • 0
    Езе дополнение.
    У HE есть теперь ddns. Если у вас динамический ip, можно написать скрипт который будет обращатся к HE и обновлять ip в dns записи.
    Естественно вам нужен домен, но эта не такая большая проблема на текущий момент.
  • 0
    >Интерфейсом BRIDGE у меня объединены внутренние ethernet порты и беспроводной интерфейс, также в сети раздается IPv4

    Вопрос, а зачем объединять внутренние eth bridge? если для этого можно сделать на уровне switch?
    • 0
      Именно так у меня и сделано, а в интерфейс BRIDGE объединены wlan и ether-master. Про это писать здесь нет смысла, ведь статья не об этом.
      • 0
        если wlan то понятно. Без этого не как.
        • 0
          Ну почему же никак. В своё время меня удивило устройство Cisco 877W. Там в свитче шесть портов: процессор, встроенная точка доступа и четыре выведены наружу. Можно, конечно, точку доступа и проводные развязать виланами, а можно оставить свитчу, тогда будет бридж не программный (и даже, если я правильно понимаю, не cef — именно что аппаратно всё обрабатывается микросхемой).
          • 0
            в mikrotik или bridge или route делать на беспроводную карту. Аппаратно к ней не достучатся.
            Т.е. wlan не является частью switch.

            Vlan в microtik то же очень интересно реализован. Я бы сказал своеобразно.

            Достаточно посмотреть статью www.lanmart.ru/blogs/how-to-become-isp-3

            P.S. Хотя конечно я могу ошибся.
  • 0
    Не знаю зачем, но подобные мануалы я закидываю в избранное. Хоть и вряд ли когда-нибудь буду использовать.
  • 0
    Адрес шлюза почему-то висит в unreacheable и, соответственно, не пингуется с роутера (RB751-2HnD). Не сталкивались с таким?
    • 0
      Доступен ли адрес сервера? Адрес (из условия статьи): 236.63.85.135, может изменить его? Посмотрите сервера поближе и проверьте их через Looking Glass
      • 0
        Да, через LG почему-то не трассируется адрес, выданный мне как публичный.
      • 0
        Всё разрешилось, оказывается у меня наглухо был зарезан весь input в ipv4-фаерволе для внешнего интерфейса. Вот и резался 6to4.
  • –1
    По-моему с 6to4 гемора меньше в разы.
    • +1
      но и глючит он посильнее
      • 0
        например?
        • 0
          Он основан на Anycast-адресах 192.88.99.0/24. Т.е. сразу много провайдеров анонсируют эту сеть, и твои пакеты попадают к тому, который топологически ближе.

          А не факт, что этот провайдер вообще нормально работает. То сбойнёт у него что-нибудь, то канал загружен. То он перестанет быть топологически ближе — такие перестройки интернета происходят сплошь и рядом, и на работе Anycast сказываются.

          А то вообще твой провайдер в свою очередь фильтрует анонсы этой сети (и такое видел), так что через него вообще 6to4 работать не будет никак.
          • 0
            Да, некоторое количество крупных провайдеров держит у себя anycast relay, и могут фильтровать.
            Но не все так плохо, в качестве релея ничего не мешает указать любой публичный unicast адрес 6to4 роутера.
            • +1
              Ну вот и гемор появился… А изначально мысль была о том, что «гемора меньше в разы».
              • 0
                в разы и остается, регистрация не нужна, обновление адреса локального эндпоина не нужно (не у всех статика), входящее icmp echo не нужно, из-за ассиметрии входящий туннельный трафик скорее дойдет, чем не дойдет, если даже на ближайшем релее проблемы. мало?
                и да, reverse dns тоже возможен.
    • 0
      Согласен, мне тоже кажется что 6to4 проще
      И адрес: вместо 192.88.99.0/24 можно любой другой релей прописать
  • 0
    Пробовал TunnelBroker от HE. Огорчил очень сильно Youtube — все ролики хотели грузиться по IPv6, следовательно пропускаются через сервера HE и только потом уходят уже ко мне. В общем было ужасно медленно, иногда даже 360p не хотело пролазить.
    Также огорчило, что все все сервера физически расположены в Европе, поэтому пинг из Омска через сеть Билайна был под 100-120 только до серверов. Ну и трафик весь гоняется через ту же Европу.
    • 0
      Странно, когда пользовался, ютутб через Hurricane Electric шустро грузил даже 1080p, 20-30мбит без проблем. Но у меня и пинги были пониже, до серверов 70-80. Могу посоветовать попробовать Sixxs, у них есть сервер в Санкт-Петербурге (им сейчас и пользуюсь, пинг 10-15, но замороченная регистрация), либо tb.netassist.ua, но у них отсутствует коннект с теми кто пользуется 6to4 (teredo и прочие).
  • 0
    Спасибо за статью! Как раз решил сделать первый шаг в мир IPv6… настроил все на Mikrotik'е — IPv6 работает, www.test-ipv6.com — 10 из 10. Но есть одна странность, после того как поднялся туннель тот же tunnelbroker.net по IPv6 перестал открываться. Хотя и пингуется. Т.е. имеем следующую картинку:

    Скрытый текст
    C:\Users\Decker\Desktop\!IPv6>ping -6 tunnelbroker.net
    
    Обмен пакетами с tunnelbroker.net [2001:470:0:63::2] с 32 байтами данных:
    Ответ от 2001:470:0:63::2: время=198мс
    Ответ от 2001:470:0:63::2: время=198мс
    Ответ от 2001:470:0:63::2: время=198мс
    Ответ от 2001:470:0:63::2: время=198мс
    
    Статистика Ping для 2001:470:0:63::2:
        Пакетов: отправлено = 4, получено = 4, потеряно = 0
        (0% потерь)
    Приблизительное время приема-передачи в мс:
        Минимальное = 198мсек, Максимальное = 198 мсек, Среднее = 198 мсек
    



    Однако:

    Скрытый текст
    wget.exe -6 https://tunnelbroker.net/ --no-check-certificate
    --2015-05-15 04:43:58--  https://tunnelbroker.net/
    Resolving tunnelbroker.net (tunnelbroker.net)... 2001:470:0:63::2
    Connecting to tunnelbroker.net (tunnelbroker.net)|2001:470:0:63::2|:443... connected.
    


    И на этом все «висит». Хотя тот же самый google.com или yandex.com превосходно открываются:

    Скрытый текст
    C:\Users\Decker\Desktop\!IPv6>wget.exe -6 https://google.com/ --no-check-certificate
    --2015-05-15 04:45:03--  https://google.com/
    Resolving google.com (google.com)... 2a00:1450:4001:801::1000
    Connecting to google.com (google.com)|2a00:1450:4001:801::1000|:443... connected.
    WARNING: cannot verify google.com's certificate, issued by `/C=US/O=Google Inc/CN=Google Internet Authority G2':
      Unable to locally verify the issuer's authority.
    HTTP request sent, awaiting response... 302 Found
    Location: https://www.google.de/?gfe_rd=cr&ei=nk9VVfOADsSG8QfFuoHoCw [following]
    --2015-05-15 04:45:03--  https://www.google.de/?gfe_rd=cr&ei=nk9VVfOADsSG8QfFuoHoCw
    Resolving www.google.de (www.google.de)... 2a00:1450:4001:801::101f
    Connecting to www.google.de (www.google.de)|2a00:1450:4001:801::101f|:443... connected.
    WARNING: cannot verify www.google.de's certificate, issued by `/C=US/O=Google Inc/CN=Google Internet Authority G2':
      Unable to locally verify the issuer's authority.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/html]
    



    В чем может быть причина?
    • 0
      Разобрался:
      Скрытый текст
      /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
      


      Приведенные правила для IPv6 Firewall в Mikrotik исправляют ситуацию.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.