首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用iptable设置第一道墙,使其只允许VPN

使用iptable设置第一道墙,使其只允许VPN
EN

Unix & Linux用户
提问于 2013-08-24 08:53:29
回答 1查看 17.3K关注 0票数 8

我使用IPredator虚拟专用网与openVPN,我想确保如果连接被删除,我不会提交来自互联网的数据,没有openVPN。我听说我可以用iptable和一个靶场来做这个。我怎么能这么做?我如何才能找到IP的范围,我的VPN正在分配给我?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2013-08-24 11:45:02

在启动VPN之前,请获取netstat -rnifconfig -a的副本。启动您的VPN,这两个命令中的差异将告诉您VPN在路由方面创建了哪些网络,以及为获得这些网络的可视性而分配了哪些IP。您还需要获得提供VPN的服务器的IP (否则传输到VPN服务器的流量将达不到它)。我还假设您的VPN服务器使用的是udp,而不是tcp,如果它确实使用tcp,则需要更新第二条规则来反映这一点。

一旦有了这些,就可以在iptables中添加OUTPUT规则,以设置允许主机查看的内容。

代码语言:javascript
运行
复制
 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

在调试这些规则时,可以方便地记录正在删除的内容,因为某些协议可能需要一些额外的按摩:

代码语言:javascript
运行
复制
 iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 

这应该足以阻止从您的PC到互联网的流量OUTBOUND,并且只允许流量到VPN服务器和它提供的网络。

OP指出Arch不附带netstatifconfig。在这种情况下,备选办法是:

ip addr show将向您展示接口,ip route show将向您展示您的路线。

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/88034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档