用户正尝试连接到他的VPN在我们的远程站点。 他使用Windows 7和一个拆分隧道VPN,并没有连接多次的问题。 他连接成功,但没有DNS。 我尝试重新启动计算机,更新IP地址(w ipconfig / renew,ipconfig / release),刷新dns,什么也没有。 我走出Wireshark,没有看到任何exception,虽然我想知道如果我没有捕获一个DNS失败。
我无法100%validation问题是在我们的最后,但用户回家,启动,一切正常。 回来,一切再次运作。 所以,我的问题有两个部分:
可能的原因是什么? 如果再次发生,我该怎么办?
对于可能的原因,我的嫌疑人是Comcast DNS和我的Sonicwall TZ210防火墙,按顺序。 我的Sonicwall不会惹他的VPN,但想知道如果这可能是误导他的DNS请求到VPN。 康卡斯特也可以做同样的事情,那对我来说更可能。 用户办公室的VPN客户端出现错误的可能性很小,但对我来说似乎不太可能。
如果再发生什么事情,那么到目前为止我的想法是:在防火墙外面简单地运行他,看看是否清除了事情。 使用另一个DNS提供商(我认为谷歌就像8.8.8.8)。 用netsh重build他的TCP / IP堆栈(这真的是一个好主意?)。
任何build议,或只是validation,将受到欢迎。
由于DNS服务器在无法parsing地址时不发送错误,因此我发现分割隧道问题。
我对拆分隧道的理解是,VPN驱动程序首先将DNS查询指向隧道的一侧。 如果查询失败,则切换到通道的另一端,然后再次尝试。
我看到的问题发生在VPN驱动程序首先尝试通道的本地端,而用户的DNS服务器没有正确返回错误代码。 现在这种情况发生的更多,因为许多ISP都试图提供一个友好的DNS服务,而不是返回一个DNS错误,如果查询不能解决,他们返回一个search页面。 这在浏览器中很好,但打破了拆分隧道VPN。 VPN驱动程序假定响应表示用户正在查找的资源位于隧道的本地端,因此永远不会检查VPN端。
一个解决scheme是更改为Google的DNS,它会正确报告错误。
另一个解决scheme是在VPN驱动程序中切换查找顺序。 据推测,您可以控制隧道VPN侧的DNS,并确保其正常工作。 如果VPN驱动程序无法在隧道的VPN侧获得DNSparsing,则会切换回本地。