dns monitor: ignore some dns answers

Ignore those DNS answers that we don't need or use.
This commit is contained in:
Gustavo Iñiguez Goia 2023-03-12 21:37:11 +01:00
parent 5f532e5011
commit 816496ae72
Failed to generate hash of commit
2 changed files with 9 additions and 3 deletions

View file

@ -41,8 +41,8 @@ const (
DNSTypeA = 1
// DNSTypeAAAA AAAA
DNSTypeAAAA = 28
// DNSTypeCname cname
DNSTypeCname = 5
// DNSTypeCNAME cname
DNSTypeCNAME = 5
)
// QuestionMonitorResponse represents a DNS query

View file

@ -248,10 +248,16 @@ func initSystemdResolvedMonitor() {
log.Debug("%d SYSTEMD RESPONSE Q: %s", i, q.Name)
}*/
for i, a := range response.Answer {
if a.RR.Key.Type != systemd.DNSTypeA &&
a.RR.Key.Type != systemd.DNSTypeAAAA &&
a.RR.Key.Type != systemd.DNSTypeCNAME {
log.Debug("systemd-resolved, excluding answer: %#v", a)
continue
}
domain := a.RR.Key.Name
ip := net.IP(a.RR.Address)
log.Debug("%d systemd-resolved monitor response: %s -> %s", i, domain, ip)
if a.RR.Key.Type == systemd.DNSTypeCname {
if a.RR.Key.Type == systemd.DNSTypeCNAME {
log.Debug("systemd-resolved CNAME >> %s -> %s", a.RR.Name, domain)
dns.Track(a.RR.Name, domain)
} else {