Get-NetIpInterface VS "netsh interface ipv4 show interfaces"... different results on same interfaces -> changed metric not working on always on vpn interface

Dimitri Goossens 21 Reputation points
2021-04-22T05:54:39.287+00:00

Hi,

We're performing an Always On VPN project, and have an issue with DNS resolution.
In general we want the AOVPN interface to have a lower metric then the wired NIC.
THe DNS gets chosen, based on the interface with the lowest metric.

We're using a script from Richard Hicks to change the metric of the AOVPN interface.
(https://github.com/richardhicks/aovpn/blob/master/Update-Rasphone.ps1)
It does get set correctly, and is being changed in the rasphone.pbk file located in : "C:\ProgramData\Microsoft\Network\Connections\"
(we're installing it for all users, hence the location of the file).

So far, so good.. Everything seems to get adapted correctly (verified metric on GUI interface too, and it shows the changed metric).

However when a client connects via VPN, they still get the ISP DNS server (via wired interface) to respond instead of the internal DNS server.
Lowering the metric of the AOVPN interface, should have forced this DNS to be used.

Now for the question :)

When checking the metric of the connections via "netsh interface ipv4 show interfaces", the metric is correct (we see the changed one)

When checking via Get-NetIPInterface, the old value is still shown, valued 25, which is automatic. This is the metric being used, and the one queried with netsh is being ignored.

Does anyone know why there is a difference in both ways to query them?

Windows 10 Network
Windows 10 Network
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Network: A group of devices that communicate either wirelessly or via a physical connection.
2,274 questions
Windows DHCP
Windows DHCP
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.DHCP: Dynamic Host Configuration Protocol (DHCP). A communications protocol that lets network administrators manage centrally and automate the assignment of Internet Protocol (IP) addresses in an organization's network.
1,023 questions
0 comments No comments
{count} votes

7 answers

Sort by: Newest
  1. Dimitri Goossens 21 Reputation points
    2021-04-27T08:39:12.753+00:00

    The wired interface will always have priority (lower metric) then the AOVPN interface by default.
    The AOVPN adapter has the same metric as a wireless interface by default, which is 25.


  2. Candy Luo 12,656 Reputation points Microsoft Vendor
    2021-04-27T08:33:10.333+00:00

    Now , we can narrow down the issue is related with scripts. Don't use script to change the metric. As far as I know, when you connect to VPN successfully, VPN 's adapter interface metric will auto lower than other interface.

    Make sure adapters' interface metric are setting to Automatic metric. Then do not use script to change the metric, connect to VPN and then check the results.

    0 comments No comments

  3. Dimitri Goossens 21 Reputation points
    2021-04-27T08:15:12.993+00:00

    Thanks!
    Setting the metric via the GUI on the AOVPN interface does work, and it survives a reboot/shutdown.
    So it has something to do with the script and where it's exactly saved.
    Do you have any idea where it is taken from when quering via the cmdlet?
    So it does work manually, but we cannot do that on thousands of computers. Also the VPN interfaces gets deleted and recreated on every update.

    0 comments No comments

  4. Dimitri Goossens 21 Reputation points
    2021-04-27T07:48:24.02+00:00

    Thanks! Setting the metric of the wired connections to a higher value does work, but if you need to do this on thousands of clients, there might be other problems popping up.
    It's too bad that Windows doesn't let you correctly set a metric for 1 particular interface (VPN), and the solution is to change everything else besides this metric :-)

    I would like to understand why the metric that you see in the GUI isn't used.


  5. Candy Luo 12,656 Reputation points Microsoft Vendor
    2021-04-27T07:43:20.247+00:00

    Hi ,

    You might try to set wired interface's metric to a larger value and check when a client connects via VPN whether they can get internal DNS server.

    If it still doesn't work, as a workaround, you might write a script that run the command of Set-NetIPInterface -InterfaceIndex 12 -InterfaceMetric 5 once it detects a AOVPN connection. Of cause, this is not a good solution, if we want to find the root cause, I would suggest you open a case with Microsoft where more in-depth investigation can be done so that you would get a more satisfying explanation and solution to this issue.

    Here is the link:

    https://support.microsoft.com/en-us/gp/customer-service-phone-numbers

    Best Regards,
    Candy

    --------------------------------------------------------------

    If the Answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments