通过VPN / SSH隧道限制Internet访问,以防止泄漏非隧道数据(无路由器)


2

非常简单的用例。比方说,我使用各种应用程序,并且在没有这样的时间可以在任何这些应用不断从我的实际连接本机传输数据。

这是我更详细的实际问题。我正在使用OpenVPN连接各种客户端 - 服务器应用程序。最重要的是,这些始终通过VPN发送数据。VPN不是可选的,它是强制性的。遗憾的是,当VPN死亡,或者忘记打开,或者以某种方式神秘地关闭......这些应用程序开始通过我的本机连接发送数据包。这是一个巨大的禁忌。我确信这个问题有一个解决方案,但是对它进行研究并对其进行研究并不是很有成效。

另外正如标题中所述,我无权为此配置我的路由器。我愿意使用虚拟机,并且可能只将其锁定到隧道连接。

Answers:


3

使用iptables(linux防火墙)我能够限制只访问VPN连接:

#Clear all previous entries
iptables -F

iptables -A INPUT -i tun+ -j ACCEPT

iptables -A OUTPUT -o tun+ -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -j ACCEPT

iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT

#myvpn.com
iptables -A INPUT -s myvpn.com -j ACCEPT

iptables -A OUTPUT -d myvpn.com -j ACCEPT

#DNS
#openVPN needs DNS to resolve hostnames before it connects. If you are paranoid about dnsleakge, which isn't supposed to be a problem with VPN as all connections are tunneled, you can remove this entry, and then run these iptables commands after you connect to the VPN.
iptables -A INPUT -s 8.8.4.4 -j ACCEPT

iptables -A OUTPUT -d 8.8.4.4 -j ACCEPT

iptables -A INPUT -j DROP

iptables -A OUTPUT -j DROP

0

快速简便的解决方案是使用VM路由并将其专门绑定到您希望它使用的网络设备(在这种情况下是您的VPN)。

正如您已经指出这是一个可行的解决方案,并且不参考您喜欢的VM平台,我将跳过详细介绍配置步骤的任何演练。但是,对于我使用的所有平台(VMWare,VirtualBox等),配置非常简单,关键是禁用任何VM绑定到您的非VPN网络设备。如果你想要具体信息,我建议你去看看是否已经回答过这个问题,或者如果不是,那就问一个关于那个话题的新问题。


更新:是的,正如我的问题所示,这是一种可能性。可悲的是,这没用。我可以指定我的无线网卡,但开放的VPN网络适配器“TAP Win-32”不起作用。VM无法以这种方式连接到Internet。我正在寻找创建禁用所有其他非VPN连接的防火墙规则
僵尸2014年

如果我问的话,你使用什么VPN和VM软件。我想对此做一些额外的检查。
Bryan C.

视窗?OpenVPN客户端。在Linux上也一样。
僵尸2014年

好吧,那么这可能是一个死胡同。使用内置Windows VM的这条路线将开始变得越来越复杂,然后Stack答案将能够充实,如果你已经在你的Linux会话中得到了一个IPTables解决方案(并且你有工作的技能水平,然后我坚持这一点。对不起芽。
Bryan C.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.