Následující návod obsahuje základní nastavení IPv6 v RouterOS pro připojení pomocí PPPoE v Cetin síti s využitím PD (Prefix Delegation). Dále se věnuje novince, kterou představuje HW akcelerace pro protokol IPv6, nejenom pro routování, ale i pro firewallová pravidla.
Další informace k IPv6 lze nalézt v dokumentaci https://help.mikrotik.com/docs/spaces/ROS/pages/119144661/IPv4+and+IPv6+Fundamentals
Před použitím je nutné veškeré příkazy upravit tak, aby seděli do konfigurace Vašeho routeru, například změnou rozhraní či IPv6 prefixu.
Principy zde popsané lze využít i u jiných výrobců síťového HW.
V případě použití VDSL připojení je nutné předkonfigurovat modem do režimu bridge. V případě modemu Zyxel DX3300-T0 je pouze nutné ho do tohoto režimu přepnout, tento konkrétní modem řeší i odtagování VLANy 848, tudíž jí není nutné vytvářet na rozhraní routeru. Návod k modemu -> https://static.vodafone.cz/cp/docs/modem/zyxeldx3300t0/dx3300-userguide.pdf
Na základě konfigurace modemu je nutné zvolit mezi Nastavení PPPoE (netagovaná VLAN 848) a Nastavení PPPoE (tagovaná VLAN 848).
Nejdříve je nutné nastavit PPPoE klienta na WAN rozhraní, například s názvem PPPoE Modem. Více o PPPoE na https://help.mikrotik.com/docs/spaces/ROS/pages/2031625/PPPoE
/interface pppoe-client
add add-default-route=yes disabled=no interface=WAN-ether1 name="PPPoE Modem" use-peer-dns=yes user=vf password=vf

V takovém případě je nejdříve nutné vytvořit ručně VLAN 848 s patřičným VLAN ID na rozhraní WAN, v tomto případě WAN-ether1. Další podstatnou změnou je poté vytvoření PPPoE klienta na rozhraní VLAN-848.
/interface vlan
add name=VLAN-848 vlan-id=848 interface=WAN-ether1
/interface pppoe-client
add add-default-route=yes disabled=no interface=VLAN-848 name="PPPoE Modem" use-peer-dns=yes user=vf password=vf
Pokud byla konfigurace provedena správně, měl by PPPoE klient zobrazovat status running, získat IPv4 adresu a nastavit si lokální a vzdálenou IPv6 adresu.
Dalším krokem je povolení IPv6 protokolu.
/ipv6 settings
set disable-ipv6=no forward=yes set allow-fast-path=yes accept-redirects=yes-if-forwarding-disabled accept-router-advertisements=yes

Po aktivaci IPv6 bude nejspíše nutné restartovat router.
Po povolení IPv6 je nutné na rozhraní PPPoE klienta (PPPoE Modem) nastavit DHCPv6 klienta. V tomto případě žádáme ISP o delegování prefixu.
Pro správnou funkčnost je potřeba mít ve firewallu povolené pravidlo input pro UDP port 546 z rozsahu link-local adres fe80::/10. Pokud je v routeru defaultní firewall, mělo by být pravidlo již nastavené!
/ipv6 firewall filter
add action=accept chain=input comment="povol DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
/ipv6 dhcp-client
add interface="PPPoE Modem" request=prefix pool-name=IPv6 pool-prefix-length=64 prefix-hint=::/56 use-peer-dns=yes rapid-commit=yes add-default-route=yes

DHCPv6 klient v tomto případě získal prefix 2a00:11b7:51b:c700::/56, který lze dále rozdělit až na 256 podsítí s prefixem /64.

Může být ponecháno předefinované nastavení all pro všechny rozhraní nebo lze specifikovat vlastní nastavení. Konfigurace je poté použita pro RA pakety, kterými router oznamuje svou přítomnost v síti.
/ipv6 nd
add dns=2001:4860:4860::8888,2001:4860:4860::8844 interface=Bridge-LAN mtu=1492 advertise-mac-address=yes advertise-dns=yes managed-address-configuration=no other-configuration=yes
Příklad upravené konfigurace pro rozhraní Bridge-LAN s přidáním vlastních DNS serverů.

Máme přidělený prefix 2a00:11b7:51b:c700::/56.
2a00:11b7:51b:c7 -> Prvních 56 bitů adresy, které nelze měnit a jsou přiděleny.
00 -> 8 bitů pozice, kterou můžeme libovolně měnit a vytvářet pomocí ní podsítě. Máme dostupný rozsah pro 256 podsítí (2^(64-56) = 2^8 = 256), tudíž lze použít validní hodnoty od 00 do ff.
:: -> 64 bitů pro adresy hostů. Za :: lze přiřadit libovolnou hodnotu, například ::1 reprezentující první adresu z rozsahu, tak jak bývá zvykem při použití IPv4.
Pomocí hexadecimálních znaků lze vytvořit i zajímavá slova jako: dead, cafe, code, 5afe, fa1l, base a spousty dalších. Pak by klidně při použití prefixu /48 mohla adresa vypadat jako 2a00:11b7:51b:5afe::c0de.
Stejně jako u IPv4 si můžeme IPv6 adresy pro rozhraní a podsítě nastavit manuálně. Pokud používáme dual-stack (IPv4 + IPv6), je vhodné zvolit logickou a snadno zapamatovatelnou strukturu. Pokud máme například IPv4 adresu 192.168.0.1/24, můžeme použít odpovídající IPv6 adresu 2a00:11b7:51b:c700::1/64.
Pevná část 2a00:11b7:51b:c7 představuje přidělený /56 IPv6 prefix, který zůstává neměnný. Část 00 odpovídá třetímu oktetu IPv4 adresy, což znamená, že pokud je IPv4 síť 192.168.0.x, odpovídající IPv6 podsíť bude c700. Tímto způsobem lze jednoduše vytvořit odpovídající IPv6 podsítě pro různé IPv4 rozsahy. Nakonec, hodnota ::1 představuje první adresu v síti, obdobně jako 192.168.0.1 u IPv4. Tento systém usnadňuje orientaci mezi IPv4 a IPv6 adresami a zajišťuje přehlednou a konzistentní adresaci v síti.
| IPv4 | IPv6 |
|---|---|
| 192.168.0.1/24 | 2a00:11b7:51b:c700::1/64 |
| 192.168.255.1/24 | 2a00:11b7:51b:c7ff::1/64 |
Advertise -> Router oznámí adresu klientům přes RA (Router Advertisement).
Auto-Link-Local -> Automaticky se vytvoří link-local IPv6 adresa (fe80::/64).
/ipv6 address
add address=2a00:11b7:51b:c700::1/64 interface=Bridge-LAN advertise=yes auto-link-local=yes
add address=2a00:11b7:51b:c7fa::1/64 interface=VLAN-255 advertise=yes auto-link-local=yes

DHCPv6 při použití SLAAC slouží k přidělení DNS serverů zařízením/OS, které je nemohou získat z RA, například Windows do verze Windows 11 24h2. Při kombinaci DNS v RA a DHCPv6 zařízení/OS použijí všechny poskytnuté servery z obou metod.
Následující příkaz vytváří DHCPv6 option obsahující DNS servery 2001:4860:4860::8888 a 2001:4860:4860::8844.
Code -> Specifikuje DHCPv6 Option 23, což je RDNSS (Recursive DNS Server), sloužící k přidělení DNS serverů.
/ipv6 dhcp-server option
add code=23 name=DNS value="'2001:4860:4860::8888''2001:4860:4860::8844'"

Nakonec je potřeba vytvořit DHCPv6 server pro příslušné rozhraní a přiřadit mu vytvořený DHCP Option.
/ipv6 dhcp-server
add dhcp-option=DNS interface=Bridge-LAN name=DHCP-LAN

Po úspěšné konfiguraci by zařízení v síti měla automaticky získat IPv6 adresu. K ověření lze použít klasické příkazy jako ipconfig/ip a.
Pro ověření lze použít příkaz ping 2001:4860:4860::8888. Pokud Google DNS server odpoví, je IPv6 konektivita funkční.
Otevření webové stránky https://www.nebezi.cz/ , která ukazuje aktuální IPv6 adresu připojeného zařízení, funguje pouze přes protokol IPv6, tudíž v případě nesprávné konfigurace se nezobrazí.
Po oveření správnosti celé konfigurace je nezbytným krokem nastavit doporučená firewall pravidla společností MikroTik, tak aby byl zamezen přístup k vnitřním sítím z internetu. https://help.mikrotik.com/docs/spaces/ROS/pages/328513/Building+Advanced+Firewall
Při úpravě defaultní konfigurace by měly být již na routeru nastavené.
Je potřeba přidat patřičná rozhraní do interface listů pro LAN a WAN.
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
Nastavení pravidel pro porvoz přicházející na rozhraní routeru.
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept ICMPv6 after RAW" protocol=icmpv6
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=accept chain=input comment="defconf: accept UDP traceroute" dst-port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept IPSec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept IPSec ESP" protocol=ipsec-esp
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
Nastavení address listu.
/ipv6 firewall address-list
add address=fe80::/10 comment="defconf: RFC6890 Linked-Scoped Unicast" list=no_forward_ipv6
add address=ff00::/8 comment="defconf: multicast" list=no_forward_ipv6
Nastavení pravidel pro provoz procházející přes router.
/ipv6 firewall filter
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward src-address-list=no_forward_ipv6 comment="defconf: drop bad forward IPs"
add action=drop chain=forward dst-address-list=no_forward_ipv6 comment="defconf: drop bad forward IPs"
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6 after RAW" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" protocol=udp dst-port=500,4500
add action=accept chain=forward comment="defconf: accept AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches IPSec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
Povolení HW akcelerace značně sníží HW nároky na zpracování IPv6 paketů. Je dostupná od verze RouterOS 7.18beta2, která byla uvolněna k testování 21. 1. 2025. Stejně jako u IPv4 jsou nyní dostupné volby Fast Path a Fast Track.
/ipv6 settings
set allow-fast-path=yes
Přidá pravidlo pro Fast Track, musí být umístěno nad všemi ostatními forward pravidly.
/ipv6 firewall filter
add action=fasttrack-connection chain=forward
Pro hrubou představu bylo provedeno vyzkoušení zátěže CPU pomocí speedtestu (https://speedtest.cesnet.cz/), který využije celou dostupnou kapacitu linky. Pro znatelnější rozdíl v maximální propustnosti by bylo potřeba test provést na vyšší rychlosti linky a bez použití protokolu PPPoE.
| Režim | Peak CPU |
|---|---|
| HW akcelerace zapnuta | 10 % |
| HW akcelerace vypnuta | 27 % |
Cesnet speedtest pro IPv6 při zapnuté HW akceleraci

Maximální zátěž CPU (Peak) při zapnuté HW akceleraci

Cesnet speedtest pro IPv6 při vypnuté HW akceleraci

Maximální zátěž CPU (Peak) při vypnuté HW akceleraci
