Jak działa ND Proxy na MikroTik dla IPv6?
🌐 Wprowadzenie
IPv6 znacząco różni się od IPv4 nie tylko pod względem adresacji, ale też działania protokołów sieciowych. Jednym z kluczowych mechanizmów jest ND (Neighbor Discovery) – odpowiednik ARP dla IPv6.
W tym kontekście pojawia się pojęcie ND Proxy, które może być przydatne w specyficznych scenariuszach – szczególnie w przypadku routerów MikroTik.
W tym artykule wyjaśniamy jak działa ND Proxy na MikroTik dla IPv6, kiedy go stosować i jak poprawnie go skonfigurować.
🔍 Co to jest ND Proxy?
ND Proxy (Neighbor Discovery Proxy) umożliwia routerowi odpowiadanie na zapytania ND w imieniu innego urządzenia w sieci IPv6. Działa to podobnie jak Proxy ARP w IPv4.
🧠 Zastosowanie ND Proxy:
- Łączenie dwóch segmentów sieci IPv6 bez routingu
- Przedłużenie prefiksu IPv6 z jednego interfejsu na inny
- Praca jako pomost dla urządzeń z adresami IPv6, które nie obsługują routingu
📦 Scenariusz praktyczny
Wyobraźmy sobie sytuację:
- Twój ISP przydziela prefiks IPv6 (np.
2001:db8::/64) - Chcesz podłączyć urządzenia w innej podsieci przez drugi interfejs MikroTika
- Nie chcesz (lub nie możesz) użyć standardowego routingu
Rozwiązaniem może być ND Proxy – MikroTik będzie „udawał”, że zna odpowiedź na zapytanie ND, a faktycznie przekaże je do drugiego segmentu.

