我使用IPredator虚拟专用网与openVPN,我想确保如果连接被删除,我不会提交来自互联网的数据,没有openVPN。我听说我可以用iptable和一个靶场来做这个。我怎么能这么做?我如何才能找到IP的范围,我的VPN正在分配给我?
发布于 2013-08-24 11:45:02
在启动VPN之前,请获取netstat -rn
和ifconfig -a
的副本。启动您的VPN,这两个命令中的差异将告诉您VPN在路由方面创建了哪些网络,以及为获得这些网络的可视性而分配了哪些IP。您还需要获得提供VPN的服务器的IP (否则传输到VPN服务器的流量将达不到它)。我还假设您的VPN服务器使用的是udp
,而不是tcp
,如果它确实使用tcp
,则需要更新第二条规则来反映这一点。
一旦有了这些,就可以在iptables中添加OUTPUT
规则,以设置允许主机查看的内容。
iptables -F OUTPUT
iptables -I OUTPUT -d VPNSERVER -p udp -j ACCEPT -m comment --comment "Allow traffic to VPN SERVER"
iptables -I OUTPUT -s VPNIP -d VPNNETWORK/CIDR -j ACCEPT -m comment --comment "Allow all traffic to VPN newtork"
iptables -I OUTPUT -j DROP -m comment --comment "Drop all other traffic"
iptables -F OUTPUT
刷新您的现有规则,请注意这一点,但需要做的是你最初的问题。
VPNSERVER
将是您的vpn服务器的ip。VPNIP
将是分配给您的IP。VPNNETWORK/CIDR
将是出现在netstat -rn
中的路由网络,类似于10.1.0.0/24
在调试这些规则时,可以方便地记录正在删除的内容,因为某些协议可能需要一些额外的按摩:
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
这应该足以阻止从您的PC到互联网的流量OUTBOUND
,并且只允许流量到VPN服务器和它提供的网络。
OP指出Arch不附带netstat
或ifconfig
。在这种情况下,备选办法是:
ip addr show
将向您展示接口,ip route show
将向您展示您的路线。
https://unix.stackexchange.com/questions/88034
复制相似问题