我有一个内部networking,其中所有服务都是在内部域名下注册的(例如: coolcorp.io )。
当用户连接到VPN时,我希望他们能够parsing*.coolcorp.io的内部服务,而不需要通过内部DNS服务器进行任何其他“公共”名称parsing。
在macOS和Linux中,我可以在/etc/resolver下创build一个自定义的parsing器设置给特定的域。
我不知道我怎么能在Windows上做到这一点。 我们没有AD,DNS不应该是我们VPN的默认网关。
有关背景信息,请查看DNS堆栈如何在Windows上工作。
当FQDN的分辨率需要发生时,请说a.contoso.com
现在针对您的具体情况,最好的做法是为* .coolcorp.io和公司DNS服务器添加一个NRPT条目。 在Windows 10上,可以通过VPNM2的CSP中的DomainNameInformationList属性( https://docs.microsoft.com/en-us/windows/client-management/mdm/vpnv2-csp)将其作为Windows VPNconfiguration文件的一部分。 NRPT策略也可以通过Add-DnsClientNrptRule powershell命令行开关添加。 这将确保* .coolcorp.io的所有分辨率转到VPN服务器。 接下来,在您的VPNconfiguration文件本身,您现在不需要提供DNS服务器地址或DNS后缀。
如果我正确地读了你的话,那么我想这取决于你如何从你的VPN分配IP地址,以及你是否有能力设置DNS服务器地址,猜测你可能并不是每个实现都是一样的。 你想configuration你想要在DNS服务器上进行内部回答的区域,并保持recursion完整(尽pipe如果这个DNS服务器暴露给公众,这通常是一个坏主意,因为它会打开你到潜在的拒绝服务攻击,如果是这样的话,你可能需要更复杂一些)。 这样你的DNS服务器将会首先回答它的内容,如果它没有查询区域,它将默认转发到因特网根目录。