Вы находитесь здесь: version6.ru » Провайдеры с IPv6 » IPv6 от провайдера Дом.ru » IPv6 от Дом.ru (ЭР-Телеком) на Mikrotik
Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
isp:domru:mikrotik-howto [2020-05-12 17:02 UTC] rm удалено |
isp:domru:mikrotik-howto [2024-03-29 21:47 UTC] (текущий) rm |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== IPv6 от Дом.ru (ЭР-Телеком) на Mikrotik ====== | ====== IPv6 от Дом.ru (ЭР-Телеком) на Mikrotik ====== | ||
+ | //Автор инструкции [[https://t.me/OxFFFE|@koozz]]// | ||
+ | **Для пользователей РосТелекома сразу переходите к шагу 2. У вас подключение выполнено по IPoE и первый шаг не нужен!.\\** | ||
+ | ===== Перед началом ===== | ||
+ | Нужно убедиться, что: | ||
+ | - пакет IPv6 установлен и включен (для RouterOS 6); | ||
+ | - поддержка IPv6 не отключена (для RouterOS 7); | ||
+ | - подключение(PPPoE) к Дом.ru поднято; | ||
+ | - в личном кабинете Дом.ru, в разделе "Сервиcные настройки" включен "Протокол IPv6". | ||
+ | |||
+ | |||
+ | ===== 1. Тюнинг PPPoE подключения ===== | ||
+ | Ключевое, руками выключить ненужное чтобы избегать лишнего времени при подключении и принудительно включить "Use ipv6".\\ | ||
+ | Внимание!, практика показывает что лучше выключить правило "Change TCP MSS" и прописать его самостоятельно! | ||
+ | |||
+ | {{:isp:domru:ppp_profile1.png|}}{{:isp:domru:ppp_profile2.png|}} | ||
+ | |||
+ | Через CLI: | ||
+ | <code>/ppp profile | ||
+ | add change-tcp-mss=no name=ppp-domru only-one=yes use-compression=no use-encryption=no use-mpls=no use-upnp=no</code> | ||
+ | |||
+ | Теперь сам профиль подключения. Тут вручную приподнимаем MTU(заголовок PPP всего 8 байт) и указываем использование профиля | ||
+ | |||
+ | {{:isp:domru:ppp_interface1.png|}}{{:isp:domru:ppp_interface2.png|}} | ||
+ | |||
+ | Через CLI: | ||
+ | <code>/interface pppoe-client | ||
+ | add add-default-route=yes disabled=no interface=ether1-domru keepalive-timeout=disabled max-mtu=1492 name=dom.ru-PPPoE profile=ppp-domru user=DOMRULOGIN password=DOMRUPASSWORD</code> | ||
+ | |||
+ | Как итог соединение будет подниматься чуть быстрее, и MTU чуть больше. В статусе обязательно должны появиться link-local адреса ipv6 | ||
+ | |||
+ | {{:isp:domru:ppp_interface_status.png|}} | ||
+ | |||
+ | Последнее, надо руками создать правило для MSS.\\ | ||
+ | В IP->Firewall->Mangle добавить новое правило: | ||
+ | |||
+ | {{:isp:domru:v4_mss1.png|}}{{:isp:domru:v4_mss2.png|}}{{:isp:domru:v4_mss3.png|}} | ||
+ | |||
+ | На всякий случай добавить аналогичное но для OUTPUT. | ||
+ | |||
+ | Через CLI: | ||
+ | <code>/ip firewall mangle | ||
+ | add action=change-mss chain=forward comment=mss new-mss=clamp-to-pmtu out-interface=dom.ru-PPPoE passthrough=yes protocol=tcp tcp-flags=syn | ||
+ | add action=change-mss chain=output comment=mss new-mss=clamp-to-pmtu out-interface=dom.ru-PPPoE passthrough=yes protocol=tcp tcp-flags=syn</code> | ||
+ | |||
+ | |||
+ | ===== 2. Firewall ===== | ||
+ | Да, именно фаирволл так как в предыдущей инструкции были допущены ошибки, в том числе фатальные. Кроме того это позволит дебажить подключение, в том числе абонентам РосТелекома.\\ | ||
+ | Список правил с нумерацией, далее буду ссылаться на номера: | ||
+ | |||
+ | {{:isp:domru:firewall.png|}} | ||
+ | |||
+ | В лист WAN интерфейса входит "dom.ru-PPPoE"\\ | ||
+ | 0 - правило для !просмотра! что dhcp-client шлет запросы в сторону провайдера\\ | ||
+ | 5 - правило разрешающее отвечать dhcp-server'у провайдера нашему dhcp-clien'у\\ | ||
+ | Из важного, icmp надо обязательно разрешать, !"это очень важная часть протокола IPv6"!. Также очень важно, избегайте "drop" правил и применяйте "reject", это также важно в IPv6. | ||
+ | |||
+ | Остальные правила дежурные.\\ | ||
+ | Добавить правила через CLI:\\ | ||
+ | <code>/ipv6 firewall filter | ||
+ | add action=passthrough chain=output comment="accept dhcpv6 request from domru" dst-port=547 out-interface-list=WAN protocol=udp src-port=546 | ||
+ | add action=drop chain=input comment="Drop (invalid)" connection-state=invalid | ||
+ | add action=accept chain=input comment="Accept (established, related)" connection-state=established,related in-interface-list=WAN | ||
+ | add action=accept chain=input comment="Accept external ICMP (10/sec)" in-interface-list=WAN limit=10,20:packet protocol=icmpv6 | ||
+ | add action=drop chain=input comment="Drop external ICMP (>10/sec)" in-interface-list=WAN protocol=icmpv6 | ||
+ | add action=accept chain=input comment="accept dhcpv6 answer from domru" dst-port=546 in-interface-list=WAN protocol=udp src-address=fe80::/10 src-port=547 | ||
+ | add action=accept chain=input comment="Accept internal" in-interface-list=!WAN | ||
+ | add action=reject chain=input comment="Reject everything else" reject-with=icmp-port-unreachable | ||
+ | add action=accept chain=forward comment="Accept external ICMP (20/sec)" in-interface-list=WAN limit=20,50:packet protocol=icmpv6 | ||
+ | add action=drop chain=forward comment="Drop external ICMP (>20/sec)" in-interface-list=WAN protocol=icmpv6 | ||
+ | add action=accept chain=forward comment="Accept (established, related) to lan" connection-state=established,related in-interface-list=WAN | ||
+ | add action=accept chain=forward comment="Accept to wan" out-interface-list=WAN | ||
+ | add action=reject chain=forward comment="Reject everything else" reject-with=icmp-port-unreachable</code> | ||
+ | |||
+ | Как в случае с фаирволом IPv4 создаем тут правила для MSS:\\ | ||
+ | <code>/ipv6 firewall mangle | ||
+ | add action=change-mss chain=forward dst-prefix=::/0 in-interface-list=!WAN new-mss=clamp-to-pmtu passthrough=yes protocol=tcp src-prefix=::/0 tcp-flags=syn | ||
+ | add action=change-mss chain=output new-mss=clamp-to-pmtu out-interface=dom.ru-PPPoE protocol=tcp tcp-flags=syn</code> | ||
+ | |||
+ | |||
+ | ===== 3. DHCPv6 Client ===== | ||
+ | **Для РосТелекома длинна префикса будет 56, кроме того нужно поставить галочку запроса address и "Add default route".**\\ | ||
+ | Добавляем клиента, запрашиваем префикс, снимаем галочку "Add default route", длина префикса 64. | ||
+ | |||
+ | {{:isp:domru:dhcpv6_client.png|}} | ||
+ | |||
+ | Дефолтный роут на самом деле уже был установлен еще на этапе PPPoE подключения, там есть такая же галочка и она добавляет дефолт для IPv4 и IPv6.\\ | ||
+ | Проверить уходят ли запросы и приходят ли ответы можно в фаирволе счетчиком пакетов у правил 0 и 5. | ||
+ | |||
+ | ===== 4. Раздача адресов по SLAAC ===== | ||
+ | |||
+ | |||
+ | ==== 4.1. IPv6 Addresses роутера ==== | ||
+ | * Элемент списка«Address» вводим ::/64; | ||
+ | * «From Pool» выбираем название заданное в п.1 («Pool Name»); | ||
+ | * «Interface» выбираем интерфейс(или бридж) смотрящий в локальную сеть; | ||
+ | * ставим галочку «Advertise» (это нужно для SLAAC) | ||
+ | * ставим галочку «EUI64» (чтобы взять адрес из MAC, тоже лучше так для SLAAC) | ||
+ | |||
+ | {{:isp:domru:ipv6_slaac_address.png|}} | ||
+ | |||
+ | В случае Дом.ru, из-за всего одного префикса /64, сеть получится раздать только одну. | ||
+ | |||
+ | Для Ростелекома с префиксом /56, можно раздать сети и адреса в другие сегменты, к примеру в гостевой WiFi и прочее, делается это с указанием того же pool'a. Mikrotik сам возьмёт другую свободную подсеть. Для справки, префикс /56 -- это 256 префиксов длиной /64. | ||
+ | |||
+ | |||
+ | ==== 4.2. IPv6 Address роутера ==== | ||
+ | Микротик по умолчанию использует очень большие значения таймаутов, передаваемых клиентам через Route Advertisements. По умолчанию, в локальную сеть будут рассылаться анонсы подсети с Valid lifetime в 30 дней и Preferred lifetime 7 дней. Это очень долго, и абсолютно недопустимо долго, в случае, если провайдер предоставляет динамические подсети IPv6. Для такого случая рекомендуем выставить значения 1 час и 5 минут соответственно. | ||
+ | |||
+ | {{:isp:domru:nd_defaults.png|}} | ||
+ | |||
+ | |||
+ | ==== 4.3. ND . Непосредственно SLAAC ==== | ||
+ | |||
+ | * Выбрать Interface куда будем вещать | ||
+ | * RA Interval уменьшаем если префикс динамический, для статики можно оставить по умолчанию | ||
+ | * DNS Servers тут добавим IP адрес DNS сервера. Фишка появилась после совсем недавно (есть баг, нельзя добавить более одного адреса! ) | ||
+ | * Advertise DNS разрешаем анонсить DNS прописанный выше | ||
+ | |||
+ | {{:isp:domru:nd_interface.png|}} | ||
+ | |||
+ | ===== 5. Раздача адресов статикой с дроблением 64 префикса ===== | ||
+ | Актуально только для статичного префикса, с динамикой это не пройдет! | ||
+ | |||
+ | ==== 5.1. IPv6 Address роутера ==== | ||
+ | Для примера я разобью свой /64 на /112\\ | ||
+ | Один /112 это 65,536 адресов\\ | ||
+ | 000a:000b:000c:000d::/64 префикс от домру\\ | ||
+ | Первая сеть 000a:000b:000c:000d:0000:0000:0001:0000 - 000a:000b:000c:000d:0000:0001:0000:ffff\\ | ||
+ | Вторая сеть 000a:000b:000c:000d:0000:0000:0002:0000 - 000a:000b:000c:000d:0000:0002:0000:ffff\\ | ||
+ | Сокращенный записи:\\ | ||
+ | Первая сеть a:b:c:d::1:/112 - a:b:c:d::1:ffff/112\\ | ||
+ | Вторая сеть a:b:c:d::2:/112 - a:b:c:d::2:ffff/112\\ | ||
+ | |||
+ | * Элемент списка«Address» вводим a:b:c:d::1:1/112; | ||
+ | * «Interface» выбираем интерфейс(или бридж) смотрящий в локальную сеть; | ||
+ | |||
+ | {{:isp:domru:ipv6_static_address.png|}} | ||
+ | |||
+ | Теперь на всех устройствах внутри этого бриджа\интерфейса вручную прописываем статикой адреса из сети a:b:c:d::1:/112 и шлюз a:b:c:d::1:1\\ | ||
+ | Для других сетей аналогично, к примеру на клиентов vpn и прочее. | ||
+ | |||
+ | ===== 6. Замечания ===== | ||
+ | |||
+ | Возможно еще необходимо подкрутить MTU для ipv6, но лично я проблем не испытывал.\\ | ||
+ | Для математики:\\ | ||
+ | IPv4\\ | ||
+ | L2=1500 байт\\ | ||
+ | PPPoE=8 байт\\ | ||
+ | Итого MTU = 1500-8=1492\\ | ||
+ | TCP=20 байт\\ | ||
+ | IP=20 байт\\ | ||
+ | TCP MSS=1492-20-20=1452\\ | ||
+ | |||
+ | IPv6\\ | ||
+ | L2=1500\\ | ||
+ | PPPoE=8 байт\\ | ||
+ | Итого MTU = 1500-8=1492\\ | ||
+ | TCP=20 байт\\ | ||
+ | IP=40 байт\\ | ||
+ | TCP MSS=1492-40-20=1432\\ |
isp/domru/mikrotik-howto.1589302935.txt.gz · Последние изменения: 2020-05-12 17:02 UTC От rm