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