Firefox prefers IPv4 address in a dual-stack environment
Hi,
I'm using IPv4 as well as IPv6 addresses in my home network. But Firefox uses always the IPv4 connection when I open a website. When I open the same website in MS Edge, the IPv6 connection is used.
I've captured the network traffic during opening a website in Firefox, which is reachable over IPv4 and IPv6. First I see two DNS queries (A and AAAA) for the domain name. Both responses containing the correct IP address, and they arrive nearly at the same time at the client. Next I can see the TCP handshake. But it's send between the IPv4 address only. No IPv6 connection was attempted.
When I run the IPv6 test at https://test-ipv6.com, the IPv6 resuls are nearly fine. Only the web browser test says "Your browser has real working IPv6 address - but is avoiding using it."
When I run the same test in MS Edge, all tests are fine.
So it seems that this is not a OS or network issue. It affects Firefox only.
What I've already tried:
- Disabled all extensions
- Created a new profile
- Used the IPv6 address of the website instead of the FQDN -> Works fine.
- Checked DNS cache of Firefox (about:networking). It contains the IPv4 and IPv6 addresses of the requested websites
I guess that Firefox prefers the A record for some reason. But I've no idea why. Has anybody an idea what could causing this?
Thanks.
Jas Man
Izabrano rješenje
I've solved it by myself today :)
My first thougts some days ago went into the same direction, that the IPv6 test http://detectportal.firefox.com/success.txt?ipv6 fails. But the test was and is always successfull.
But there's another IPv6 test in Windows. It tries to reach http://ipv6.msftconnecttest.com/connecttest.txt to test the IPv6 connection. And this URL has been blocked. I was aware about it, but I didn't thougt that this affects Firefox, because Firefox uses its own test. And Microsofts browser Edge works fine, so why should a Microsoft test affect Firefox, but not Edge?
Long story short: I allowed the URL and after a reboot the IPv6 test was successfull. I've disabled the Microsoft NCSI test as final solution. Not sure if this will harm any other functions, but I'm happy that I've found out the culprit. For more information about Microsofts NCSI test see https://heikorichter.name/post/424/microsoft-connection-status-indicator/
Thanks for your answers :)
Pročitaj ovaj odgovor u kontekstu 👍 1Svi odgovori (3)
Not sure which link you mean, so I've attached a screenshot of my WAN modem (ISP is Deutsche Telekom), my Ethernet connection (ipconfig) and the result of the test site in both browsers.
Hope this helps to understand my issue :)
Firefox uses this to test for IPv6 support.
I checked with Gmail and the Network Monitor shows for all requests an IPv6 address (you need to expand the GET section). In other cases I see the IPv6 address used for "gstatic.com" requests.
You can search the about:config page for "ipv" to verify that all IPv prefs are default.
You can check the connection settings.
- Settings -> General -> Network: Connection -> Settings
If you do not need to use a proxy to connect to internet then try to select "No Proxy" if "Use the system proxy settings" or one of the others do not work properly.
See "Firefox connection settings":
Odabrano rješenje
I've solved it by myself today :)
My first thougts some days ago went into the same direction, that the IPv6 test http://detectportal.firefox.com/success.txt?ipv6 fails. But the test was and is always successfull.
But there's another IPv6 test in Windows. It tries to reach http://ipv6.msftconnecttest.com/connecttest.txt to test the IPv6 connection. And this URL has been blocked. I was aware about it, but I didn't thougt that this affects Firefox, because Firefox uses its own test. And Microsofts browser Edge works fine, so why should a Microsoft test affect Firefox, but not Edge?
Long story short: I allowed the URL and after a reboot the IPv6 test was successfull. I've disabled the Microsoft NCSI test as final solution. Not sure if this will harm any other functions, but I'm happy that I've found out the culprit. For more information about Microsofts NCSI test see https://heikorichter.name/post/424/microsoft-connection-status-indicator/
Thanks for your answers :)