FreeBSD, ipv6, Tunnel Broker, MPD5 и CloudFlare

ipv6 + CloudFlare + FreeBSDРешил и я написать о IPv6 тоннеле… Что ж, друзья… Вы на просторах интернета пишите очень интересно. Один предлагает повключать шестой на всех интерфейсах (ipv6_enable=”YES”), другой пробует напихать кучу параметров в rc.conf, да не просто напихать, а бездумно. К примеру для обычного десктопа советчики пишут невозмутимо про ipv6_router_enable=”YES”. Иные как-то умудряются поднять прямо на физическом интерфейсе дополнительный IP. Мне же нужен всего-лишь интернет адрес с интернет шлюзом. Не более.  Я решил сделать не на глазок это дело, а как всегда: чтобы не возвращаться более к таким вопросам. Строить буду тоже на псевдоустройстве GIF. В результате у меня получился интерфейс, который поднимается только когда нужен для интернета. Все остальные интерфейсы мой вариант не трогает. Конечно я реализовал для своего любимого MPD, но думаю не составит большого труда адаптировать скрипты и фанатам PPPD.

Итак, в этом посте я преследую 3 вещи:

1. Установить себе IPv6 тоннель (мои провайдеры очень плачевные в этом плане, академики же все).
2. Обновлять динамический IP при страрте MPD5 для тоннеля (а не так как пишут в интернетах, что засираются в-шестым все интерфейсы).
3. Обновлять IPv4 на DNS хостинге CloudFlare (а IP, как я уже написал, у меня динамический).

Что ж. Начинаю по порядку.

1. Регистрируюсь на IPv6 Tunnel Broker

Hurricane Electric IPv6 Tunnel Broker

Регистрация на IPv6 Tunnel Broker от Hurricane Electric (большое им спасибо, кстати, за их работу) не занимает много времени и не высасывает мозг. Если раньше пользовались сервисами Hurricane Electric, то можно смело вводить те же логин и пароль. Далее при помощи пункта меню Create Regular Tunnel я создал тоннель. Сервер конечно лучше брать который географически находится поближе.

2. Регистрируюсь на DNS хостинге CloudFlare

CloudFlare DNS

Всё элементарно, но есть куча плюсов: никто Вас (по крайней мере пока) не собирается банить, сервис гибкий и удобный и самое главное есть защита от мелких атак, спамботов и прочей нечисти. Минус для новичков интернета – нужен свой домен (по крайней мере указать днсы). Здесь у меня тоже есть свой подход. Я не пользуюсь их ddclient’ом, потому что он уныл. Не хочу я зависеть от этой безделушки и всё тут. Тем более, что у CloudFlare есть свой простой API.

3. Соединяю всё скриптами при поднятии/опускании MPD-интерфейса.

Поясняю почему: всё, что я нашёл в интернете претендует конечно на победу, но зачем мне для единственного IPv6 интерфейса громоздить ipv6_enable=”YES” в rc.conf? Ответа нет? Отлично! Значит у меня этим будет заведовать демон интернет подключений!

Итак, я прописываю в мпд старт/стоп скрипты:

Соответственно вот сами скрипты:
up_inet.sh

down_inet.sh

Далее при поднятии интерфейса работает скрипт up_dnsactual.sh:

И последнее приготовление: скрипты для управления тоннелями:

И так же невозмутимо интерфейс ликвидируется при потере связи, смене IP, короче рассоединении:

Итого: при наличии связи у меня появился IPv6 интерфейс, и соответственно всё прекрасно исчезает, когда интерфейс не нужен.

IPv6 test

Протестировать IPv6 тоннель можно здесь: http://test-ipv6.com/, http://ipv6.google.com/, http://v6.testmyipv6.com/.

ЦОПЫРИГХЪТ