|
|
|
|
@ -1392,7 +1392,7 @@ func ipInPrefixes(ip netaddr.IP, pp []netaddr.IPPrefix) bool { |
|
|
|
|
func dnsIPsOverTailscale(dnsCfg *dns.Config, routerCfg *router.Config) (ret []netaddr.IPPrefix) { |
|
|
|
|
m := map[netaddr.IP]bool{} |
|
|
|
|
|
|
|
|
|
for _, resolvers := range dnsCfg.Routes { |
|
|
|
|
add := func(resolvers []netaddr.IPPort) { |
|
|
|
|
for _, resolver := range resolvers { |
|
|
|
|
ip := resolver.IP() |
|
|
|
|
if ipInPrefixes(ip, routerCfg.Routes) && !ipInPrefixes(ip, routerCfg.LocalRoutes) { |
|
|
|
|
@ -1401,6 +1401,11 @@ func dnsIPsOverTailscale(dnsCfg *dns.Config, routerCfg *router.Config) (ret []ne |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
add(dnsCfg.DefaultResolvers) |
|
|
|
|
for _, resolvers := range dnsCfg.Routes { |
|
|
|
|
add(resolvers) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ret = make([]netaddr.IPPrefix, 0, len(m)) |
|
|
|
|
for ip := range m { |
|
|
|
|
ret = append(ret, netaddr.IPPrefixFrom(ip, ip.BitLen())) |
|
|
|
|
|