Peer domain doesn't exist #755

Open
opened 2025-11-20 05:17:01 -05:00 by saavagebueno · 7 comments
Owner

Originally created by @jaymgs on GitHub (Mar 30, 2024).

Hello,

I have Netbird self-hosted working with just one issue.

Each peer has an IP and domain. I can ping and work with IP's but the domain does not exist.

Example peer domain: hostname.netbird.selfhosted

Note that netbird.selfhosted is not my domain name/management url.

Did I do something wrong?

Thanks!

Originally created by @jaymgs on GitHub (Mar 30, 2024). Hello, I have Netbird self-hosted working with just one issue. Each peer has an IP and domain. I can ping and work with IP's but the domain does not exist. Example peer domain: hostname.netbird.selfhosted Note that netbird.selfhosted is not my domain name/management url. Did I do something wrong? Thanks!
saavagebueno added the waiting-feedbacktriage-needed labels 2025-11-20 05:17:01 -05:00
Author
Owner

@hrfried commented on GitHub (Mar 30, 2024):

It's set in an environment variable, but by default if your device is named jaymgs@computer1 it should create the computer1.netbird.selfhosted FQDN that will be accessible solely within the VPN. Depending on your setup, if you have any http/https servers running you can test in your browser (or spin up a quick one to test).

Haven't actually tested modifying but it'd likely just be changing the below lines in the docker-compose.yml (or associated startup script).

FWIW, I had to do some toying to get DNS resolution to work on debian clients.

$ rg netbird.selfhosted
docker-compose.yml
40:      "--single-account-mode-domain=netbird.selfhosted",
41:      "--dns-domain=netbird.selfhosted",

getting-started-with-zitadel.sh
745:      "--single-account-mode-domain=netbird.selfhosted",
746:      "--dns-domain=netbird.selfhosted",
@hrfried commented on GitHub (Mar 30, 2024): It's set in an environment variable, but by default if your device is named `jaymgs@computer1` it should create the `computer1.netbird.selfhosted` FQDN that will be accessible solely within the VPN. Depending on your setup, if you have any http/https servers running you can test in your browser (or spin up a quick one to test). Haven't actually tested modifying but it'd likely just be changing the below lines in the `docker-compose.yml` (or associated startup script). FWIW, I had to do some toying to get DNS resolution to work on debian clients. ``` $ rg netbird.selfhosted docker-compose.yml 40: "--single-account-mode-domain=netbird.selfhosted", 41: "--dns-domain=netbird.selfhosted", getting-started-with-zitadel.sh 745: "--single-account-mode-domain=netbird.selfhosted", 746: "--dns-domain=netbird.selfhosted", ```
Author
Owner

@jaymgs commented on GitHub (Mar 30, 2024):

The netbird.selfhosted was never found whilst connected to VPN.

I changed it to netbird.mydomain.com using the environment variable successfully, but now I can't load the management UI whilst connected. Any idea?

@jaymgs commented on GitHub (Mar 30, 2024): The netbird.selfhosted was never found whilst connected to VPN. I changed it to netbird.mydomain.com using the environment variable successfully, but now I can't load the management UI whilst connected. Any idea?
Author
Owner

@alexmoras commented on GitHub (Apr 6, 2024):

Not sure if you've managed to fix this yet, but on the off chance someone else comes across this, here's the explanation someone else gave me.

Let's say you host Netbird at netbird.example.com. You would want this to be accessible by all clients, those that are on the VPN and those that are not (so they can connect to the management server and login, etc).

Normally, in a home environment, your router would assign a domain of .local or something similar to each device. Netbird does something similar by assigning a domain ending netbird.selfhosted. If I have a computer called steve, it's domain in Netbird would be steve.netbird.selfhosted which should be accessible from all clients within the Netbird network.

You can change this internal domain to be whatever you want, by using the explanation in the above comments. However, you would want it to be a unique domain that isn't used by anything else - if it's the same as the Netbird management URL, the clients won't be able to resolve the server properly.

