-
Notifications
You must be signed in to change notification settings - Fork 988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation question: DNS #110
Comments
Exactly right! When you query the nebula dns server, it will return results based on any host it knows about based on that host's name. Of note: if you use a fqdn as the nebula node name, you can use it for dns as well. In my personal network i have delegated Another handy query type is to test each:
|
Now that you mention it, what's the reason for that, anyways? |
It seems like the lighthouse itself isn't a valid DNS query. Is there a way to add it to the DNS resolver? (and maybe this would be better as a separate issue, let me know if it is) |
@coderobe I think my initial reasoning was that the IP is the closest thing to a nebula "primary key" of sorts. An overlapping name/etc is probably a mistake that can happen commonly, but only one host can actively have an IP (from the lighthouse perspective) at any moment. (note: if you give the same ip to two hosts, via valid certs, they will fight back and forth, but at the moment you query it will be correct.) |
@allout58 we don't name them because we don't want to get too attached. jokes aside, it seems a reasonable request. we register hosts with the hostmap when they connect, and the lighthouse never connects to itself, so it isn't there. |
One other question - is the DNS feature in the lighthouse block intended only for use on Lighthouses, or can any node also expose the DNS feature? |
@JonTheNiceGuy good question! - It is intended only for lighthouses, mainly because they are the only nodes that generally have tunnels to all nodes in a nebula network, which makes them well positioned for these queries. If it was every node in the network, they would only have partial information, unless they happen to talk to every other host on the network. |
I understand some of this but not all. Can anyone tell me if the lighthouse uses the certificate hostnames for DNS lookups, and how to configure it, and if any additional configuration is required on the individual hosts? |
@crinklywrappr you are correct, the "name" field in each certificate becomes something the dns resolver will answer for dynamically. beyond setting |
I configured it for port 4253 and it appears to have conflicted with adguard which is running on the same device. After reversing the change adguard seemed happy again. I guess nebula ignored the port setting?
Would I edit the connection the normal way, or can this be placed in config.yml? |
@crinklywrappr Probably worth opening this in a separate issue, with more details about your config file and setup that you're trying to configure, if the following doesn't help you. As a note, assuming your lighthouse has a Nebula IP of 192.0.2.1/24, it's probably worth defining the lighthouse block like this: lighthouse:
am_lighthouse: true
interval: 60
serve_dns: true
dns:
host: 192.0.2.1
port: 42453
hosts: You'd then configure your downstream hosts to have a DNS server of 192.0.2.1:42453. You would need to ensure that your firewall block on your Lighthouse permits inbound TCP and UDP connections on 42453 from "all" and that your firewall blocks on your nodes permit outbound TCP and UDP connections to 42453 to your lighthouses. |
Updated to 1.1.0 and still couldn't get dns to work. |
Got some help in slack and it turns out that dns was working just fine, only I had a knowledge gap with name resolution policies in windows which was preventing ping from finding the nameserver running on the lighthouse. If anyone else has a similar issue, they can run:
If that doesn't resolve the host ip then there is still something wrong with your nebula config/network setup. If it does work then
This means that your nebula hosts will need to share a domain name. You may be able to omit the |
@allout58 @rawdigits I just opened Issue #560 to address the dns listener not resolving itself in dns queries. I didn't see an related issue filed yet out there, but if so, feel free to combine them and close mine. I'll start looking at the code base and see if I can figure it out! |
Anyone else kinda wish they could leverage lighthouse DNS to fallback to specified nameservers to get around having to use dnsmasq? |
In the example config is a block of config relating to DNS. Does this allow lookups of other nodes by name (e.g. if I have a node "manage_node_a", can I do a DNS lookup of
manage_node_a
)? Do I need to specify a certain suffix (e.g.manage_node_a.nebula
)? Or is it purely to move DNS across the Nebula infrastructure to a specific node in the network? If so, can we control where the DNS will pop out?The text was updated successfully, but these errors were encountered: