Skip to content

Commit 6a087e3

Browse files
committed
Priorotize IPv4 DNS for windows underlying dns
1 parent 431dbc1 commit 6a087e3

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

core/server/internal/boxdns/monitor_windows.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ func getFirstDNS(luid winipcfg.LUID) string {
7373
}
7474

7575
func getNameServersForInterface(luid winipcfg.LUID) ([]string, error) {
76-
nameservers := make([]string, 0, 4)
76+
nameserversV4 := make([]string, 0, 4)
77+
nameserversV6 := make([]string, 0, 4)
7778
nsAddrs, err := luid.DNS()
7879
if err != nil {
7980
return nil, err
@@ -84,16 +85,25 @@ func getNameServersForInterface(luid winipcfg.LUID) ([]string, error) {
8485
isSystemDNSAltered = true
8586
}
8687
if server.IsValid() && server.String() != setMarkAddr && server.String() != dhcpMarkAddr {
87-
nameservers = append(nameservers, server.String())
88+
if server.Is4() {
89+
nameserversV4 = append(nameserversV4, server.String())
90+
} else {
91+
nameserversV6 = append(nameserversV6, server.String())
92+
}
8893
}
8994
}
90-
if isSystemDNSAltered && len(nameservers) > 0 && nameservers[0] == "127.0.0.1" {
91-
nameservers = nameservers[1:]
95+
if isSystemDNSAltered && len(nameserversV4) > 0 && nameserversV4[0] == "127.0.0.1" {
96+
nameserversV4 = nameserversV4[1:]
9297
}
9398

94-
if len(nameservers) == 0 {
95-
log.Println("getNameServersForInterface: no nameservers found")
99+
if len(nameserversV4) > 0 {
100+
return nameserversV4, nil
96101
}
97102

98-
return nameservers, nil
103+
if len(nameserversV6) > 0 {
104+
return nameserversV6, nil
105+
}
106+
107+
log.Println("getNameServersForInterface: no nameservers found")
108+
return nil, nil
99109
}

0 commit comments

Comments
 (0)