-
Notifications
You must be signed in to change notification settings - Fork 19
ipv6 problems on windows 7 #1
Comments
Can you get a pcap (Wireshark) dump of the DNS traffic between the DNS server and your Windows 7 device, and perhaps one other device that does work? I've not been able to duplicate the problem on my machines. |
I did a capture using wireshark when using the proxy and when not, and noticed that when using the proxy, and going to loopsofzen.co.uk, a DNS query is made to get an A record, but no query for the AAAA record. When not using the proxy, a DNS query is made for the A record and AAAA record I have tried just running simple_server.py from https://twistedmatrix.com/documents/15.0.0/names/howto/custom-server.html and noticed that when querying this, and querying a dnsmasq server, the rd flag is dropped from the response from the response from simple_server.py
|
This is particularly unusual. This seems like the OS doesn't think that it has a global IPv6 address so isn't even trying, but the fact that it does query AAAA records only when not using the proxy hints that something else is the matter. I'm not totally convinced that the rd flag business is relevant, because it's a flag that the client uses to instruct the server to do a recursive lookup. I'd expect clients should ignore this flag in responses since it's not relevant to them. (They'd probably be looking for the ra flag, but not rd.) If Windows 7 is altering behavior based on the presence of this flag in the response, that sounds like a Windows 7 bug -- not that I'm opposed to a compatibility fix. I will need to set up a Windows 7 VM and see if I can reproduce the issue. |
One other thing I have noticed is that my clients all have 2 DNS servers - one IPv4 address supplied by IPv4 DHCP and one IPv6 address supplied by IPv6 DHCP/SLAAC , and some clients are using both of them - which might explain #2 as well. I have made some changes to server.py at https://github.com/antxxxx/netflix-no-ipv6-dns-proxy/tree/multiple_interface to allow it to listen on IPv4 and IPv6 which I will try and see if it fixes anything |
If you bind to the IPv6 wildcard address |
|
According to Google, FreeBSD has a similar sysctl |
Thanks I did not know about that. Its actually |
I have found the problem and solution to this In windows, there is a prefix policy table that determines which IP addresses are preferred. You can see this by using the netsh command
With this setup, the IPv4 addresses (::ffff:0:0/96) is preferred over IPv6 addresses starting 2001 (like mine and loopsofzen.co.uk) To fix it, I just lowered the precedence of the IPv6 range using this from an administrator command prompt |
Interesting find. I'm still curious why just putting the proxy in the way causes this behavior change, though. |
Actually this did not solve the problem.
I then ran this proxy listening on 127.0.0.1 port 1053 pointing to an upstream DNS server With this setup, most DNS queries are handled by dnsmasq, but netflix.com and netfliximg.com are sent to this proxy where AAAA records are not returned |
I think this is a problem with twisted names rather than this code, but reporting it here in case any one else notices it.
I have set this up and can now access UK netfilx and play videos on windows 7 laptop while still accessing some ipv6 sites. However some ipv6 sites are now not accessible in a browser.
Sites that work
ipv6.google.com
ip6.me (reports my ipv6 address correctly)
Sites that dont work
http://loopsofzen.co.uk/
Also, http://ipv6-test.com/ now reports that I dont have ipv6 connectivity
DNS lookups from a cmd prompt work fine and going directly to the ipv6 address work
These sites work fine from an android client on the same network
The text was updated successfully, but these errors were encountered: