【问题标题】:iptables block access to all ports except from a partial IP address [closed]iptables 阻止对除部分 IP 地址以外的所有端口的访问 [关闭]
【发布时间】:2014-02-20 05:50:44
【问题描述】:

我希望阻止来自我的服务器及其端口的所有 ip,但部分 ip 198.55..* 除外。我想限制对 ISP 区域的访问,因为我的个人 IP 在我们的 ISP 中不是静态的。我该怎么办?我们的服务器今天晚上被入侵了,我正试图杀死它的所有其他流量。

下面的代码似乎允许一个特定的 IP,但它会阻止所有其他 IP 吗?另外,如果我使用 x 是否会像通配符一样?

iptables -A INPUT -s 74.231.64.xx -j ACCEPT

【问题讨论】:

    标签: linux firewall iptables


    【解决方案1】:

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

    iptables --policy INPUT DROP
    

    然后,您应该为iptables 提供一个网络掩码,以例外地允许多个 IP 地址。例如,如果只需要允许74.231.64.174.231.64.274.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 来扩大此范围。

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

    【讨论】:

    • 为了清楚起见,这将继续允许我的 ip 同时禁用所有其他人?另外,0/8 是什么意思?
    • 没有。此命令阻止此范围内的所有 IP,允许所有其他 IP 进入。提供您要阻止的 IP 而不是 74.231.64.0。更多信息已添加到答案中。
    • 我需要阻止所有公共 ip 访问服务器,但我的除外。我希望最后几个数字是动态的唯一原因只是因为我的 ISP 可以给我一个新的 ip 打破我自己对服务器的访问。只允许访问我的而不是试图阻止所有其他人会更容易吗?
    • 是的。这会更容易。您应该将 INPUT 链的默认策略更改为 DROP 并为您的 IP 地址添加一个例外。答案再次更新。
    • 确保在将策略设置为丢弃之前接受您的特定 IP。否则,您将永远失去您的服务器!!!
    猜你喜欢
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多