Skip to content
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

DNS configuration over a VPN #665

Closed
jkemp101 opened this issue Apr 3, 2018 · 4 comments
Closed

DNS configuration over a VPN #665

jkemp101 opened this issue Apr 3, 2018 · 4 comments

Comments

@jkemp101
Copy link

jkemp101 commented Apr 3, 2018

I'm a little outside my wheelhouse here (don't know a lot about Go) but I am wondering if there were any plans to enhance the client resolution process to include client DNS configurations beyond resolv.conf (I'm specifically concerned with OS X). My particular issue is resolving some domains against specific DNS servers that are configured by VPN client software. On a Mac you need to run scutil -dns to see the true DNS configuration since a lot isn't necessarily in resolv.conf.

Many projects like the ease of native Go libraries for a number of reasons including simple cross compiling versus enabling cgo which solves the problem by using the native C resolution libraries.

@miekg
Copy link
Owner

miekg commented Apr 6, 2018 via email

@jkemp101
Copy link
Author

@miekg Would you expect an external library (either 3rd party or native Go) to determine the list of DNS servers to query for a particular hostname? It seems like a DNS client isn't complete unless it is able to figure that out. For instance to know that x.example1.com should be queried at 1.1.1.1 but x.example2.com should be queried at 2.2.2.2.

@andrewtj
Copy link
Collaborator

If you're after a platform-native connection experience on OS X, getting a connection via the high-level socket APIs and then extracting an fd is generally the way to go.

@jkemp101
Copy link
Author

I took another look at clientconfig.go and it is pretty lightweight, doesn't even try to assume where resolv.conf might reside. So as you said probably not the best place for this type of thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants