Skip to main content

Op mijn Mikrotik RB5009 router probeer ik IPv6 werkend te krijgen voor de apparaten op mijn lokale netwerk. De Mikrotik router is direct aangesloten op het NT kastje. Internet via IPv4 werkt en ook de TV set-top box werkt.

Allereerst mijn router config: https://gist.github.com/kcleong/21cdddda2bb6c40dfbd15166d27765f4

Op mijn netwerk krijgen de apparaten geen IPv6 adres uitgedeeld. Mijn IPv6 kennis is niet zo goed maar als ik het goed begrijp worden de adressen uitgedeeld via neighbor-discovery met een IPv6 range uitgereikt vanuit KPN.

De instellingen heb ik meerdere malen gecontroleerd maar ik kan niet zien wat er mis is in de configuratie. Voor de config heb ik https://www.eigenrouter.nl/en/guides/mikrotik/kpn/Mikrotik-toevoegen-van-ipv6-aan-internet-only

 en 

als naslag gebruikt.

Het vreemde (volgens mij) is dat de KPN IPv6 ranges wel binnenkomen op de router:

 

Toevallig heb ik ook even lopen pielen gisteren met IPv6 nadat ik weer mijn RB5009 aansloot (duurde even na overstap vanuit concurrent).

Viel mij op dat de handleidingen niet actueel zijn voor RouterOS v7. PPP profiel is overbodig en kan issues geven. Lekker op default houden en niet de default aanpassen (hopelijk heb je dit niet gedaan?)

Kan jij mij eens een export sturen van je IPv6 want gok een firewall issue (had ik namelijk):

  1. Open een terminal en ga naar /ipv6
  2. Export file=ipv6-settings
  3. ga naar files en doe rechtermuisknop → Download
  4. Open dit bestand in een notpad/kladblok en stuur deze inhoud op het forum.

P.S. Dit profiel op forum is nieuw, maar ik lever normaal KPN zakelijk (bijna identiek op IPv6, VoIP en TV/IGMP na) en heb certificaten vanuit MikroTik.


@Jordy R. het PPP profiel is standaard. Bij deze mijn IPv6 config:

/ipv6 address
add address=::1 from-pool=kpn-ipv6-pool interface=local
/ipv6 dhcp-client
add add-default-route=yes interface=pppoe-kpn pool-name=kpn-ipv6-pool \
pool-prefix-length=48 request=prefix use-peer-dns=no
/ipv6 firewall filter
add action=accept chain=input comment="Established connections" \
connection-state=established,related
add action=accept chain=input comment="DHCPv6-PD responses" dst-address=\
fe80::/64 dst-port=546 in-interface=pppoe-kpn protocol=udp
add action=drop chain=input comment="Default drop rule" in-interface=\
pppoe-kpn
/ipv6 nd
set find default=yes ] advertise-mac-address=no hop-limit=64 \
interface=local

Er is IPv6 connectivity op de router:
 

exxx@MikroTik] /ipv6> /ping 2606:4700:4700::1111
SEQ HOST SIZE TTL TIME STATUS
0 2606:4700:4700::1111 56 60 6ms138us echo reply
1 2606:4700:4700::1111 56 60 5ms927us echo reply
2 2606:4700:4700::1111 56 60 5ms903us echo reply
3 2606:4700:4700::1111 56 60 5ms898us echo reply
sent=4 received=4 packet-loss=0% min-rtt=5ms898us avg-rtt=5ms966us max-rtt=6ms138us

 


Oeps, per ongeluk bovenstaande post aangemerkt als antwoord...


Sorry voor de late reactie.

Ik zie het issue inderdaad in de config.

Je Firewall klopt niet helemaal en sloopt het hele IPv6 protocol. IPv6 is namelijk grotendeels gebasseerd op IMCP (v6). Dit word nu opgepakt in je DROP rule. Bij de aangeboden link van eigennetwerk.nl zie je inderdaad de ICMPv6 missen. 

Als je je firewall zal vervangen met onderstaand drop je geen ICMPv6 of voeg regel 3/vetgedrukt toe boven de drop rule:

/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
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 protocol=icmpv6
add action=drop chain=input comment="drop everything else"

