如何阻止传出流量?

时间:2014-10-29 07:04:05

标签: output iptables rules

我想使用iptables来阻止所有传入流量,但另一方面我想将所有传出流量列入白名单。目前,我的iptables阻止了所有传出的流量。我怎样才能将其列入白名单?

iptables规则

iptables -F

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

iptables -A OUTPUT -o enp0s18 -j ACCEPT

iptables -I INPUT -p tcp --dport 26666 -j ACCEPT

iptables -L

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:26666

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

但它不起作用:

curl http://google.com
curl: (6) Couldn't resolve host 'google.com'

有什么问题?

1 个答案:

答案 0 :(得分:2)

它没有阻止出站流量;您只是阻止作为响应的入站数据(特别是在这种情况下,DNS服务器的响应)。

将此内容添加到最后,以允许ESTABLISHEDRELATED数据通过INPUT链进入:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Here's一个explainhell.com链接,它将引导您完成规则的操作。