Recently, I tried to get IPv6 connectivity working, with mixed results. Our ISP gave us static IPv6 addresses:
IPv6 Default Gateway : 2A00:1234:5:D00::1/56
IPv6 Network: 2A00:1234:5:D00::/56
So I configured pool, firewall and addresses on LAN and WAN (specific firewall rules to make it easier to count packages):
/ipv6 pool
add name=pool1 prefix=2a00:1234:5:d00::/56 prefix-length=64
/ipv6 address
add address=2a00:1234:5:d00::/64 interface=wan eui-64=no from-pool=pool1 advertise=no
add address=2a00:1234:5:d01::/64 interface=lan eui-64=no from-pool=pool1 advertise=yes
/ipv6 route
add disabled=no distance=1 dst-address=::/0 gateway=2a00:1234:5:d00::1 routing-table=main scope=10 target-scope=30
/ipv6 firewall filter
add action=accept chain=forward in-interface=wan out-interface=lan
add action=accept chain=forward in-interface=lan out-interface=wan
add action=accept chain=forward
add action=accept chain=output out-interface=lan
add action=accept chain=output out-interface=wan
add action=accept chain=output
add action=accept chain=input in-interface=lan
add action=accept chain=input in-interface=wan
add action=accept chain=input
Pinging Google on the Mikrotik router works as expected:
/tool ping 2a00:1450:4001:80e::2003
SEQ HOST SIZE TTL TIME STATUS
0 2a00:1450:4001:80e::2003 56 117 912us echo reply
1 2a00:1450:4001:80e::2003 56 117 876us echo reply
2 2a00:1450:4001:80e::2003 56 117 929us echo reply
3 2a00:1450:4001:80e::2003 56 117 864us echo reply
sent=4 received=4 packet-loss=0% min-rtt=864us avg-rtt=895us max-rtt=929us
Advertising on LAN also works as expected. To make my life a bit easier, I disabled randomized and temporary addresses on Windows machines:
Set-NetIPv6Protocol -RandomizeIdentifiers Disabled
Set-NetIPv6Protocol -UseTemporaryAddresses Disabled
So a Windows machine I am testing on gets the following address for example:
IPv6 Address. . . . . . . . . . . : 2a00:1234:5:d01:1a03:73ff:fe40:5f7a(Preferred)
Link-local IPv6 Address . . . . . : fe80::1a03:73ff:fe40:5f7a%22(Preferred)
However, pinging any outside host like Google from that machine does not work. The firewall rules show that a packet is leaving the router (rule “forward lan to wan”), but no answer ever comes back, in particular no answer gets sent to the machine in the local network. Machines get IPv6 addresses, yet all that is ever sent are SYN packets and one-sided ICMP tries.
What am I missing? I don’t use DHCP server - I am fine for hosts to auto-configure state-less within the /64 subnets - we got 256 of them with the difference between /56 and /64. I also tried assigning some other addresses on the Mikrotik from different subnets, and pinging with them as the source address, and that also works fine. I want to make sure I am not simply to dumb to configure the router before I contact my ISP.
Device: CCR1036-8G-2S+, ROS 7.7rc1