So, assuming you run Netbird at netbird.example.com, you could assign net.example.com as your Netbird internal DNS domain. The clients could be reached at steve.net.example.com and your management server remains unaffected since you're using a completely separate subdomain.

@alexmoras commented on GitHub (Apr 6, 2024): Not sure if you've managed to fix this yet, but on the off chance someone else comes across this, here's the explanation someone else gave me. Let's say you host Netbird at `netbird.example.com`. You would want this to be accessible by all clients, those that are on the VPN and those that are not (so they can connect to the management server and login, etc). Normally, in a home environment, your router would assign a domain of `.local` or something similar to each device. Netbird does something similar by assigning a domain ending `netbird.selfhosted`. If I have a computer called `steve`, it's domain in Netbird would be `steve.netbird.selfhosted` which should be accessible from all clients within the Netbird network. You can change this internal domain to be whatever you want, by using the explanation in the above comments. However, you would want it to be a unique domain that isn't used by anything else - if it's the same as the Netbird management URL, the clients won't be able to resolve the server properly. So, assuming you run Netbird at `netbird.example.com`, you could assign `net.example.com` as your Netbird internal DNS domain. The clients could be reached at `steve.net.example.com` and your management server remains unaffected since you're using a completely separate subdomain.
Author
Owner

@nxtreaming commented on GitHub (Apr 6, 2024):

Could someone explain the private domain resolve algorithm?

I try to understand how NetBird hooks up the DNS resolve when I try "ping xxxx.netbird.cloud" in Windows?

"ping xxx.netbird.cloud" is fine when I connected to netbird in Windows, but "nslookup xxx.netbird.cloud" is unresloved

@nxtreaming commented on GitHub (Apr 6, 2024): Could someone explain the private domain resolve algorithm? I try to understand how NetBird hooks up the DNS resolve when I try "ping xxxx.netbird.cloud" in Windows? "ping xxx.netbird.cloud" is fine when I connected to netbird in Windows, but "nslookup xxx.netbird.cloud" is unresloved
Author
Owner

@alexmoras commented on GitHub (Apr 7, 2024):

Could someone explain the private domain resolve algorithm?

I try to understand how NetBird hooks up the DNS resolve when I try "ping xxxx.netbird.cloud" in Windows?

"ping xxx.netbird.cloud" is fine when I connected to netbird in Windows, but "nslookup xxx.netbird.cloud" is unresloved

There's a good explanation in the docs as to how it works.

https://docs.netbird.io/how-to/manage-dns-in-your-network

DNS is a complicated beast and you'd need to provide much more info to troubleshoot. If you're still having issues, best bet would be to open a new issue and include the output of netbird status -d.

@alexmoras commented on GitHub (Apr 7, 2024): > Could someone explain the private domain resolve algorithm? > > I try to understand how NetBird hooks up the DNS resolve when I try "ping xxxx.netbird.cloud" in Windows? > > "ping xxx.netbird.cloud" is fine when I connected to netbird in Windows, but "nslookup xxx.netbird.cloud" is unresloved There's a good explanation in the docs as to how it works. https://docs.netbird.io/how-to/manage-dns-in-your-network DNS is a complicated beast and you'd need to provide much more info to troubleshoot. If you're still having issues, best bet would be to open a new issue and include the output of `netbird status -d`.
Author
Owner

@ki9us commented on GitHub (Oct 3, 2024):

What is --single-account-mode-domain? Looks like it is also set to netbird.selfhosted by default. Should I just use the same domain as --dns-domain?

@ki9us commented on GitHub (Oct 3, 2024): What is `--single-account-mode-domain`? Looks like [it is also set](https://github.com/netbirdio/netbird/blob/main/infrastructure_files/getting-started-with-zitadel.sh#L848) to `netbird.selfhosted` by default. Should I just use the same domain as `--dns-domain`?
Author
Owner

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

@jaymgs can you confirm if the issue still happens on the latest version?

@mlsmaycon commented on GitHub (Apr 17, 2025): @jaymgs can you confirm if the issue still happens on the latest version?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#755