AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 546806
Accepted
mhost
mhost
Asked: 2013-10-18 11:00:15 +0800 CST2013-10-18 11:00:15 +0800 CST 2013-10-18 11:00:15 +0800 CST

有多少 iptables 阻止规则太多了

  • 772

我们有一台配备四核 AMD Opteron 处理器 2378 的服务器。它充当我们多台服务器的防火墙。我被要求阻止来自中国的所有 IP。

在一个单独的网络中,我们有一些小型 VPS 机器(256MB 和 512MB)。我也被要求在这些 VPS 上屏蔽中国。

我在网上查看并找到需要 4500 块规则的列表。我的问题是把所有 4500 条规则都放进去会有问题吗?我知道 iptables 可以处理的规则远不止这些,我担心的是因为这些是我不想访问任何端口的块,所以我需要将这些规则放在任何允许之前。这意味着所有合法流量都需要在通过之前与所有这些规则进行比较。实施后流量会明显变慢吗?那些小型 VPS 是否能够为每个新数据包处理那么多规则(我将在块之前放置一个已建立的允许)?

我的问题不是iptables 可以支持多少条规则?,关于这些规则对负载和速度的影响。

谢谢。

iptables
  • 1 1 个回答
  • 3649 Views

1 个回答

  • Voted
  1. Best Answer
    Matthew Ife
    2013-10-18T11:22:23+08:002013-10-18T11:22:23+08:00

    它会支持这么多规则,但你真的不想遍历 4500 条规则链。

    正如@Zoredache 指出的那样,您还可以对链进行二进制拆分。如果你做得很好,你可以将链遍历的次数减少到 13。

    最简单的方法是使用 ipsets。

    我正在使用为此提供支持的 EL6。显然我不知道所有的中国网络块,所以我只是用垃圾填满这个..

    ipset create china hash:net
    ipset add china 1.2.3.0/24
    ipset add china 2.4.0.0/16
    ipset add china 123.0.0.0/8
    ipset add china 145.12.5.0/24
    

    然后将规则添加到 IPtables 以匹配该集并丢弃流量..

    iptables -I INPUT -m set --match-set china src -j DROP
    

    这比标准规则链更有效、更快。

    • 13

相关问题

  • OpenVPN 的 Linux IP 转发 - 正确的防火墙设置?

  • iptables 单个规则中的多个源 IP

  • 存储 iptables 规则的规范方法是什么

  • 使用 iptables 和 dhcpd 进行端口转发

  • 根据 Apache 日志数据自动修改 iptables 以阻止行为不良的客户端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve