我在Linux 16.04系统上有本地(家用)计算机。我如何才能阻止除一个/几个网址以外的所有互联网流量?

我正在尝试使用iptables规则:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -s facebook.com -p tcp --sport www -j ACCEPT


但是这种实现方式不起作用。我在哪里有错误?或者,也许我需要使用其他内容代替iptables

最佳答案

如果需要阻止除特定范围外的所有传入通信,则应首先将INPUT链的默认策略更改为DROP:

iptables --policy INPUT DROP


然后,应为iptables设置一个网络掩码,以允许全部例外的IP地址。例如,如果只需要将74.231.64.174.231.64.2允许为74.231.64.255,则可以使用以下命令:

iptables -A INPUT -s 74.231.64.0/24 -j ACCEPT


74.231.64.0/24告诉iptables将相同的角色应用于74.231.64.174.231.64.255之间的所有不同IP。同样,您可以通过传递74.231.0.0/1674.0.0.0/8来扩大此范围。

重要说明:在应用此更改之前,最好直接访问系统,而不是通过网络访问。这是因为未命中类型可能会阻止您访问服务器。

关于linux - 如何阻止本地linux计算机上的所有Internet通信期望一个URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39450095/

10-11 21:30