Thank you for your response,
I attempted to use NEDNSSettingsManager, which requires either NEDNSOverHTTPSSettings or NEDNSOverTLSSettings for DNS configuration. Presently, our system does not support encrypted DNS. When I utilized only NEDNSSettings as indicated below, it generated the DNS setting in the filter, but it appears to be disabled (see attached screenshot).
NEDNSSettingsManager.shared().loadFromPreferences { error in
let dotSettings = NEDNSSettings(servers: ["1.2.3.4"])
//dotSettings.serverName = "example.com"
dotSettings.matchDomains = ["test.corp.com"]
NEDNSSettingsManager.shared().dnsSettings = dotSettings
NEDNSSettingsManager.shared().localizedDescription = "Test config"
NEDNSSettingsManager.shared().saveToPreferences { error in
NEDNSSettingsManager.shared().loadFromPreferences { error in
}
}
}
In my scenario, I need to support custom DNS configurations for specific domains, each requiring a distinct DNS server. However, using NEDNSSettingsManager, I can only assign a single DNS server for multiple matched domains
The file /etc/resolver/corp.conso.com is now working for me. Previously, I had been configuring the resolver file before setTunnelNetworkSettings, but now I'm configuring it after the tunnel settings and it is woking as expected. Im able to set custom DNS for specific domain.
looking at man 5 resolver
it does not talk about deprecation of /etc/resolver/, but only for /etc/resolv.conf.
It also update the scutil --dns after adding file to/etc/resolver/corp.conso.com
resolver #8
domain : corp.conso.com
nameserver[0] : 2.2.2.2
flags : Request A records, Request AAAA records
reach : 0x00000002 (Reachable)