简化 iptables 规则集

简化 iptables 规则集

我想简化我邮件服务器的当前 IPTABLES 规则集。我正在使用 IPSET 创建要阻止的 IP 地址的详尽列表,然后在 iptables 中引用该列表。但是,就我而言,只有 5 个子网需要与电子邮件服务器通信,因此我认为阻止所有访问然后明确允许所需的子网可能更容易。假设这 5 个子网是 1.1.1.0/24、2.2.2.0/24、3.3.3.0/24、4.4.4.0/24 和 5.5.50/24。我并不担心将流量锁定到特定端口,因为我控制这些子网上的设备。有人可以建议一个基本的 iptables 配置来实现这一点吗?

谢谢你,凯文

答案1

它看起来应该像这样。我已将您的 5 个子网命名为 Subnet-XXXX

-A INPUT -m set --match-set Subnet-1.1.1.1 src -j Accept
-A INPUT -m set --match-set Subnet-2.2.2.2 src -j Accept
-A INPUT -m set --match-set Subnet-3.3.3.3 src -j Accept
-A INPUT -m set --match-set Subnet-4.4.4.4 src -j Accept
-A INPUT -m set --match-set Subnet-5.5.5.5 src -j Accept
-A INPUT -j DROP

确保您的源 IP 包含在这些子网中的任何一个中,否则您的数据包将被丢弃。或者您可以添加另一条规则,如果您的 IP 是静态的,则将您的 IP 定义为 ACCEPTED 源。

另外,请确保有控制台访问权限,以防出现问题时刷新您的 iptables 规则。

答案2

非常感谢您的回答。实际上我宁愿不使用 ipset,这样我就可以保持配置尽可能简单。例如,下面的方法可行吗?

-A 输入 -s 1.1.1.0/24 -j 接受

-A 输入 -s 2.2.2.0/24 -j 接受

-A 输入 -s 3.3.3.0/24 -j 接受

-A 输入 -s 4.4.4.0/24 -j 接受

-A 输入 -s 5.5.5.0/24 -j 接受

-A 输入 -j 删除

对于这个可能非常基本的问题,我深感抱歉,但这是一个实时服务器,我需要非常小心。

谢谢,凯文

相关内容