Hi, I have a Mikrotik RB751U-2HnD running the latest firmware, connected to a fiber ONT in bridge mode. My ISP has good support for IPv6, and when using the ONT directly in router mode clients have IPv6 connectivity out of the box.
With the ONT in bridge mode and the Mikrotik obtaining the IPv6 prefix, I can ping IPv6 addresses from the router’s ping tool, but clients do not have IPv6 connectivity. I tried with multiple Linux and Windows clients as well as Android, and none of them work. Are there any obvious errors here with my configuration?
Thanks in advance.
I made some significant progress with neighbor discovery:
Now clients can ping IPv6 addresses, resolve most domains to their IPv6 address by default, and access most websites. But there is a really weird issue where I can not browse most or all of the IPv6-capable websites that I have been testing with, such as the http://ipv6-test.com and this forum. They hang at the TLS handshake stage. There’s also another website that I know supports IPv6 and does NOT have SSL enabled that also fails to load via IPv6 although I can ping it. But if I visit a random website that I do NOT normally visit that supports IPv6 it DOES load. This behavior is the same across all browsers and clients, which I have tried restarting several times and even tried starting with fresh browser profiles to eliminate the possibility of cache problems, as well as restarting the Mikrotik and the ONT.
Try adding some static ipv6 dns servers to /ip dns (for example the ones from google: 2001:4860:4860::8888 and 2001:4860:4860::8844) and check “Advertise DNS”
It sounds like it might be MTU related issues. Are your clients allowing all icmpv6 from everywhere? You should be able to ping the clients with IPv6 from anywhere on the Internet.
Hmm. Should I try setting MTU to something under IPv6 > ND ?
Are your clients allowing all icmpv6 from everywhere? You should be able to ping the clients with IPv6 from anywhere on the Internet.
I haven’t specifically blocked anything on the clients. I was wondering if the Mikrotik IPv6 firewall was causing the problem, although I haven’t done anything to it, they’re all defconf rules.
I haven’t specifically blocked anything on the clients. I was wondering if the Mikrotik IPv6 firewall was causing the problem, although I haven’t done anything to it, they’re all defconf rules.
The default MikroTik IPv6 firewall allows ICMPv6 in the forward chain from all to all, so the MikroTik firewall would not block this. It may be blocked by default on a firewall on your devices. I have McAfee installed (it is a freebie that came with my Internet service) and by default it blocks ICMP on IPv6.
Maybe go to this site and see if it can ping your computer’s IPv6 address, if it can’t, then ICMPv6 is getting blocked. http://www.ipv6now.com.au/pingme.php
Thanks for the explanation. I don’t run any antivirus or device-level firewalls.
I’m a bit confused why I can ping out to domains over IPv6 but can’t load the site in the browser.
With IPv6, your computer and the website you are accessing both have to make the packet small enough for the entire path, routers in between cannot fragment the packet. If the website cannot successfully ping your computer, it will probably send a 1500 byte HTTP/IPv6 packet to you, which would be dropped because it cannot make it across your PPPoE with the overhead of 8 bytes.
Did you try going to that site and verifying that your device or computer responds to pings?
Hmm, you might be onto something. The ipv6now.com.au website won’t load for me, although I can ping it. However https://www.ultratools.com/tools/ping6 was able to ping my device’s IPv6 address. So how would I go about changing the MTU?
If pings work in both directions then generally there should be no MTU issue because path MTU discovery should work, unless there is a misconfiguration somewhere. Can you share your PPPoE interface settings? Obscure the user/password.
I occasionally see issues with MTU negotiation between PPPoE client and server, where they have a different understanding of the MTU of the other and this results in silent drops for packets that are too big.
If your ISP supports RFC4638 PPP-Max-Payload, then it is possible to increase both to 1500, and require no fragmentation. This would rule out MTU issues.
Otherwise, at this point you might need to do packet captures to try to figure out what is going on.
Do you maybe have another device on your LAN that is sending IPv6 router advertisements, and your computer is sometimes routing through that device instead of your main router?