iptables输入,输出规则

时间:2014-03-19 11:36:37

标签: ubuntu firewall iptables

我需要这个iptables规则的帮助。我不明白为什么需要端口8080的INPUT规则

服务器使用公共IP 123.123.123.123

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

iptables -I INPUT 1 -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp --dport 8080 -s 123.123.123.123 -j ACCEPT

当我禁用INPUT规则pro 8080时,防火墙将阻止端口8080

当SERVER尝试打开GET 123.123.123.123:8080失败时! (响应超时)为什么?

为什么它没有启用规则ESTABLISHED,RELATED ???

2 个答案:

答案 0 :(得分:1)

iptables -I INPUT 1 -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

^这适用于已经建立的连接,因此id不会捕获任何新连接。

iptables -A INPUT -p tcp --dport 8080 -s 123.123.123.123 -j ACCEPT

^并且这个捕获了什么试图将TCP数据包发送到123.123.123.123:8080并接受它。 如果在此条目不存在时无法连接到该服务,则因为您的链中可能还有其他内容可以捕获流量并使-j REJECT-j DROP

...或者你在这个链上有REJECT或DROP政策。

选中iptables -L INPUT进行检查,然后iptables -P INPUT ACCEPT进行更改。

检查链条上发生了什么的一种简单方法是检查iptables -L -n -v。 verbose参数将为每个规则提供pkts和bytes的数量,因此观察它可以确定您的规则是否正在捕获任何内容。

答案 1 :(得分:0)

谢谢,解决方案不是启用INPUT ACCEPT

但是为从服务器到自己的所有连接添加启用

iptables -I INPUT 2 -p all -m state --state NEW -s 123.123.123.123 -j ACCEPT

我没有说明服务器上的新连接是有效的(OUTPUT已启用),但是防火墙会与INPUT建立新连接...默认情况下未启用