Selfhosted - Not able to resolve NETBIRD_DOMAIN after netbird connects #1941

Open
opened 2025-11-20 06:09:50 -05:00 by saavagebueno · 5 comments
Owner

Originally created by @fxandrei on GitHub (Jun 5, 2025).

I have installed netbird server (selfhosted) on a container (lxc).
I ran:
export NETBIRD_DOMAIN=vpn.domain.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash

Create peer1 and peer2.
Connect them.

Define nameservers for google and cloudflare.
Dont define anything in DNS Settings in the dashboard (so i did not select to disable dns management on any groups).

On peer1, while connected
i run nslookup, and i see this ip is answering the queries: 100.83.255.254
peer1.vpn.domain.com ----> it returns the ip
peer2.vpn.domain.com ----> it returns the ip

vpn.domain.com -------->

Server: UnKnown
Address: 100.83.255.254

*** UnKnown can't find vpn.domain.com: Non-existent domain

The biggest problem it creates is that i cannot access https://vpn.domain.com for that netbird dashboard after i connect netbird.
The workaround would be to manually add a host entry on each peer i need this.

Originally created by @fxandrei on GitHub (Jun 5, 2025). I have installed netbird server (selfhosted) on a container (lxc). I ran: export NETBIRD_DOMAIN=vpn.domain.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash Create peer1 and peer2. Connect them. Define nameservers for google and cloudflare. Dont define anything in DNS Settings in the dashboard (so i did not select to disable dns management on any groups). On peer1, while connected i run nslookup, and i see this ip is answering the queries: 100.83.255.254 peer1.vpn.domain.com ----> it returns the ip peer2.vpn.domain.com ----> it returns the ip vpn.domain.com --------> Server: UnKnown Address: 100.83.255.254 *** UnKnown can't find vpn.domain.com: Non-existent domain The biggest problem it creates is that i cannot access https://vpn.domain.com for that netbird dashboard after i connect netbird. The workaround would be to manually add a host entry on each peer i need this.
saavagebueno added the triage-needed label 2025-11-20 06:09:50 -05:00
Author
Owner

@mlsmaycon commented on GitHub (Jun 5, 2025):

@fxandrei it seems like you configured vpn.domain.com as DNS domain for your peers in your deployment.

This overlaps with your management server layer vpn.domain.com causing resolution issues.

You can update the domain in Settings > Network > DNS domain

Just use a domain that don't exist, for instance: peers.vpn.domain.com

@mlsmaycon commented on GitHub (Jun 5, 2025): @fxandrei it seems like you configured vpn.domain.com as DNS domain for your peers in your deployment. This overlaps with your management server layer vpn.domain.com causing resolution issues. You can update the domain in Settings > Network > DNS domain Just use a domain that don't exist, for instance: peers.vpn.domain.com
Author
Owner

@fxandrei commented on GitHub (Jun 5, 2025):

So NETBIRD_DOMAIN should be a internal domain ? Thats what you are saying ?
If that is so, when installing it, where do i specify the management server domain ?
I mean it should he accessed via https://vpn.domain.com .
Im thinking that i need to specify both these domains somehow.
One is used for management gui, and one internal for the peers, right ?

@fxandrei commented on GitHub (Jun 5, 2025): So NETBIRD_DOMAIN should be a internal domain ? Thats what you are saying ? If that is so, when installing it, where do i specify the management server domain ? I mean it should he accessed via https://vpn.domain.com . Im thinking that i need to specify both these domains somehow. One is used for management gui, and one internal for the peers, right ?
Author
Owner

@mlsmaycon commented on GitHub (Jun 5, 2025):

No, NETBIRD_DOMAIN is the domain that should be used for the management service. But from your example:

On peer1, while connected
i run nslookup, and i see this ip is answering the queries: 100.83.255.254
peer1.vpn.domain.com ----> it returns the ip
peer2.vpn.domain.com ----> it returns the ip

It seems like you are using vpn.domain.com as a domain for your peers. Can you share how did you configure that?

@mlsmaycon commented on GitHub (Jun 5, 2025): No, NETBIRD_DOMAIN is the domain that should be used for the management service. But from your example: >On peer1, while connected > i run nslookup, and i see this ip is answering the queries: 100.83.255.254 > peer1.vpn.domain.com ----> it returns the ip > peer2.vpn.domain.com ----> it returns the ip It seems like you are using vpn.domain.com as a domain for your peers. Can you share how did you configure that?
Author
Owner

@fxandrei commented on GitHub (Jun 5, 2025):

The only thing i did is run this cmd:
export NETBIRD_DOMAIN=vpn.domain.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash

So i set NETBIRD_DOMAIN with the value vpn.domain.com, that has the public ip defined in the DNS (google, cloud flare, etc).
So vpn.domain.com resolves to correct public ip.

After that the only thing i did in the netbird ui dashbord is set nameservers (google and cloudflare).
Nothing else.

@fxandrei commented on GitHub (Jun 5, 2025): The only thing i did is run this cmd: export NETBIRD_DOMAIN=vpn.domain.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash So i set NETBIRD_DOMAIN with the value vpn.domain.com, that has the public ip defined in the DNS (google, cloud flare, etc). So vpn.domain.com resolves to correct public ip. After that the only thing i did in the netbird ui dashbord is set nameservers (google and cloudflare). Nothing else.
Author
Owner

@fxandrei commented on GitHub (Jun 7, 2025):

I reinstalled it and it seems that it uses the domain set in "--dns-domain=

So i changed that, restarted the containers, and its fine now.

@fxandrei commented on GitHub (Jun 7, 2025): I reinstalled it and it seems that it uses the domain set in "--dns-domain= So i changed that, restarted the containers, and its fine now.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#1941