[GH-ISSUE #5013] DNS Nameserver creation rejects valid IDN / Punycode domains #9719

Open
opened 2026-08-05 01:23:12 -04:00 by saavagebueno · 1 comment
Owner

Originally created by @htwlehmann on GitHub (Dec 30, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5013

Describe the problem

When creating a DNS Nameserver in NetBird, domains containing internationalized domain names (IDN), such as umlauts, cannot be added.

Both the Unicode form (müller.de) and the valid Punycode representation (xn--mller-kva.de) are rejected.
The error message states that only letters, numbers, and hyphens are allowed, although the Punycode domain fully complies with this requirement.

This makes it impossible to configure DNS nameservers for valid IDN domains.


To Reproduce

Steps to reproduce the behavior:

  1. Go to the NetBird Dashboard
  2. Navigate to DNS → Nameservers
  3. Click Add Nameserver
  4. Enter müller.de as the DNS Name and observe the error
  5. Enter xn--mller-kva.de instead
  6. See error:
    Code 422: Nameserver group got an invalid domain
    

Expected behavior

  • Unicode IDN domains should be accepted, or automatically converted to Punycode
  • At minimum, valid Punycode domains such as xn--mller-kva.de should be accepted
  • Domain validation should follow IDNA rules instead of plain ASCII validation

Are you using NetBird Cloud?

Self-hosted NetBird control plane


NetBird version

0.61.0

Is any other VPN software installed?

No


Debug output

Relevant error from the NetBird management service:

2025-12-31T00:58:46Z ERRO [accountID: xxx, userID: xxx, context: HTTP, requestID: xxx]
shared/management/http/util/util.go:85: got a handler error:
nameserver group got an invalid domain: xn--mller-kva.de
"domain should consists of only letters, numbers, and hyphens with no leading,
trailing hyphens, or spaces"

Screenshots

Screenshots attached showing:

  • Rejection of müller.de:
Image
  • Rejection of xn--mller-kva.de:
Image

Additional context

xn--mller-kva.de is a valid IDNA / Punycode domain.
The current validation appears to reject valid ASCII IDN labels, likely due to overly strict or non-IDNA-aware domain validation in the management API.


Have you tried these troubleshooting steps?

  • [x ] Checked for newer NetBird versions
Originally created by @htwlehmann on GitHub (Dec 30, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5013 **Describe the problem** When creating a DNS Nameserver in NetBird, domains containing internationalized domain names (IDN), such as umlauts, cannot be added. Both the Unicode form (`müller.de`) and the valid Punycode representation (`xn--mller-kva.de`) are rejected. The error message states that only letters, numbers, and hyphens are allowed, although the Punycode domain fully complies with this requirement. This makes it impossible to configure DNS nameservers for valid IDN domains. --- **To Reproduce** Steps to reproduce the behavior: 1. Go to the NetBird Dashboard 2. Navigate to **DNS → Nameservers** 3. Click **Add Nameserver** 4. Enter `müller.de` as the DNS Name and observe the error 5. Enter `xn--mller-kva.de` instead 6. See error: ``` Code 422: Nameserver group got an invalid domain ``` --- **Expected behavior** - Unicode IDN domains should be accepted, or automatically converted to Punycode - At minimum, valid Punycode domains such as `xn--mller-kva.de` should be accepted - Domain validation should follow IDNA rules instead of plain ASCII validation --- **Are you using NetBird Cloud?** Self-hosted NetBird control plane --- **NetBird version** ``` 0.61.0 ``` --- **Is any other VPN software installed?** No --- **Debug output** Relevant error from the NetBird management service: ``` 2025-12-31T00:58:46Z ERRO [accountID: xxx, userID: xxx, context: HTTP, requestID: xxx] shared/management/http/util/util.go:85: got a handler error: nameserver group got an invalid domain: xn--mller-kva.de "domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces" ``` --- **Screenshots** Screenshots attached showing: - Rejection of `müller.de`: <img width="394.5" height="397.5" alt="Image" src="https://github.com/user-attachments/assets/165ab586-87dc-406e-89e3-f1aef1f4d64a" /> - Rejection of `xn--mller-kva.de`: <img width="380" height="369.5" alt="Image" src="https://github.com/user-attachments/assets/8f11dd55-eb94-4f13-abcd-f4e6f55e8fbc" /> --- **Additional context** `xn--mller-kva.de` is a valid IDNA / Punycode domain. The current validation appears to reject valid ASCII IDN labels, likely due to overly strict or non-IDNA-aware domain validation in the management API. --- **Have you tried these troubleshooting steps?** - [x ] Checked for newer NetBird versions
saavagebueno added the triage-needed label 2026-08-05 01:23:12 -04:00
Author
Owner

@Zero2Infinity commented on GitHub (Jan 3, 2026):

I can reproduce the above issue with v0.61.0 in the self-hosted environment -

Steps to reproduce:
Add Nameserver > Domains tab > Add Domain > use of non-ASCII character (e.g. müller.de) or double hyphen (e.g. test--example.com) > click on Save Changes button

Create Nameserver Error (Code 422): refer the above screenshots

Management Logs:
2026-01-02T17:14:29Z ERRO [context: HTTP, requestID: d5bvptdet75c73e9psag, accountID: d58r8vt5hkds73eufus0, userID: 353098922060677124] shared/management/http/util/util.go:85: got a handler error: nameserver group got an invalid domain: müller.de "domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces"
.
.
2026-01-03T16:56:21Z ERRO [context: HTTP, requestID: d5ckkd5et75c73e9pt2g, accountID: d58r8vt5hkds73eufus0, userID: 353098922060677124] shared/management/http/util/util.go:85: got a handler error: nameserver group got an invalid domain: xn--mller-kva.de "domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces"

This could be an feature request to support encoding of unicode for IDN in applications - RFC 3492

Update: I found open PR that could address this issue: https://github.com/netbirdio/netbird/pull/3868

<!-- gh-comment-id:3707225288 --> @Zero2Infinity commented on GitHub (Jan 3, 2026): I can reproduce the above issue with `v0.61.0` in the self-hosted environment - Steps to reproduce: `Add Nameserver` > `Domains` tab > `Add Domain` > use of non-ASCII character (e.g. müller.de) or double hyphen (e.g. test--example.com) > click on `Save Changes` button Create Nameserver Error (Code 422): refer the above screenshots Management Logs: <code>2026-01-02T17:14:29Z ERRO [context: HTTP, requestID: d5bvptdet75c73e9psag, accountID: d58r8vt5hkds73eufus0, userID: 353098922060677124] shared/management/http/util/util.go:85: got a handler error: nameserver group got an invalid domain: müller.de "domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces" . . 2026-01-03T16:56:21Z ERRO [context: HTTP, requestID: d5ckkd5et75c73e9pt2g, accountID: d58r8vt5hkds73eufus0, userID: 353098922060677124] shared/management/http/util/util.go:85: got a handler error: nameserver group got an invalid domain: xn--mller-kva.de "domain should consists of only letters, numbers, and hyphens with no leading, trailing hyphens, or spaces"</code> This could be an feature request to support encoding of unicode for IDN in applications - [RFC 3492](https://datatracker.ietf.org/doc/html/rfc3492) Update: I found open PR that could address this issue: https://github.com/netbirdio/netbird/pull/3868
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#9719