分离式DNS表面上允许使用VPN访问局域网的远程设备将内部域名的DNS查询定向到内部DNS服务器,而对公共域名的查询则指向远程设备本地的公共DNS服务器。对于Cisco来说,声称要实现这一目标的操作命令是split-dns。
当您使用Windows机器建立远程访问VPN连接时,VPN连接显示为一个单独的网络适配器(至少对于我有经验的Cisco客户端)。Windows用于决定使用哪个网络适配器和DNS服务器的方法本身不能强制将所有内部DNS查询发送到VPN适配器,并且将所有公共DNS查询发送到物理适配器。事实上,如果Windows在一秒钟内没有收到来自第一个适配器的响应,Windows将在不同的适配器上尝试相同的DNS查询。此外,Windows甚至可能选择将内部域的DNS查询发送到物理适配器,该适配器只有与其关联的公共DNS服务器。
因此,如果Windows选择将内部域的DNS查询发送到VPN适配器以外的适配器,那么VPN客户端如何确保内部域的所有DNS查询都通过隧道传输到内部DNS服务器?我是不是漏掉了什么?有什么奇妙的事情可以让VPN客户端拦截Windows发送给错误适配器的DNS查询吗?如果是这样的话,这到底是怎么回事呢?
发布于 2014-03-13 19:30:52
如果您密切关注VPN软件安装的内容,您将在网络堆栈中找到一个很高的空间,它允许软件在任何路由发生之前很久就拦截DNS查找。
(在linux中,这可以通过插入一个额外的NSS模块来完成。但我已经几十年没有使用cisco或juniper客户机了。)
https://networkengineering.stackexchange.com/questions/6790
复制相似问题