Feature Request: Extend DNS Control with Policies and Posture Checks #2312

Open
opened 2025-11-20 07:07:33 -05:00 by saavagebueno · 0 comments
Owner

Originally created by @tkloda on GitHub (Sep 25, 2025).

Is your feature request related to a problem? Please describe.
NetBird currently allows us to assign DNS nameservers based on a peer's distribution group membership. While this is a useful feature for static assignments, it lacks the flexibility to handle dynamic situations based on a device's health or more complex rules.

The problem is that a peer's group membership is not always sufficient to determine the correct DNS settings. For instance, if a device within the developers group becomes non-compliant (e.g., its OS is out of date), we have no automated way to override its standard DNS settings and assign it a restricted "quarantine" DNS resolver. The current system is static and cannot react to changes in a device's security posture.

Describe the solution you'd like
I propose extending NetBird's Access Control policy engine to support DNS configuration as a manageable action. This would allow DNS settings to be dynamically applied based on both policies and the results of posture checks.

This system should be hierarchical:

  1. A DNS configuration defined in a matching Access Control Policy would take the highest priority.
  2. If no policy applies, the system would fall back to the DNS configuration assigned via the peer's distribution group.

Describe alternatives you've considered
The primary alternative is using the existing group-based DNS feature, but it has significant limitations. To handle a non-compliant device, we would have to manually create a "quarantine" group and manually move the peer into it. This process is slow, requires manual intervention, and completely defeats the purpose of having automated posture checks. It's a reactive manual task, not a proactive security policy.

Additional context
This feature would be a powerful evolution of NetBird's existing DNS capabilities. It fully aligns with a Zero Trust security model, where network access and services are determined by real-time device posture, not just static identity or group affiliation. By integrating DNS into the policy engine, DNS becomes a dynamic security enforcement tool, not just a simple network setting. This enables powerful, automated workflows for security, compliance, and network segmentation.

Originally created by @tkloda on GitHub (Sep 25, 2025). **Is your feature request related to a problem? Please describe.** NetBird currently allows us to assign DNS nameservers based on a peer's distribution group membership. While this is a useful feature for static assignments, it lacks the flexibility to handle dynamic situations based on a device's health or more complex rules. The problem is that a peer's group membership is not always sufficient to determine the correct DNS settings. For instance, if a device within the developers group becomes non-compliant (e.g., its OS is out of date), we have no automated way to override its standard DNS settings and assign it a restricted "quarantine" DNS resolver. The current system is static and cannot react to changes in a device's security posture. **Describe the solution you'd like** I propose extending NetBird's Access Control policy engine to support DNS configuration as a manageable action. This would allow DNS settings to be dynamically applied based on both policies and the results of posture checks. This system should be hierarchical: 1) A DNS configuration defined in a matching Access Control Policy would take the highest priority. 2) If no policy applies, the system would fall back to the DNS configuration assigned via the peer's distribution group. **Describe alternatives you've considered** The primary alternative is using the existing group-based DNS feature, but it has significant limitations. To handle a non-compliant device, we would have to manually create a "quarantine" group and manually move the peer into it. This process is slow, requires manual intervention, and completely defeats the purpose of having automated posture checks. It's a reactive manual task, not a proactive security policy. **Additional context** This feature would be a powerful evolution of NetBird's existing DNS capabilities. It fully aligns with a Zero Trust security model, where network access and services are determined by real-time device posture, not just static identity or group affiliation. By integrating DNS into the policy engine, DNS becomes a dynamic security enforcement tool, not just a simple network setting. This enables powerful, automated workflows for security, compliance, and network segmentation.
saavagebueno added the feature-request label 2025-11-20 07:07:33 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#2312