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

Что важно — трафик мы будем пускать через свой собственный арендованный сервер, а не через непонятно какого брокера.

Для начала вам потребуется сервер который обладает IPv6 подключением, я буду использовать сервер от DigitalOcean за 5$ c OS Ubuntu последней версии.


Настраиваем сервер


Обратите внимание! часть ПО можно не устанавливать, оно отмечено как опциональное, его стоит установить, только если у вас динамический IP и вы хотите автоматически настраивать доступ при обновлении IP

После получения сервера вам надо обновить доступные пакеты на нем:

sudo apt-get update -y
sudo apt-get upgrade -y

Установить git, sipcalc, apache и php (2 последних — опционально)

sudo apt-get -y git sipcalc

Если вы не планируете авто-настройку при смене IP адреса, данную команду можно пропустить.

sudo apt-get -y apache2 php libapache2-mod-php php-mcrypt

Теперь настала время скачать скрипт который поможет настроить туннель github.com/sskaje/6in4

git clone https://github.com/sskaje/6in4.git

cd 6in4

Копируем скрипт в /bin для привычного нам вызова

sudo cp ./bin/6to4 /bin/6to4

Выдаём права за на запуск

sudo chmod +x /bin/6to4

Копируем файл настроек

sudo cp ./etc/config.ini /etc/config.ini

Редактируем файл с настройками

ifconfig | grep 'inet6 addr:'

$ ifconfig | grep 'inet6 addr:'
          inet6 addr: fe80::000:000:000:000/64 Scope:Link
          inet6 addr: 2a03:000:0:000::00:0000/64 Scope:Global

Нам нужен тот который с препиской Global:

inet6 addr: 2a03:000:0:000::00:0000/64 Scope:Global

Открываем файл с настройками для редактирования:

sudo nano /etc/config.ini

Убираем ";" у строчек:
IPV6_NETWORK=
IPV6_CIDR=
и указываем:


IPV6_NETWORK=2a03:000:0:000::
IPV6_CIDR=48

Нажимаем CNTRL+x, сохраняемся и переходим к добавлению сети:

sudo 6to4 add 1 8.8.8.8

где 8.8.8.8 — ваш внешний IP, узнать его можно, например тут.
В ответ вы получите примерно это:

Please set up tunnel on your machine with following parameters:
    Server IPv4 Address:        99.99.9.9
    Server IPv6 Address:        2a03:000:0:000::1/64
    Client IPv4 Address:        88.8.88.8
    Client IPv6 Address:        2a03:000:0:000::2/64
    Routed /64:                 2a03:g0e0:00g0:3402::/64

Теперь осталось прописать данные настройки в вашем роутере

Пример ниже — настройка Apple Airport:



Другие роутеры настраиваются аналогично.

Настройка маршрутизации на сервере


Теперь вернемся к серверу и настроим маршрутизацию из виртуального интерфейса IPv6 — в основной:

sudo ip6tables -t nat -A POSTROUTING -s 22a03:g0e0:00g0:3402::/64 -o eth0 -j MASQUERADE

2a03:g0e0:00g0:3402::/64 — это ваш Routed /64 или же любой IP который придет на любое ваше устройство с роутера после сохранения настроек

Разрешаем форвар трафика:

sudo sysctl -w net.ipv6.conf.all.forwarding=1


Можно проверять


После этого, сохраните настройки на роутере, перезагрузите роутер. У вас должен был заработать IPv6. На подключенные устройства придут IPv6 адреса.

Проверить работу IPv6 можно тут — ipv6.google.com или ipv6-test.com

Обратите внимание — при смене IP адреса (внешнего), IPv6 у вас пропадет, обновления доступа после смены адреса будет рассмотрено в следующей статье (или же вы можете использовть инструкцию из репозитория github.com/sskaje/6in4)

После настройки IPv6 надо быть бдительным — все ваши устройства внутри вашей домашней сети получат публичный IPv6 адрес! если вы не уверены в защищенности устройств — включите блокировку входящих ipv6 подключений на вашем роутере.



