Оглавление
Подготовка
Если вы физ. лицо, то скорее всего вы подключены по IPoE (или как говорят монтажники при подключении – у вас “динамика”). В таком случае вам нужно будет через службу поддержки сменить тип подключения на PPPoE, т.к. IPv6 данный провайдер выдаёт только на данном виде подключения.
Обычно данная процедура занимает не более пяти минут. Вам пришлют в мессенджер или по смс актуальные логин и пароль для подключения по PPPoE и ваша сессия чата в личном кабинете прервётся , как собственно пропадёт и интернет, пока вы не перенастроите свой маршрутизатор.
После смены типа подключения и восстановления работы интернет, вам нужно будет зайти в личный кабинет dom.ru и проверить что у вас в сервисных настройках подключен IPv6, как правило по умолчанию он включен.
На этом собственно вся подготовка закончена и мы можем приступить непосредственно к настройке IPv6.
Нашими подопытными будут RB450Gx4 с установленной RouterOS 7.14.2, самой свежей на момент публикации “стабильной” версии.
Настройка /ipv6/firewall
В первую очередь, до того как начать использовать IPv6 в своей сети, необходимо настроить firewall, т.к. все сетевые устройства получат “белые” IP и будут защищены только вашим firewall на маршрутизаторе. Никакого NAT за которым скрывалась ваша сеть в случае с IPv4 здесь нет (к слову сказать NAT это тоже не firewall и “защищает” вашу сеть достаточно условно). Точнее его конечно можно настроить и в случае с IPv6, но это не наш случай.
На первое время я бы рекомендовал использовать настройки из официальной документации по RouterOS, они вполне самодостаточны и требуют минимального тюнинга в случае каких либо нестандартных настроек межсетевых взаимодействий.
Если данные правила покажутся слишком сложными, то можно взять настройки попроще, тоже с официального сайта.
Единственно что добавим, это правило mangle “Change MSS“, что бы не возникли проблемы с открытием некоторых сайтов:
/ipv6 firewall mangle
add action=change-mss chain=forward comment="Change MSS" new-mss=clamp-to-pmtu out-interface=pppoe-out-domru passthrough=yes protocol=tcp tcp-flags=syn
Имя интерфейса естественно измените на своё.
Настройка /ipv6/dhcp-client
Тут всё просто:
/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-out-domru pool-name=ipv6_pool_domru request=prefix use-peer-dns=no
dom.ru отдаёт префикс длинной 64 (жадина, рекомендованная длинна префикса выдаваемого провайдером клиентам – 56 или 48), что является значением по умолчанию для добавляемого DHCPv6 клиента, поэтому отдельно данное значение можно не указывать.
Если будете использовать DNS от провайдера, то указываем use-peer-dns=yes
pool-name – произвольный, я назвал так, interface соответственно свой.
Проверяем:
/ipv6/dhcp-client/print
Columns: INTERFACE, STATUS, REQUEST, PREFIX
# INTERFACE STATUS REQUEST PREFIX
0 pppoe-out-domru bound prefix 2a03:1ac0:xxxx:xxxx::/64, 23h41m5s
Статус bound говорит о том, что у нас всё получилось
Смотрим наш pool:
/ipv6/pool/print
Flags: D - DYNAMIC
Columns: NAME, PREFIX, PREFIX-LENGTH, EXPIRES-AFTER
# NAME PREFIX PREFIX-LENGTH EXPIRES-AFTER
0 D ipv6_pool_domru 2a03:1ac0:xxxx:xxxx::/64 64 23h37m54s
Пул тоже на месте ))
Настройка /ipv6/address
Присвоим адрес из полученного пула интерфейсу смотрящему в нашу локальную сеть, в моём случае данным интерфейсом является бридж br-lan. Если мы не привередливы, то просто назначим любой адрес из пула:
/ipv6 address
add address=:: from-pool=ipv6_pool_domru interface=br-lan
Или можем назначить ему определённый адрес, я предпочитаю на роутер назначать адрес ::1, но это уже на ваше усмотрение:
/ipv6 address
add address=::1 from-pool=ipv6_pool_domru interface=br-lan
Настройка /ipv6/nd
Настала пора делегировать полученный от провайдера префикс в локальную сеть. Поскольку по умолчанию анонс производится на все доступные интерфейсы, мы это отключим и добавим анонс только на локальный интерфейс br-lan:
/ipv6 nd
set [ find default=yes ] disabled=yes
add interface=br-lan
Я отключил настройку по умолчанию и добавил свою, хотя вы можете просто изменить существующую дефолтную настройку. Я просто предпочитаю не трогать дефолтные настройки – сила привычки ))
/ipv6/settings
/ipv6 settings
set accept-router-advertisements=yes
В принципе всё уже должно работать, но добавим ещё парочку настроек
/ipv6/dhcp-server
Здесь начнём немного издалека…
DHCP Server в IPv6 предназначен для раздачи опций, а не адресов, поэтому нам нужно провести небольшую предварительную настройку.
Сначала добавим в наш DNS Server IPv6 адреса DNS серверов:
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,9.9.9.9,2606:4700:4700::1111,2620:fe::9
Затем добавим на наш бридж br-lan ещё один IPv6 не маршрутизируемый в интернет и отключим его анонсирование:
/ipv6 address
add address=fd00::1 advertise=no interface=br-lan
Теперь добавим раздаваемые опции нашим DHCPv6 сервером:
/ipv6 dhcp-server option
add code=23 name=dns value=0xfd000000000000000000000000000001
add code=24 name=domain-search value="0x06'domain'0x07'example'0x02'ru'0x00"
Опция 23 это полный HEX адрес нашего DNS сервера, который мы добавили на предыдущем шаге. Сделано это для того, что бы не зависеть от того, что выдал нам провайдер, сегодня он отдал один префикс, а завтра это может быть другой. Для кодирования опции 24 domain-search можно воспользоваться данной ссылкой
Теперь добавим и настроим непосредственно DHCPv6 Server:
/ipv6 dhcp-server
add address-pool=ipv6_pool_domru dhcp-option=dns,domain-search interface=br-lan lease-time=3h name=dhcpv6_server-01
И в заключение:
/ipv6/nd
set [ find interface=br-lan ] other-configuration=yes
На этом пожалуй всё!