在已经存在 DMZ 的情况下,如何将某些 IP 列入白名单并将其余 IP 全部阻止?

在已经存在 DMZ 的情况下,如何将某些 IP 列入白名单并将其余 IP 全部阻止?

我有一台正在运行的 Linux 机器,其本地 IP 为:192.168.1.2,连接到公网 IP 为 8.8.8.8 的路由器,现在路由器 8.8.8.8 的 DMZ 为 192.168.1.2

结果,垃圾邮件发送者、黑客、破解者会使运行 H.323 协议或 SIP 协议的 192.168.1.2 崩溃。

我如何在路由器中或路由器后面放置一个公共 IP 白名单来防止此类攻击?(Linux 机器不是开源的,我无权在其上放置 iptables)

答案1

如果您可以在路由器上运行 iptables,则默认删除向外接口上传入的所有内容,然后添加例外:

您描述的一个简单示例,假设 eth1 是面向外的设备:

iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j DROP
iptables -I FORWARD -i eth1 -s 123.123.123.123 -j ACCEPT
iptables -I FORWARD -i eth1 -s 123.124.0.0/16 -j ACCEPT

这些行的含义如下:

  1. 允许已担保的流量,例如对您自己的查询的响应
  2. 放下一切
  3. 允许 IP123.123.123.123
  4. 允许整个子网123.124.xxx.xxx

请注意第 3 行和第 4 行中-I的 而不是-A。这意味着该规则应该放在列表的第一位,而不是将其附加在后面。

如果您需要在 Linux 机器上运行此程序,则同样可以工作,但您需要用 替换FORWARDINPUT这样您就可以跳过输入界面。此外,您可能希望添加一条ACCEPT规则,192.168.1.0/24因为您的 LAN 很可能是值得信赖的。

有关详细信息,请参阅For more info, see本教程或者手册

相关内容