【问题标题】:IPTables drop all input and accept ip in same statementIPTables 删除所有输入并在同一语句中接受 ip
【发布时间】:2017-04-05 22:12:07
【问题描述】:

我有一个数据库,我只能通过 xmlrpx 脚本传递 firewall.conf 脚本来设置 IPTables 配置。但是,当我发送以下语句时,它似乎在:INPUT DROP 之后断开了我的连接,因此它不会运行-A INPUT -s [IP] -j ACCEPT。如何确保打开 IP 并关闭所有其他连接?

*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT

-A INPUT -s [IP] -j ACCEPT
COMMIT

【问题讨论】:

    标签: linux centos iptables


    【解决方案1】:

    iptables 规则是按顺序评估的,因此您始终可以为 INPUT 设置一个 ACCEPT 默认策略,并使用INPUT 的最后一条规则丢弃或拒绝其他数据包,例如:

    *filter
    :INPUT ACCEPT
    :FORWARD DROP
    :OUTPUT ACCEPT
    
    -A INPUT -s [IP] -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-proto-unreachable
    COMMIT
    

    在任何情况下,仅使用REJECT 规则,您就可能对发生的事情有所了解(可能是中间的 NAT?),而不是静默丢弃(在任何情况下,出于安全考虑,建议这样做)。

    【讨论】:

    • 它似乎仍然断开了我的连接,但是如果我只是这样做 :INPUT ACCEPT :FORWARD DROP :OUTPUT ACCEPT -A INPUT -s [IP] -j ACCEPT 它工作正常并应用 iptables
    • 这样你就可以接受每个入站连接,就像不运行 iptables 一样。您可以在 REJECT 规则之前尝试使用 -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 规则,看看为什么它不被接受,然后查看日志。
    • 问题是这个服务器是一个封闭的盒子,除了通过这个conf文件设置IPTables之外我什么也做不了。所以我无权访问日志
    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2013-01-28
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多