我正在使用最新的Ubuntu发行版…而且我有一个相当多的VPN连接。 我正在使用Ubuntu附带的默认Network Manager应用程序。
我在维护与VPN的连接时遇到了问题,这是一个单独的问题,我正在寻找一些让我更安全的方法。 我想要一个自动的方式来closures特定的端口,当PPTP的VPN连接,或当时杀死一个应用程序…更好的是,但重新连接到VPN,同时停止stream量。
任何人都知道这样做的Linux应用程序/我如何configurationIPTables来阻止端口?
如果您不希望任何stream量发送不安全,我会build议设置您的路由表没有默认路由,只有一个特定的路由到VPN服务器。 这意味着当你的VPN连接closures,并通过VPN删除路由时,不会有任何匹配的路由stream量,它不会出去。 例如,假设192.168.0.0/24是您的本地networking,并且您的VPN服务器在1.2.3.4:
192.168.0.0/24 dev eth0 1.2.3.4/32 via 192.168.0.1
如果在端口级别上需要更精细的粒度,则可以添加iptables规则,这些规则会阻止这些端口号上stream出eth0stream量。 当VPN上tun0 ,这些数据包将从VPN接口(例如tun0 )出去,并被封装,并在VPN端口号上输出eth0 。 当VPNclosures时,他们将尝试直接从原始端口号的eth0出来,iptables规则应该阻止这个端口号。 例如,要防止HTTPstream量不安全:
iptables --append OUTPUT --out-interface eth0 --protocol tcp --dport 80 --jump REJECT
看一下像Shorewall这样的工具来build立你的iptables规则。 将您的VPN和Internetconfiguration到不同的区域。 然后,您可以在VPN区域上允许您不允许的VPN区域上的端口。 Shorewall文档非常广泛,包括如何在添加VPN时修改configuration。 从示例1接口configuration开始,并添加到VPN中。