【问题标题】:iptables input, output rulesiptables 输入、输出规则
【发布时间】:2014-03-19 11:36:36
【问题描述】:

我需要有关此 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 rule pro 8080 时,防火墙将阻止端口 8080

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

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

【问题讨论】:

    标签: ubuntu firewall iptables


    【解决方案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。详细参数将为您提供每条规则的 pkts 和字节数,因此观察它您可以确定您的规则是否捕获任何内容。

    【讨论】:

      【解决方案2】:

      谢谢,解决办法是不启用输入接受

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

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

      我不相信来自服务器的新连接是有效的(启用了 OUTPUT),但防火墙随后获得了与 INPUT 的新连接......默认情况下未启用

      【讨论】:

      • 拥有 DROP 策略并使用规则来了解您要接受的内容通常是一个好习惯。你的问题是'为什么第一条规则没有抓住它,没有第二条规则它就行不通。您可以根据自己的需要选择最佳方法和解决方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多