Adguard messing around with IPv6 settings

Discussion in 'Technical Support (AdGuard for Windows)' started by tox1c90, Jan 25, 2018.

  1. tox1c90

    tox1c90 Beta Tester

    Joined:
    Apr 27, 2014
    Messages:
    73
    Hi!

    Every time Adguard is started, the following DWORD value in registry is changed:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents
    -> is always set back to (0x28) by Adguard

    That means the following:
    0x08 - Teredo disabled (which is ok, because Teredo is useless and bad if you have a real IPv6 connection)
    0x20 - Prefer IPv4 over IPv6 (which is NOT OK)

    I got aware of this because I checked my internet connection via ipv6-test.com and it says that my browser is always preferring IPv4 over IPv6 which is not the default behavior of Windows and really bad.

    So what I did is running the Fix-It from Microsoft which changes IPv6 behavior back to default: https://support.microsoft.com/en-us/help/929852/how-to-disable-ipv6-or-its-components-in-windows

    After this, DisabledComponents is set to 0x8 and the IPv6 prefix policies show native IPv6 with highest priority and ipv6-test.com reports that I'm using IPv6 as preferred protocol. Problem is, after restarting Windows, it is set back to 0x28 and preferring IPv4 again. By stopping and restarting Adguard only I found out that this change of settings is indeed caused by Adguard, so my question is why?

    Is there any reason for Adguard to change Windows behavior to prefer IPv4? I did a few tests with default settings (IPv6 preferred) and it looked like everything including Adguard is working just fine.

    Edit:
    Ok, it looks like this is a misbehavior of Adguards setting "Block Teredo if WFP driver is used" (or similar in English, I'm using the German Adguard....).
    If I switch this off, DisabledComponents reverts to 0x00, which is Teredo enabled and IPv6 preferred.
    But if I switch it on, you do not only disable Teredo but also prefer IPv4 by setting it to 0x28.
    Just to disable Teredo, "0x8" would be the right setting.

    Edit2:
    Just for clarification why this is important: In Germany, most providers don't give out public IPv4 adresses anymore because they don't have enough. You only get a native IPv6 connection, all IPv4 connections are tunneled via a Carrier-grade-NAT (technique is called Dual Stack Lite) which causes additional latencies. So you want to use IPv6 as much as you can and avoid IPv4 connections. Thus, setting Windows to prefer IPv4 is the worst thing you can do in this situation.
     
    Last edited: Jan 25, 2018
  2. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    13,144
    Teredo is known to be quite problematic and that's why AG disables it by default.

    And that's an interesting point. We should investigate if it's enough to just disable Teredo:
    https://github.com/AdguardTeam/AdguardForWindows/issues/2094
     
    tox1c90 likes this.