IPv6 + PPPoE + Mikrotik

Konstantin Belykh
3 min readApr 29, 2018

--

С сегодняшнего дня у моего провайдера интернетов внедрили IPv6, работающий на базе Dual Stack PPPoE, соответственно поднимать дополнительное соединение нет смысла. Ниже описан небольшой гайд для настройки Микротика, так как простого гайда я толком не нашёл. В самом конце есть TL:DR для тех, кому не хочется читать стену текста, а сделать надо.

Для начала нужно включить поддержку IPv6 в микротике, для этого подключаемся к нему через Winbox, и открываем меню Systems -> Packages. В списке пакетов будет виден ipv6, но он по умолчанию выключен. Для того чтобы включить его — выбираем пакет, нажимаем на Enable и перезагружаем микротик.

Должно быть примерно так

Теперь собственно к настройке. Сначала настроим DHCPv6 клиент. Снова подключаемся через Winbox. Открываем меню IPv6, которое появится под привычным меню IP, выбираем DHCP Client и нажимаем на +. Далее указываем следующие настройки:

Примерные настройки для клиента

1. Interface — то, что смотрит у нас в интернет, в моем случае это pppoe-клиент
2. Request — выбираем prefix
3. Pool Name — пишем что-то понятное для себя
4. Pool Prefix Length — 64
5. Устанавливаем галочки Use Peer DNS и Add Default Route

Затем настраиваем Adverising префикса в локальную сеть. Для этого открываем меню IPv6 -> Adresses и создаем новую запись:

Настройка IPv6 Adress List
  1. Пишем в Address — ::/64
  2. From Pool — то, что мы написали в Pool Name в DHCPv6 клиенте
  3. Interface — то, что у нас смотрит в локальную сеть, у меня это bridge интерфейс
  4. Устанавливаем на галочку Advertise

Жмем на Apply. Address должен поменяться на то, что выдаст нам провайдер. Если этого не произошло — попробуйте выключить и включить обратно pppoe интерфейс.

После этого можно уже сидеть в IPv6 интернете, но имеет смысл настроить хоть какой-то Firewall.

Следующий список команд вводится в терминал Mikrotik, в Winbox’e он открывается через меню New Terminal (Вместо “PPPOE-client” выставьте имя интерфейса, который у вас смотрит в интернеты):

/ipv6 firewall filter
add chain=input action=drop connection-state=invalid
add chain=input action=accept connection-state=established,related in-interface=PPPOE-client
add chain=forward action=accept connection-state=established,related in-interface=PPPOE-client out-interface=bridge-local
add chain=input action=accept protocol=icmpv6
add chain=forward action=accept protocol=icmpv6
add chain=input action=accept protocol=udp in-interface=PPPOE-client dst-port=546
add chain=forward action=accept in-interface=bridge-local out-interface=PPPOE-client
add chain=input action=drop

Все, теперь можно попробовать открыть ipv6.google.com и радоваться жизни.

TL:DR

Открываем System → Packages. Если пакет ipv6 есть в списке — включаем его и перезагружаем роутер.

Открываем IPv6 → DHCP Client и создаем новую запись:

  1. Interface — то, что смотрит у нас в интернет, в моем случае это pppoe-клиент
  2. Request — выбираем prefix
  3. Pool Name — пишем что-то понятное для себя
  4. Pool Prefix Length — 64
  5. Устанавливаем галочки Use Peer DNS и Add Default Route

Открываем IPv6 → Addresses и создаем новую запись:

  1. Пишем в Address — ::/64
  2. From Pool — то, что мы написали в Pool Name в DHCPv6 клиенте
  3. Interface — то, что у нас смотрит в локальную сеть, у меня это bridge интерфейс
  4. Устанавливаем на галочку Advertise

Открываем Терминал и вводим:

/ipv6 firewall filter
add chain=input action=drop connection-state=invalid
add chain=input action=accept connection-state=established,related in-interface=PPPOE-client
add chain=forward action=accept connection-state=established,related in-interface=PPPOE-client out-interface=bridge-local
add chain=input action=accept protocol=icmpv6
add chain=forward action=accept protocol=icmpv6
add chain=input action=accept protocol=udp in-interface=PPPOE-client dst-port=546
add chain=forward action=accept in-interface=bridge-local out-interface=PPPOE-client
add chain=input action=drop

--

--