🧰 Wymagania
Przed rozpoczęciem konfiguracji:
- MikroTik z RouterOS v6.45+ lub RouterOS v7
- Włączony IPv6 package (
/system package enable ipv6) - Interfejsy z przypisanymi adresami IPv6
⚙️ Jak skonfigurować ND Proxy na MikroTik?
1️⃣ Krok 1: Włącz ND Proxy na interfejsie WAN
/ipv6 nd set [ find default=yes ] proxy=yes
Albo dla konkretnego interfejsu:
/ipv6 nd add interface=ether1 proxy=yes
2️⃣ Krok 2: Skonfiguruj interfejs LAN
Dodaj adres IPv6 do interfejsu LAN:
/ipv6 address add address=2001:db8::1/64 interface=ether2 advertise=no
Ustaw proxy również dla tego interfejsu:
/ipv6 nd add interface=ether2 proxy=yes
3️⃣ Krok 3: Sprawdź działanie
Sprawdź, czy MikroTik odpowiada na zapytania ND:
/tool sniffer quick ip6-proto=icmp6
Możesz również użyć komendy ping z innego urządzenia w sieci:
ping6 2001:db8::1
🧪 Co robi ND Proxy „pod maską”?
ND Proxy:
- Przechwytuje żądania
Neighbor Solicitationkierowane do danego adresu - Odpowiada na nie pakietem
Neighbor Advertisement - Działa jako pośrednik — pakiety kierowane do adresu IPv6 są przesyłane dalej przez interfejs, gdzie ten adres faktycznie istnieje
🛠 Różnica między ND Proxy a klasycznym routingiem
| Cecha | Routing IPv6 | ND Proxy |
|---|---|---|
| Wymaga delegacji prefiksu | ✅ Tak | ❌ Nie |
| Konfiguruje trasy | ✅ Tak | ❌ Nie |
| Transparentność dla hostów | ❌ Nie | ✅ Tak |
| Przypadki użycia | Normalne sieci | Bridging, NAT6, specjalne scenariusze |
⚠️ Ograniczenia ND Proxy
- Nie zastępuje pełnego routingu IPv6
- Może powodować problemy przy dużej liczbie urządzeń
- Nie działa z dynamicznymi routingami ani przydziałem prefiksów (PD)
🧩 Alternatywy dla ND Proxy
- Delegacja prefiksu (Prefix Delegation, DHCPv6-PD) – preferowane w nowoczesnych instalacjach
- Bridging z EoIP lub VLAN
- Static routing IPv6
✅ Podsumowanie
Jak działa ND Proxy na MikroTik dla IPv6?
To mechanizm, który umożliwia urządzeniu MikroTik odpowiadanie na zapytania ND w imieniu innych urządzeń, co pozwala na przenoszenie adresów IPv6 przez różne interfejsy bez klasycznego routingu.
ND Proxy to świetne rozwiązanie w środowiskach z ograniczonym dostępem do funkcji routingowych lub przy pracy z jednym przydzielonym prefiksem.
Poniżej znajdziesz gotowy skrypt konfiguracyjny MikroTik, który umożliwia skonfigurowanie ND Proxy dla IPv6 między dwoma interfejsami – typowy scenariusz, gdy chcesz połączyć dwa segmenty sieci IPv6 bez klasycznego routingu.
🎯 Założenia skryptu:
- Interfejs
ether1= WAN (strona z dostępem do IPv6 z Internetu) - Interfejs
ether2= LAN (sieć lokalna, gdzie chcesz rozszerzyć IPv6) - Prefiks IPv6:
2001:db8::/64(zmień na swój rzeczywisty) - Router działa jako ND Proxy, a nie jako klasyczny router
📜 Skrypt konfiguracji ND Proxy MikroTik
# Włącz pakiet IPv6 (jeśli jeszcze nieaktywny)
/system package enable ipv6
/system reboot
# Poczekaj na ponowne uruchomienie i zaloguj się ponownie
# Dodaj adres IPv6 do interfejsu WAN (ether1)
/ipv6 address add address=2001:db8::1/64 interface=ether1 advertise=no
# Dodaj adres IPv6 do interfejsu LAN (ether2)
/ipv6 address add address=2001:db8::2/64 interface=ether2 advertise=no
# Włącz ND Proxy na obu interfejsach
/ipv6 nd add interface=ether1 proxy=yes
/ipv6 nd add interface=ether2 proxy=yes
# (Opcjonalnie) Włącz forwarding IPv6, choć dla ND Proxy niekonieczny
/ipv6 settings set forward=yes accept-redirects=no accept-router-advertisements=yes
# (Opcjonalnie) Ustaw DNS IPv6 – Google i Cloudflare
/ip dns set servers=2001:4860:4860::8888,2606:4700:4700::1111 use-peer-dns=no allow-remote-requests=yes
# (Opcjonalnie) Ustaw MTU IPv6 na bezpieczne 1480
/interface ethernet set mtu=1480 [find name="ether1"]
/interface ethernet set mtu=1480 [find name="ether2"]
✅ Co robi skrypt?
- Przydziela ręcznie adresy IPv6 do dwóch interfejsów
- Włącza ND Proxy na obu interfejsach, dzięki czemu MikroTik działa jako „pośrednik”
- (Opcjonalnie) ustawia serwery DNS IPv6 oraz forwarding
🧪 Testowanie
Po załadowaniu skryptu:
- Podłącz urządzenie do interfejsu
ether2(LAN) - Nadaj mu adres IPv6 z zakresu
2001:db8::/64 - Spróbuj pingować inne urządzenie podłączone do
ether1 - Uruchom sniffer:
/tool sniffer quick ip6-proto=icmp6aby sprawdzić, czy MikroTik przekazuje zapytania ND
🧩 Dodatkowe opcje
Jeśli chcesz zautomatyzować działanie na starcie, zapisz skrypt jako startup script:
/system script add name=ndproxy_init source="(tu wklej cały skrypt powyżej)"
/system scheduler add name=run_ndproxy on-event=ndproxy_init start-time=startup






