Makes sense. Thank you, Ian.

Also for anyone who will stumble upon this thread in the future, this issue 
<https://github.com/golang/go/issues/25336> shows what impact on 
performance consulting every server would have.

пятница, 15 марта 2019 г., 18:42:47 UTC+3 пользователь Ian Lance Taylor 
написал:
>
> On Fri, Mar 15, 2019 at 8:31 AM Timofei Bredov <timofe...@gmail.com 
> <javascript:>> wrote: 
> > 
> > Context: I use go version go1.12 linux/amd64. I have a VPN set up which 
> has private DNS server. This server can resolve URLs that have top level 
> domain name ".custom-tld". 
> > 
> > File /etc/resolvconf has the following content: 
> > 
> > nameserver 8.8.8.8 
> > nameserver 1.1.1.1 
> > nameserver 192.10.10.18 
> > 
> > When I try to use net.LookupSRV("", "", "service.name.custom-tld") it 
> returns "no such host" error because it tries the first server and then 
> fails after host name is not found. However local DNS resolver works as 
> expected and resolves the URL no problem. 
> > 
> > I have two questions: 
> > 
> > Should default DNS resolver for linux platform use every server in 
> /etc/resolvconf to try to lookup a URL? 
> > What is a better way to handle DNS resolution in that situation? 
>
> In general the Go resolver is intended to work like the historic C 
> resolver.  The historic C resolver will query one nameserver.  If that 
> nameserver times out, it will try the next one.  See "man 
> resolv.conf".  So if one of your name servers is returning "no such 
> host", then both the Go and C name servers will stop at that point. 
>
> One common approach for this situation would be to use a single 
> nameserver line and point it to a DNS server that replies with the 
> desired result for your special domain and otherwise forwards the 
> query to a normal caching resolver. 
>
> Ian 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to