Een tip is om in je /ip dns ook je DNS servers voor IPv6 te includen. Ja MikroTik pakt daar je IPv4 & IPv6 DNS servers uit dat tabje wat meer IPv4 is. Ook al is niet logisch en snap ik na jaren nog niet waarom dat niet los is getrokken.

Of je kan dit ook doen in de /ipv6 nd (Je SLAAC/IPv6 request vanaf je client naar router via ND):

/ipv6 nd
set > find default=yes ] advertise-dns=no disabled=yes
add advertise-mac-address=no dns=2001:4860:4860::8888,2001:4860:4860::8844 hop-limit=64 interface=local

Doe je zelf geen DNS specifieren zal je altijd via de KPN DNS gaan en niet via Google of in jouw voorbeeld 1.1.1.1

Mocht je nog hulp nodig hebben hoor ik het graag.


@Jordy R.  bedankt voor de hints! Samen met input vanuit het Mikrotik forum ben ik tot een stuk verder gekomen. Naast de aangepaste firewall-regel, toevoegen van DNS-server moest ik ook nog de MTU-waarden aanpassen. 

Zonder de aangepaste MTU-waarden kan ik pingen naar ipv6 domeinen/adressen maar een HTTP-verbinding opzetten werkt niet. 

Het vreemde is dat ik enkel een IPv6 verbinding heb op de LAN poorten van de Mikrotik router. Direct op de router ontvang ik ICMPv6 router advertisements. Maar via apparaten aangesloten via switches of via access points krijg ik geen router advertisements (gecontroleerd middels `tcpdump -i eth0 icmp6 and 'ip6 40] == 134'`). 

Beknopte config:

/interface pppoe-client
add add-default-route=yes allow=pap disabled=no interface=vlan1.6 \
keepalive-timeout=20 max-mru=1492 max-mtu=1492 name=pppoe-kpn user=kpn

/ip dhcp-server option
add code=26 name=ip-dhcp-server-option-26 value="'1492'"

/ipv6 address
add address=::1 from-pool=kpn-ipv6-pool interface=local
/ipv6 dhcp-client
add interface=pppoe-kpn pool-name=kpn-ipv6-pool pool-prefix-length=48 request=prefix use-peer-dns=no
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
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 ICMPv6" protocol=icmpv6
add action=drop chain=input comment="drop everything else"
/ipv6 firewall mangle
add action=change-mss chain=forward in-interface-list=WAN new-mss=1432 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1433-65535
add action=change-mss chain=postrouting new-mss=1432 out-interface-list=WAN passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1433-65535
/ipv6 nd
set / find default=yes ] advertise-dns=no advertise-mac-address=no dns=2606:4700:4700::1111 hop-limit=64 managed-address-configuration=yes mtu=1492

Volledige config: https://gist.github.com/kcleong/426ae7a5c3c5ecb4870bb82966e80ef4


Fijn dat het bij je werkt!

Bij mij heb ik geen MTU aanpassing hoeven te doen. Maar misschien combinatie van jouw NTU/fiber/route bij KPN die toch wat minder MTU aan kan ergens op de route waardoor pakketjes fragmenteren.

Zelf ook 1x gezien bij een KPN partner verbinding nu ik het me toch bedenk. Heel lang geleden.

MikroTik is wel een goede community dus komen inderdaad wel goede suggesties. 


Nu zijn de apparaten aangesloten op switches / AP’s heb ook werkend. Omdat  igmp-snooping=yes is ingesteld op de bridge (vanwege IPTV) moet de ‘multicast querier’ ook ingeschakeld zijn om de IGMPv6 pakketjes te laten propageren over het netwerk. Aan deze instelling zitten wel wat haken en ogen (zie mikrotik forum)  maar bij mij werkt het nu.

De MTU heb ik weten aan te passen naar 1500 (ppp-oe=1500, vlan1.6=1508 en wan=1512), waarbij ik de overige specifieke MTU regels heb opgeschoond.  

Mijn werkende config heb ik bijgewerkt in de bovenstaand Github gist, voor degenen die daar belang bij hebben.

 


Reageer