我运行一个 Ubuntu 服务器,其中有一个 VPN 分割隧道。这意味着我的大多数服务都具有与互联网的“正常”连接,但也只有少数服务使用隧道连接。在这种情况下,我的服务器是 VPN 的客户端。
我想知道 VPN 隧道是否存在 DNS 泄漏。有一些网站可以对此进行测试,但无法真正从终端使用它们。
应如何解决此问题才能确认我是否存在 DNS 泄漏?
答案1
如果您可以在该服务器上设置反向 SSH 隧道,那么您可以使用远程 Web 浏览器和这些 DNS 泄漏网页来至少部分测试该服务器。您还需要在该服务器上设置 SOCKS 5 代理,并将浏览器配置为在远程端使用它。 Perl 包中曾经有一个提供 Socks 的示例脚本,对于这项任务来说应该足够了。所以你需要这个:
<--------------------------------------------------------->
Internet <--> Server Laptop etc
SSH reverse tunnel <--> SSH
Internet <--> Socks proxy <--> Web browser
答案2
您可以在单独的系统上使用wireshark,然后自己在中间使用。之后,您可以查看日志并查看是否有任何相关泄漏出现。这很简单,而且应该非常有效。
答案3
另一种选择是使用 iptables 日志记录,例如
iptables -A OUTPUT -d 1.1.1.1/32 -j accept
iptables -A OUTPUT -j LOG
答案4
我做了什么:
ssh -X VPNuser@server
firefox
然后访问一个网站进行 dns-leak 测试。