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)
bm13kk
06.04.2018 18:40А что за брокерьі существуют?
И есть ли у них теже нат проблемьі?
shifttstas Автор
06.04.2018 20:39HE/netassist есть, как у них внутри устроено — никто не знает и они не рассказывают, собственно это и была приятна данного поста.
eov
06.04.2018 22:04+1arubacloud.com дает vps за 1 евро/мес. в эту стоимость входит IPv4 и IPv6 (формально дают /64, а использовать можно только 16 адресов из блока).
maxzhurkin
07.04.2018 09:12А где sipcalc?
shifttstas Автор
07.04.2018 11:59maxzhurkin
07.04.2018 13:05sipcalc с порога требует скрипт автора статьи. При чём тут сторонние калькуляторы IP?
shifttstas Автор
07.04.2018 13:28Не понял вас тогда, пакет требуется? Можно скриншот — обновлю пост.
maxzhurkin
07.04.2018 15:05Так вы не автор?
Загляните в скрипт, он в первую очередь требует sipcalc и если его нет, ругается и завершает работу.
Да, требуется пакетshifttstas Автор
07.04.2018 23:56я не автор, репозиторий не мой, я его нашел и проверил на себе, результатами собствено и делюсь. а можно узнать какой именно пакет?
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 пришелся как раз кстати.shifttstas Автор
07.04.2018 11:59Тем же, чем и использование покупного VPN по сравнению со своим сервером
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 сервер для тестирования полосы.
shifttstas Автор
07.04.2018 23:58с чего вы взяли? берем пример digitalocean — у него нативный настоящий ipv6, даже у некоторый хостеров в РФ есть магистраль и настоящий ipv6
Я не хочу говорить, что HE это плохо, но любой бесплатный сервис у меня вызывает подозрение, что товар это — я.dragoangel
08.04.2018 11:16Вы думаете если вы будете кому то платить то они меньше будут собирать данные? Поверьте мне, как и с качеством услуг: цена это не показатель качества. Вы от Lets Encrypt тоже отказываетесь? — Они же на халяву сертификаты подписывают. А HE.net даёт на халяву потому что как и LE у них куча спонсоров которые заплатили за тебя.
P.S. — больше что Вова за вами никто следить не будет, а вы вон какие налоги платите каждый месяцshifttstas Автор
08.04.2018 11:37У хостеров есть TOS как минимум, и сравнивать платный/бесплатный сервис как минимум — глупо, в добавок, HE не даст вам сделать туннель если у вас нет внешнего IP, тут — пожалуйста
dragoangel
08.04.2018 12:43Я уже написал по поводу бесплатного и платного, пример: Let's Encrypt, не все в мире однозначно. А по поводу внешнего IPv4 ~ за 2$ вы себе сможете взять нормальную статику у большинства провайдеров. =) И у вас и IPv4 будет как у человека, и IPv6 /64 or /48, ладненько, каждому свое
shifttstas Автор
08.04.2018 20:41Let’s encrypt — мне понятен, и почему ему донатят деньги мне тоже понятно, да и он не может ничего анализировать. В случае с vpn/туннелями — все менее однозначно.
achekalin
09.04.2018 10:35Могу разочаровать: даже покупая товар в магазине (особенно в крупной сети), ты оказываешься
товаромобъектом, про который собирается статистика. За свои деньги, если что. А карта постоянного клиента — вообще отличный ID, чтобы собрать профиль юзера и что-то там лишнее высчитать. Но если нет карты клиента — тебя отследят еще многими способами, и с этим трудно что-то поделать.
Так что, при прочих равных. я бы лучше юзал бесплатный сервис, его хотя бы грамотно годами обслуживают. Более того, если у тебя есть AS и толика желания, с HE можно и BGP поднять (бесплатно), а это куда как приятнее: найди еще одного брокера, который такое умеет, и вот ты совсем от всех независим по адреса (ipv6), тренируйся, качай скил!
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, даже если у них не будет от этого работать (у меня был злобный реальный случай такого).
Так что если у вас нет сурового желания напакостить Гуглу, прошу исправить.
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 нет ни резона (только больше звонков в ТП будет), но желания (так бы сеть обслужить).
Замкнуты круг, в общем.shifttstas Автор
08.04.2018 20:44Гм, современный метод подключения у провайдеров — IPOE — без туннеля, IPv6 при наличии придёт сам, (и при наличии роутера не за 500? с рынка) современные OS: win 10, iOS, OS X — по умолчанию используют v6 а при не доступности — v4
achekalin
08.04.2018 21:23Ок, но это вы в каком городе? У провайдеров где что сделано, про настройку раздачи подсети с роутера ни слова (а кто сегодня без роутера дома живёт?). А ОС, смею вас уверить, не только 10-ка и макось у людей, а кроме них, целый сонм ios и андроид-девайсов разных же версий.
Не все так просто, я вот к чему.
На микротике не за 500 руб с рынка приведение пример?shifttstas Автор
09.04.2018 09:25Мне казалось, что аудитория микротиков совершенно точно в состоянии сама настроить себе все что угодно, обычные пользователи покупают SOHO сегмент железа и более простые по настройке роутер.
achekalin
09.04.2018 09:30А вы оригинальный коммент посмотрите мой: я писал о том, что все (обычно довольно старые и перепевающие друг друга) мануалы «как мне настроить дома IPv6» рассказывают о туннелях, и вменяемых руководств «как настроить IPv6, если провайдер дает его, и как его раздать по сети» — кот наплакал. Это, с одной стороны, показывает проникновение IPv6, с другой — дает низкую грамотность вообще населения в вопросе проникновения нового протокола (ему уж немало лет-то).
Аудитория микротиков, конечно, пограмотнее, чем аудитория доманишних *-линков, но не всегда знакома с IPv6 (точнее, мало знакома). И в этой ОС хватает подводных камней, и хватает возможностей, которые и ТП провайдера приведут к словам «мы сами не знаем, как вам лучше настроить». А уж про поддержку IPv6 в других технологиях можно плакать книги писать (поднимите IPIP туннель между IPv6 точками, да еще сверху добавьте IPSec, к примеру — дело-то детское).
Свой брокер иметь (спасибо автору поста) — это хорошо, но опыта использования у людей мало, так что (даже подняв туннель) нужно учиться и учиться.
dmitriylyalyuev
Маршрутизация НЕ есть NAT с маскарадингом!
MASQUERADE в IPv6? RLY?
OMG...
shifttstas Автор
А как еще? нужно завернуть трафик из локальной IPv6 сети в глобальную, если у вас есть рабочая идея лучше — давайте обсудим, я долго искал метод как сделать своего IPv6 брокера, что бы не отдавать свой трафик не пойми кому. Такой метод — рабочий
dmitriylyalyuev
Я не говорил, что ваш метод не рабочий. Я говорил, что он идеологически не правильный. IPv6 был придуман для того, чтоб отказаться от NAT. А вы его сюда приплели.
shifttstas Автор
Я понимаю, но другого метода перегонять трафик из тоннельного интерфейса в обычный ipv6 я не нашел, пробовал ставить gateway от хостера — не помогло.
TriLka
А можно от префикса /64 взять из середины кусочек поменьше (/120, например), повесиь его на свой ПК. А на сервере добавить маршрут до /120 через тоннель?
shifttstas Автор
В FAQ к скрипту говорится что нет.
PS: А какой смысл?
maxzhurkin
/64 это минимальная маршрутизируемая сеть в IPv6
Erelecano
it.lindon.pw/2017/02/09/%D0%A1%D0%B0%D0%BC-%D1%81%D0%B5%D0%B1%D0%B5-%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%B1%D1%80%D0%BE%D0%BA%D0%B5%D1%80-%D0%B8%D0%BB%D0%B8-%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9-IPv6-%D0%BD%D0%B0-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B5-%D0%BF%D1%80%D0%B8-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8-OpenVPN.html
farcaller
Насколько я помню спеку, /64 это минимальная маршрутизируемая сеть и меньше ее нарезать нельзя?
dmitriylyalyuev
Да, весь /64 должен быть отдан на оконечное устройство.
/48 можно порезать на /64 и раздавать.
antonbatenev
IPv6 был придуман, чтобы отказаться от NAT, а в итоге приходится городить NAT64 для выхода в IPv4 сети :(
shifttstas Автор
В мире где у всех сайтов есть dualstack а у клиентов только ipv6 все хорошо может работать…
Wexter
Для этого нужна своя маршрутизируемая подсеть, а не как у DO небольшой диапазон меньше чем /64.
Тогда уж лучше настраивать на hetzner, пусть дают одну /64 но она маршрутизируемая, поднимаем сеть дома, на сервере прописываем маршрут через link-local адрес в туннеле и радуемся.
Либо не выпендриваемся и получаем у Hurricane Electric одну /64 и одну /48 и обмазываемся адресами
shifttstas Автор
Что вы подразумиваете под «маршрутизируемая подсеть»?
Wexter
Маршрутизируемая это когда у вашего хостера/провайдера прописан маршрут в вашу сеть через вашу машину.
На DigitalOcean у вас все выделенные адреса должны быть в одном L2 сегменте т.к. выделяют даже не подсеть а просто диапазон из неё, они не маршрутизируемые и их не получится прокинуть туннелями куда надо.
shifttstas Автор
гм, ну тогда это не про туннели уже будет, кейс немного другой.