DNS Resolution Issues on Windows 11 Enterprise (Related to Issue #3332) #1762

Open
opened 2025-11-20 06:06:13 -05:00 by saavagebueno · 1 comment
Owner

Originally created by @OGDeguy on GitHub (Mar 28, 2025).

Describe the problem

DNS Resolution does not work on Windows 11 enterprise after GPOs have been applied. We have seen it work intermittently after previous updates have been applied, but generally it is not working correctly which is frustrating our users.

The patch performed by @lixmal does appear to have helped. But from what I can tell there is still a logic bug here. I can look at the code myself, but will not have the time to set aside for this for at least another month.

My apologies to the developers, work has been busy and I have not had the time to troubleshoot this issue and contribute as much as I wanted to.

To Reproduce

Steps to reproduce the behavior:

  1. Configure netbird on a Windows 11 Enterprise system
  2. Join the system to an Active Directory domain
  3. Configure netbird DNS resolution for your custom domain
  4. Ensure your Windows 11 has got its policy applied gpupdate /force
  5. Reboot the Windows 11 system.
  6. Connect to Netbird
  7. You might briefly see the DNS resolution work. However, in time it will stop working.
  8. When DNS resolution fails check your Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ registry key and find your netbird adapter. You will see something like the following:

Image
9. Manually filling in the missing values will resolve the DNS resolution issues:

Image

I suspect netbird needs to be much more aggressive when applying these settings on the interface. Ideally, periodically checking to ensure the desired configuration is still present.

Expected behavior

A clear and concise description of what you expected to happen.

DNS resolution should work as per the defined netbird configuration. In our environment, only Windows clients are affected by this issue.

Are you using NetBird Cloud?

Please specify whether you use NetBird Cloud or self-host NetBird's control plane. Self-hosted

NetBird version

v0.39.1

Is any other VPN software installed?

If yes, which one? No

Debug output

To help us resolve the problem, please attach the following debug output

netbird status -dA

As well as the file created by

netbird debug for 1m -AS

We advise reviewing the anonymized output for any remaining personal information.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Have you tried these troubleshooting steps?

  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @OGDeguy on GitHub (Mar 28, 2025). **Describe the problem** DNS Resolution does not work on Windows 11 enterprise after GPOs have been applied. We have seen it work intermittently after previous updates have been applied, but generally it is not working correctly which is frustrating our users. The patch performed by @lixmal does appear to have helped. But from what I can tell there is still a logic bug here. I can look at the code myself, but will not have the time to set aside for this for at least another month. > My apologies to the developers, work has been busy and I have not had the time to troubleshoot this issue and contribute as much as I wanted to. **To Reproduce** Steps to reproduce the behavior: 1. Configure `netbird` on a Windows 11 Enterprise system 2. Join the system to an Active Directory domain 3. Configure `netbird` DNS resolution for your custom domain 4. Ensure your Windows 11 has got its policy applied `gpupdate /force` 5. Reboot the Windows 11 system. 6. Connect to Netbird 7. You might briefly see the DNS resolution work. However, in time it will stop working. 8. When DNS resolution fails check your `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\` registry key and find your `netbird` adapter. You will see something like the following: ![Image](https://github.com/user-attachments/assets/aadcbfcc-c9fa-4f27-94f7-029e8bc838ff) 9. Manually filling in the missing values will resolve the DNS resolution issues: ![Image](https://github.com/user-attachments/assets/d4401833-082c-43a9-9334-fdfc944256eb) > I suspect `netbird` needs to be much more aggressive when applying these settings on the interface. Ideally, periodically checking to ensure the desired configuration is still present. **Expected behavior** A clear and concise description of what you expected to happen. DNS resolution should work as per the defined `netbird` configuration. In our environment, only Windows clients are affected by this issue. **Are you using NetBird Cloud?** Please specify whether you use NetBird Cloud or self-host NetBird's control plane. **Self-hosted** **NetBird version** `v0.39.1` **Is any other VPN software installed?** If yes, which one? **No** **Debug output** To help us resolve the problem, please attach the following debug output netbird status -dA As well as the file created by netbird debug for 1m -AS We advise reviewing the anonymized output for any remaining personal information. **Screenshots** If applicable, add screenshots to help explain your problem. **Additional context** Add any other context about the problem here. **Have you tried these troubleshooting steps?** - [ ] Checked for newer NetBird versions - [ ] Searched for similar issues on GitHub (including closed ones) - [ ] Restarted the NetBird client - [ ] Disabled other VPN software - [ ] Checked firewall settings
saavagebueno added the triage-needed label 2025-11-20 06:06:13 -05:00
Author
Owner

@OGDeguy commented on GitHub (Apr 17, 2025):

For those still struggling with this issue, you should be able to use a variant of the script below to fix the problem until the Netbird folks have a chance to patch it:

# Define the path to the interfaces in the registry
$interfacesPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces'

# Get all subkeys (interfaces) under the specified path
Get-ChildItem $interfacesPath | ForEach-Object {
    # Check if the interface has a SearchList value that starts with "example.wan"
    $searchList = Get-ItemProperty $_.PSPath -Name 'SearchList' -ErrorAction SilentlyContinue
    
    if ($searchList -ne $null -and $searchList.SearchList -like "*example.wan*") {
        # Update the SearchList value
        Set-ItemProperty $_.PSPath -Name 'SearchList' -Value 'example.wan,examplecorp.com,example.com,95.your_subnet.in-addr.arpa'
        
        # Set the NameServer to 
        Set-ItemProperty $_.PSPath -Name 'NameServer' -Value 'YOUR_DNS_SERVER'
        
        # Set domain 

        Set-ItemProperty $_.PSPath -Name 'Domain' -Value 'example.wan'

        Write-Host "Updated interface: $($_.Name)" -ForegroundColor Green
        # Exit after the first match is found
        Break
    }
}

# If no matching interface was found, display a message
if ($found -eq $false) {
    Write-Host "No interface with SearchList containing 'example.wan' was found." -ForegroundColor Red
}
@OGDeguy commented on GitHub (Apr 17, 2025): For those still struggling with this issue, you should be able to use a variant of the script below to fix the problem until the `Netbird` folks have a chance to patch it: ```powershell # Define the path to the interfaces in the registry $interfacesPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces' # Get all subkeys (interfaces) under the specified path Get-ChildItem $interfacesPath | ForEach-Object { # Check if the interface has a SearchList value that starts with "example.wan" $searchList = Get-ItemProperty $_.PSPath -Name 'SearchList' -ErrorAction SilentlyContinue if ($searchList -ne $null -and $searchList.SearchList -like "*example.wan*") { # Update the SearchList value Set-ItemProperty $_.PSPath -Name 'SearchList' -Value 'example.wan,examplecorp.com,example.com,95.your_subnet.in-addr.arpa' # Set the NameServer to Set-ItemProperty $_.PSPath -Name 'NameServer' -Value 'YOUR_DNS_SERVER' # Set domain Set-ItemProperty $_.PSPath -Name 'Domain' -Value 'example.wan' Write-Host "Updated interface: $($_.Name)" -ForegroundColor Green # Exit after the first match is found Break } } # If no matching interface was found, display a message if ($found -eq $false) { Write-Host "No interface with SearchList containing 'example.wan' was found." -ForegroundColor Red } ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#1762