diff --git a/dns.go b/dns.go index 809334d..d4724ad 100644 --- a/dns.go +++ b/dns.go @@ -52,7 +52,7 @@ var dns_servers = []*DNSServer{ &DNSServer{"delegation", "burble", "b.delegation-servers.dn42", 4, "172.20.129.1:53", 0}, &DNSServer{"delegation", "burble", "b.delegation-servers.dn42", 6, "[fd42:4242:2601:ac53::1]:53", 0}, &DNSServer{"delegation", "jrb0001", "j.delegation-servers.dn42", 4, "172.20.1.18:53", 0}, - &DNSServer{"delegation", "jrb0001", "j.delegation-servers.dn42", 6, "[fd42:5d71:219:0:1::42]:53", 0}, + &DNSServer{"delegation", "jrb0001", "j.delegation-servers.dn42", 6, "[fd42:5d71:219:0:a526:d935:281e:22d6]:53", 0}, &DNSServer{"delegation", "yamakaja", "y.delegation-servers.dn42", 4, "172.20.20.66:53", 0}, &DNSServer{"delegation", "yamakaja", "y.delegation-servers.dn42", 6, "[fd42:c01d:beef::3]:53", 0}, &DNSServer{"recursive", "yamakaja", "a.recursive-servers.dn42", 4, "172.20.0.53:53", 0}, @@ -60,7 +60,7 @@ var dns_servers = []*DNSServer{ &DNSServer{"recursive", "burble", "b.recursive-servers.dn42", 4, "172.20.129.2:53", 0}, &DNSServer{"recursive", "burble", "b.recursive-servers.dn42", 6, "[fd42:4242:2601:ac53::53]:53", 0}, &DNSServer{"recursive", "jrb0001", "j.recursive-servers.dn42", 4, "172.20.1.19:53", 0}, - &DNSServer{"recursive", "jrb0001", "j.recursive-servers.dn42", 6, "[fd42:5d71:219:0:1::43]:53", 0}, + &DNSServer{"recursive", "jrb0001", "j.recursive-servers.dn42", 6, "[fd42:5d71:219:0:69c2:2b0e:17e8:c215]:53", 0}, &DNSServer{"recursive", "yamakaja", "y.recursive-servers.dn42", 4, "172.20.20.65:53", 0}, &DNSServer{"recursive", "yamakaja", "y.recursive-servers.dn42", 6, "[fd42:c01d:beef::2]:53", 0}, &DNSServer{"burble.dn42", "burble", "fr-rbx1", 6, "[fd42:4242:2601:36::ac:53]:53", 0}, @@ -175,11 +175,16 @@ func (m *DNSMetrics) Collect() { // assume not valid = 1 - for _, soa := range masters { - if server.soa == soa { - // match was found - valid = 0 - break + + // automatically invalid if out of date + if (now - server.soa) < (3600 * 25) { + // otherwise step through each 'master' and check the SOA matches somewhere + for _, soa := range masters { + if server.soa == soa { + // match was found + valid = 0 + break + } } }