Цей документ описує процес налаштування локальної IPv6-мережі на основі ULA (Unique Local IPv6 Address) з автоматичною конфігурацією адрес через SLAAC та виходом у глобальний інтернет за допомогою NAT66 (Masquerade) на маршрутизаторах MikroTik під управлінням RouterOS v7.
1. Концепція та передумови
Чому ULA + NAT66?
- Обмеження SLAAC (RFC 4862): Стандарт SLAAC вимагає префікс
/64для автоматичного призначення IPv6-адрес пристроям у локальній мережі. Якщо провайдер надає динамічний префікс або префікс, менший за/64(наприклад,/68), клієнтські ОС (Linux, Android, Windows) ігнорують Router Advertisements. - Незалежність від провайдера: Використання ULA (
fd00::/8) гарантує стабільну внутрішню адресацію локальної мережі, яка не змінюється при зміні провайдера або перезавантаженні тунелів. - Прозорий вихід в Інтернет: Завдяки IPv6 NAT (NAT66 / Masquerade) локальні пристрої отримують вихід у глобальну мережу IPv6 через зовнішній IPv6-інтерфейс MikroTik.
2. Покрокове налаштування MikroTik (RouterOS v7)
Крок 1. Призначення ULA-адреси на внутрішній інтерфейс
Додаємо ULA-адресу /64 на локальний міст (bridge_lan). Параметр advertise=no вказується для того, щоб керувати оголошенням через окремий блок ND.
/ipv6/address/add address=fd00:1:1::1/64 interface=bridge_lan advertise=no
Крок 2. Налаштування Neighbor Discovery (ND / SLAAC)
Налаштовуємо роутер для оголошення ULA-префікса /64 пристроям у локальній мережі та задаємо час життя маршруту (ra-lifetime).
# Налаштування параметрів ND для bridge_lan
/ipv6/nd/set [find interface=bridge_lan] advertise-mac-address=yes managed-address-configuration=no other-configuration=yes ra-lifetime=30m disabled=no
# Додавання префікса для автоматичного SLAAC
/ipv6/nd/prefix/add interface=bridge_lan prefix=fd00:1:1::/64 autonomous=yes
Крок 3. Дозвіл пересилки трафіку у Firewall Filter
За замовчуванням IPv6 Firewall у RouterOS блокує транзитний трафік. Дозволяємо пересилку пакетів з внутрішньої підмережі ULA та ICMPv6 трафік.
# Дозволяємо ICMPv6 (необхідно для SLAAC, ND та Ping)
/ipv6/firewall/filter/add chain=forward action=accept protocol=icmpv6 place-before=0
# Дозволяємо пересилку для локальної ULA підмережі
/ipv6/firewall/filter/add chain=forward action=accept src-address=fd00:1:1::/64 place-before=1
Крок 4. Налаштування IPv6 NAT (NAT66 / Masquerade)
Створюємо правило трансляції мережевих адрес (srcnat) для маскування ULA-адрес при виході в глобальний IPv6-інтернет.
/ipv6/firewall/nat/add chain=srcnat action=masquerade src-address=fd00:1:1::/64
3. Налаштування та перевірка на Linux-клієнті (pi-tiny)
Крок 1. Налаштування NetworkManager
Впевніться, що інтерфейс налаштовано на автоматичне отримання IPv6 через SLAAC/RA.
nmcli connection modify "Cable" ipv6.method auto
nmcli connection up "Cable"
Крок 2. Перевірка отримання IPv6 ULA-адреси та маршрутів
Виконайте команду перевірки IP-адрес:
ip -6 addr show dev end0
Очікуваний результат: наявність адреси з префіксом fd00:1:1::/64 зі статусом scope global dynamic.
Перевірте маршрутизацію IPv6:
ip -6 route show
Очікуваний результат: наявність default-маршруту через fe80-адресу MikroTik:
default via fe80::... dev end0 proto ra metric ...
Крок 3. Перевірка зв'язку з Інтернетом
Перевірте доступність зовнішніх IPv6 ресурсів (наприклад, Cloudflare DNS):
ping -6 -c 4 2606:4700:4700::1111
4. Підсумкова схема адресації та трафіку
+-------------------------------------------------------------------+
| Глобальний Інтернет |
| (IPv6 Global / Cloudflare) |
+-------------------------------------------------------------------+
^
| Global IPv6 Traffic
v
+-------------------------------------------------------------------+
| MikroTik Router |
| - External IPv6 (WAN) |
| - Internal ULA Gateway: fd00:1:1::1/64 |
| - NAT66 Rule: masquerade src-address=fd00:1:1::/64 |
+-------------------------------------------------------------------+
^
| SLAAC / RA (fd00:1:1::/64)
v
+-------------------------------------------------------------------+
| Локальна Мережа |
| - pi-tiny (Linux): fd00:1:1:0:3680:34a4:260a:2cb2/64 |
| - Інші пристрої офісу (SLAAC Auto-configuration) |
+-------------------------------------------------------------------+
5. Подальші кроки (Об'єднання офісів)
Після успішного налаштування ULA та NAT66 локальна мережа офісу повністю працездатна. Наступним етапом є інтеграція меш-мережі Yggdrasil для зв'язку ULA-підмереж між різними офісами (маршрутизація fd00:1:X::/64 через тунель Yggdrasil).