Простая настройка IPv6 на OpenWRT

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

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

Говорят, где-то есть провайдеры, которые сразу раздают IPv6 вместе с IPv4. Мой провайдер до этого не дорос, потому в наличии на роутере у меня только мой белый IPv4 адрес, по которому и крутится этот бложик и еще много всего остального для личных нужд. Оный я получаю по DHCP на WAN интерфейсе. Пляски с бубном и настройка PPTP/PPPoE осталась в далеком прошлом, как и локальная сеть с варезом и диски по 75р около метро. Разумеется, сам блог я держу не на роутере, а на сервере внутри локальной сети, куда траффик пробрасывается через nginx и проброс портов.

Как водится, особенно большого времени на настройку, не было, потому я решил пойти по самому простому пути. Так как ждать, пока провайдер расчехлится на полноценный IPv6 — проще состариться, то я решил использовать один из переходных механизмов. Если по-простому, то выбор не велик: либо туннель через miredo/teredo, либо туннель через 6-to-4. Я решил остановиться на 6to4 из-за простоты настройки (никаких настроек) и того факта, что мой диапазон IPv6 адресов будет жестко привязан к моему статическому IPv4 адресу и меняться не будет.

В LUCI, когда мы только только установили OpenWRT на роутер, у нас помимо WAN, LAN, есть еще интерфейс WAN6 с примерно такими вот настройками:

Его-то мы и будем сейчас настраивать. В моем случае это выглядело как-то так:

Если до этого настройки dhcp для lan не трогались, то все после этого должно «просто заработать» и клиенты в локальной сети получат IPv6 адреса. Но тут будет одна небольшая проблема — все компьютеры локальной сети будут видны из интернета, что на этом этапе должно резко включить паранойу. Именно поэтому я добавил этот интерфейс в отдельную firewall зону:

Для этой зоны в настройках firewall я прописал вот такой конфиг:

Для проверки можно использовать либо VPS, у которой есть IPv6 адрес, либо онлайн инструменты вроде этого. После правильной настройки firewall’а IPv6 адрес роутера будет доступен из интернета, а вот все адреса внутри сети — нет. При этом с самих компьютеров сети будет доступ к IPv6 сайтам. Собственно, вот и все, если в двух словах.

Что касается web-сервера, то я предпочел оставить проброс http трафика через роутер, так как там крутиться nginx, пробрасывающий в режиме обратного прокси трафик на несколько виртуальных серверов внутри моей домашней сети. Надо только было прописать IPv6 адрес роутера в DNS и все заработало.

Отдельные приключения были с почтовиком, так как для корректной работы почты нужна обратная PTR запись в DNS. Для IPv4 мне ее сделал по звонку в саппорт провайдер, за что ему очень большое спасибо. А вот с IPv6 такой трюк не пройдет, и, судя по мануалам в интернете, это надо поднимать и настраивать BIND, с которым потом еще долго танцеть сеншуал бачату, прежде чем все это хозяйство заработает. Пока же я отрубил ipv6 как протокол в почтовике до лучших времен.

P.S. Для брутальных мужиков с красными глазами, кто ненавидит графический интерфейс и предпочитает только текстовые конфиги, консоль (и хардкор), вот куски конфигов OpenWRT и места, куда прописать эти заклинания, чтобы все заработало:

/etc/config/network

config interface 'wan6'
option proto '6to4'

/etc/config/firewall:

config zone
option name 'IPV6'
option input 'ACCEPT'
option forward 'REJECT'
option output 'ACCEPT'
option network 'wan6'

config forwarding
option dest 'IPV6'
option src 'lan'

3 thoughts on “Простая настройка IPv6 на OpenWRT

  1. Спасибо!
    Но я так понимаю, что это будет работать при наличии статического белого ип-адреса, т.к. IPv6-адрес формируется из IPv4-адреса?
    В случае белого динамического IPv4-адреса синхронно с ним будет меняться и IPv6-адрес с выделенной подсетью?

    PS: Про PTR-запись для почтовика: https://6to4.nro.net/

    1. > Но я так понимаю, что это будет работать при наличии статического белого ип-адреса, т.к. IPv6-адрес формируется из IPv4-адреса? В случае белого динамического IPv4-адреса синхронно с ним будет меняться и IPv6-адрес с выделенной подсетью?

      Да, именно так. Либо искать брокера, который даст статический IPv6. Но мне такие не попадались (хотя плотно я и не искал)

      > PS: Про PTR-запись для почтовика: https://6to4.nro.net/

      Да, спасибо, как дойдут руки попробую все же настроить.

      1. > Либо искать брокера, который даст статический IPv6.
        ipv6.he.net (он-же tunnelbroker.net)
        ipv6.ip4market.ru (он-же tunnelbroker.ru)

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.