PS Telegram/Youtube/Google сервера работают через IPv6 как и многие другие. Проверить это вы можете выполнив ping6 google.com

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


  1. dmitriylyalyuev
    06.04.2018 12:29

    настроим мершрутизацию

    Маршрутизация НЕ есть NAT с маскарадингом!


    MASQUERADE в IPv6? RLY?


    OMG...


    1. shifttstas Автор
      06.04.2018 12:33

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


      1. dmitriylyalyuev
        06.04.2018 12:34

        Я не говорил, что ваш метод не рабочий. Я говорил, что он идеологически не правильный. IPv6 был придуман для того, чтоб отказаться от NAT. А вы его сюда приплели.


        1. shifttstas Автор
          06.04.2018 12:36

          Я понимаю, но другого метода перегонять трафик из тоннельного интерфейса в обычный ipv6 я не нашел, пробовал ставить gateway от хостера — не помогло.


          1. TriLka
            06.04.2018 20:08

            А можно от префикса /64 взять из середины кусочек поменьше (/120, например), повесиь его на свой ПК. А на сервере добавить маршрут до /120 через тоннель?


            1. shifttstas Автор
              06.04.2018 20:38

              В FAQ к скрипту говорится что нет.
              PS: А какой смысл?


            1. maxzhurkin
              07.04.2018 09:42

              /64 это минимальная маршрутизируемая сеть в IPv6



        1. farcaller
          06.04.2018 13:42

          Насколько я помню спеку, /64 это минимальная маршрутизируемая сеть и меньше ее нарезать нельзя?


          1. dmitriylyalyuev
            06.04.2018 13:46

            Да, весь /64 должен быть отдан на оконечное устройство.
            /48 можно порезать на /64 и раздавать.


        1. antonbatenev
          06.04.2018 17:48

          IPv6 был придуман, чтобы отказаться от NAT, а в итоге приходится городить NAT64 для выхода в IPv4 сети :(


          1. shifttstas Автор
            06.04.2018 17:50

            В мире где у всех сайтов есть dualstack а у клиентов только ipv6 все хорошо может работать…


      1. Wexter
        06.04.2018 17:48

        Для этого нужна своя маршрутизируемая подсеть, а не как у DO небольшой диапазон меньше чем /64.
        Тогда уж лучше настраивать на hetzner, пусть дают одну /64 но она маршрутизируемая, поднимаем сеть дома, на сервере прописываем маршрут через link-local адрес в туннеле и радуемся.
        Либо не выпендриваемся и получаем у Hurricane Electric одну /64 и одну /48 и обмазываемся адресами


        1. shifttstas Автор
          06.04.2018 17:50

          Что вы подразумиваете под «маршрутизируемая подсеть»?


          1. Wexter
            06.04.2018 17:52

            Маршрутизируемая это когда у вашего хостера/провайдера прописан маршрут в вашу сеть через вашу машину.
            На DigitalOcean у вас все выделенные адреса должны быть в одном L2 сегменте т.к. выделяют даже не подсеть а просто диапазон из неё, они не маршрутизируемые и их не получится прокинуть туннелями куда надо.


            1. shifttstas Автор
              06.04.2018 18:14

              гм, ну тогда это не про туннели уже будет, кейс немного другой.


  1. bm13kk
    06.04.2018 18:40

    А что за брокерьі существуют?


    И есть ли у них теже нат проблемьі?


    1. shifttstas Автор
      06.04.2018 20:39

      HE/netassist есть, как у них внутри устроено — никто не знает и они не рассказывают, собственно это и была приятна данного поста.


  1. beho1der
    06.04.2018 19:16

    А с mikrotik'ом пробовали?


    1. shifttstas Автор
      06.04.2018 20:40

      Нет, но работать должно с любым роутером или *nix OS.


  1. eov
    06.04.2018 22:04
    +1

    arubacloud.com дает vps за 1 евро/мес. в эту стоимость входит IPv4 и IPv6 (формально дают /64, а использовать можно только 16 адресов из блока).


  1. maxzhurkin
    07.04.2018 09:12

    А где sipcalc?


    1. shifttstas Автор
      07.04.2018 11:59

      1. maxzhurkin
        07.04.2018 13:05

        sipcalc с порога требует скрипт автора статьи. При чём тут сторонние калькуляторы IP?


        1. shifttstas Автор
          07.04.2018 13:28

          Не понял вас тогда, пакет требуется? Можно скриншот — обновлю пост.


          1. maxzhurkin
            07.04.2018 15:05

            Так вы не автор?
            Загляните в скрипт, он в первую очередь требует sipcalc и если его нет, ругается и завершает работу.
            Да, требуется пакет


            1. shifttstas Автор
              07.04.2018 23:56

              я не автор, репозиторий не мой, я его нашел и проверил на себе, результатами собствено и делюсь. а можно узнать какой именно пакет?


              1. maxzhurkin
                08.04.2018 11:31

                sipcalc


                1. shifttstas Автор
                  08.04.2018 11:35

                  Добавил


  1. dragoangel
    07.04.2018 11:59

    Вот серьезно а чем tunnelbroker.net не угодили? Не вижу ничего негативного в использовании их как точки выхода IPv6.
    А по поводу IPv6-to-IPv6 Network Prefix Translation то сам юзал, да костыль но рабочий.
    Кейс: 2 WAN'a от разных ISP настроенных на failover, сделать BGP не могу потому что IPv6 не мои, а tunnelbroker.net, да и даже если бы они были моими это дорого и нецелесообразно в моем случае. Тут NPt пришелся как раз кстати.


    1. shifttstas Автор
      07.04.2018 11:59

      Тем же, чем и использование покупного VPN по сравнению со своим сервером


      1. dragoangel
        07.04.2018 16:04

        все равно ваш покупной сервер подключен будет к IPv6 с 70% вероятностью через HE.net >_< или гонять 90% трафика IPv6 через HE.net. Но теперь кроме HE.net вас будут отслеживать при желании еще й ISP вашего дата центра =), так что это все бессмысленно. Мало того у меня например есть статистика того как работает HE.net, и они предоставляют стабильные услуги (скорость и латенси пропускной полосы, и отсутствие downtim'ов), удобные функции для тех кто юзает их услуги: решение проблем тех клиентов у кого динамический IP, клиент сам может настраивать реверс лукап записи (PTR) в админ панели или через API. Есть интеграция с их DNS серверами. Таким ДЦ с VPC за 1$ не похвастается, а HE.net дают это все уже настроенное, проверенное и бесплатно, да й еще й нормально дают выбор к какому серверу вести туннель, расстояние к которому можно проверить перед тем как выбирать в качестве своего туннеля банальным ping запросом, и еще й имею свой iperf3 сервер для тестирования полосы.


        1. shifttstas Автор
          07.04.2018 23:58

          с чего вы взяли? берем пример digitalocean — у него нативный настоящий ipv6, даже у некоторый хостеров в РФ есть магистраль и настоящий ipv6

          Я не хочу говорить, что HE это плохо, но любой бесплатный сервис у меня вызывает подозрение, что товар это — я.


          1. dragoangel
            08.04.2018 11:16

            Вы думаете если вы будете кому то платить то они меньше будут собирать данные? Поверьте мне, как и с качеством услуг: цена это не показатель качества. Вы от Lets Encrypt тоже отказываетесь? — Они же на халяву сертификаты подписывают. А HE.net даёт на халяву потому что как и LE у них куча спонсоров которые заплатили за тебя.
            P.S. — больше что Вова за вами никто следить не будет, а вы вон какие налоги платите каждый месяц


            1. shifttstas Автор
              08.04.2018 11:37

              У хостеров есть TOS как минимум, и сравнивать платный/бесплатный сервис как минимум — глупо, в добавок, HE не даст вам сделать туннель если у вас нет внешнего IP, тут — пожалуйста


              1. dragoangel
                08.04.2018 12:43

                Я уже написал по поводу бесплатного и платного, пример: Let's Encrypt, не все в мире однозначно. А по поводу внешнего IPv4 ~ за 2$ вы себе сможете взять нормальную статику у большинства провайдеров. =) И у вас и IPv4 будет как у человека, и IPv6 /64 or /48, ладненько, каждому свое


                1. shifttstas Автор
                  08.04.2018 20:41

                  Let’s encrypt — мне понятен, и почему ему донатят деньги мне тоже понятно, да и он не может ничего анализировать. В случае с vpn/туннелями — все менее однозначно.


          1. achekalin
            09.04.2018 10:35

            Могу разочаровать: даже покупая товар в магазине (особенно в крупной сети), ты оказываешься товаром объектом, про который собирается статистика. За свои деньги, если что. А карта постоянного клиента — вообще отличный ID, чтобы собрать профиль юзера и что-то там лишнее высчитать. Но если нет карты клиента — тебя отследят еще многими способами, и с этим трудно что-то поделать.

            Так что, при прочих равных. я бы лучше юзал бесплатный сервис, его хотя бы грамотно годами обслуживают. Более того, если у тебя есть AS и толика желания, с HE можно и BGP поднять (бесплатно), а это куда как приятнее: найди еще одного брокера, который такое умеет, и вот ты совсем от всех независим по адреса (ipv6), тренируйся, качай скил!


  1. capslocky
    07.04.2018 17:01

    Простой способ узнать свой внешний IP

    curl ifconfig.co


  1. netch80
    07.04.2018 19:55
    +1

    Для примеров есть специальная сеть IPv4: 192.0.2.0-192.0.2.255 (RFC). Аналогично для IPv6: 2001:DB8::/32 (RFC).

    Использовать свои или чужие реальные IP (как в Вашем примере с 8.8.8.8) плохо потому, что при размножении инструкции будет масса копировщиков 1:1, даже если у них не будет от этого работать (у меня был злобный реальный случай такого).

    Так что если у вас нет сурового желания напакостить Гуглу, прошу исправить.


  1. achekalin
    08.04.2018 13:00

    Что очень характерно: если у провайдера и есть IPv6, то клиенту трудно его использовать, потому что, банально, в интернетах навалом (старых) инструкций «как сделать себе ipv6 через туннель», но совершенно нет внятных руководств «как, имея правильный нормальный IPv6 от своего провайдера, использовать его в жизни.» Грубо говоря, как на роутере на базе Debian, Centos, Mikrotik, D-Link настроить получение подсети IPv6 от своего оператора по pppoe, dhcp, еще каким-то более-менее простым схемам — и то не с первого раза поймешь, а как по сети раздать, чтобы клиенты сети поняли — это еще один квест.

    Даже по этому посту (по комментам его) заметно — люди обсуждают, какие подсети можно и нельзя раздавать и пр., такое, что в мире ipv4 знают почти все. Есть еще тонкий момент приоритета протоколов внутри ОС: если в адресной строке ввести, скажем, vk.com или google.com, то через что будет делаться запрос, через ipv4 или ipv6? Разные версии разных ОС на это смотрят по-разному, это вопрос настройки — но эту инфу найти не всегда легко. Оператору связи, со своей стороны, внедрять ipv6 нет ни резона (только больше звонков в ТП будет), но желания (так бы сеть обслужить).

    Замкнуты круг, в общем.


    1. shifttstas Автор
      08.04.2018 20:44

      Гм, современный метод подключения у провайдеров — IPOE — без туннеля, IPv6 при наличии придёт сам, (и при наличии роутера не за 500? с рынка) современные OS: win 10, iOS, OS X — по умолчанию используют v6 а при не доступности — v4


      1. achekalin
        08.04.2018 21:23

        Ок, но это вы в каком городе? У провайдеров где что сделано, про настройку раздачи подсети с роутера ни слова (а кто сегодня без роутера дома живёт?). А ОС, смею вас уверить, не только 10-ка и макось у людей, а кроме них, целый сонм ios и андроид-девайсов разных же версий.
        Не все так просто, я вот к чему.
        На микротике не за 500 руб с рынка приведение пример?


        1. shifttstas Автор
          09.04.2018 09:25

          Мне казалось, что аудитория микротиков совершенно точно в состоянии сама настроить себе все что угодно, обычные пользователи покупают SOHO сегмент железа и более простые по настройке роутер.


          1. achekalin
            09.04.2018 09:30

            А вы оригинальный коммент посмотрите мой: я писал о том, что все (обычно довольно старые и перепевающие друг друга) мануалы «как мне настроить дома IPv6» рассказывают о туннелях, и вменяемых руководств «как настроить IPv6, если провайдер дает его, и как его раздать по сети» — кот наплакал. Это, с одной стороны, показывает проникновение IPv6, с другой — дает низкую грамотность вообще населения в вопросе проникновения нового протокола (ему уж немало лет-то).

            Аудитория микротиков, конечно, пограмотнее, чем аудитория доманишних *-линков, но не всегда знакома с IPv6 (точнее, мало знакома). И в этой ОС хватает подводных камней, и хватает возможностей, которые и ТП провайдера приведут к словам «мы сами не знаем, как вам лучше настроить». А уж про поддержку IPv6 в других технологиях можно плакать книги писать (поднимите IPIP туннель между IPv6 точками, да еще сверху добавьте IPSec, к примеру — дело-то детское).

            Свой брокер иметь (спасибо автору поста) — это хорошо, но опыта использования у людей мало, так что (даже подняв туннель) нужно учиться и учиться.