mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-16 11:41:39 +00:00
ipn: add self to dns map
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
This commit is contained in:
parent
3b36400e35
commit
d9ac2ada45
17
ipn/local.go
17
ipn/local.go
@ -462,18 +462,25 @@ func (b *LocalBackend) updateDNSMap(netMap *controlclient.NetworkMap) {
|
|||||||
if netMap == nil {
|
if netMap == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
domainToIP := make(map[string]netaddr.IP)
|
domainToIP := make(map[string]netaddr.IP)
|
||||||
for _, peer := range netMap.Peers {
|
set := func(hostname string, addrs []wgcfg.CIDR) {
|
||||||
if len(peer.Addresses) == 0 {
|
if len(addrs) == 0 {
|
||||||
continue
|
return
|
||||||
}
|
}
|
||||||
domain := peer.Hostinfo.Hostname
|
domain := hostname
|
||||||
// Like PeerStatus.SimpleHostName()
|
// Like PeerStatus.SimpleHostName()
|
||||||
domain = strings.TrimSuffix(domain, ".local")
|
domain = strings.TrimSuffix(domain, ".local")
|
||||||
domain = strings.TrimSuffix(domain, ".localdomain")
|
domain = strings.TrimSuffix(domain, ".localdomain")
|
||||||
domain = domain + ".b.tailscale.net"
|
domain = domain + ".b.tailscale.net"
|
||||||
domainToIP[domain] = netaddr.IPFrom16(peer.Addresses[0].IP.Addr)
|
domainToIP[domain] = netaddr.IPFrom16(addrs[0].IP.Addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, peer := range netMap.Peers {
|
||||||
|
set(peer.Hostinfo.Hostname, peer.Addresses)
|
||||||
|
}
|
||||||
|
set(netMap.Hostinfo.Hostname, netMap.Addresses)
|
||||||
|
|
||||||
b.e.SetDNSMap(tsdns.NewMap(domainToIP))
|
b.e.SetDNSMap(tsdns.NewMap(domainToIP))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user