三足防火墙与 iptables。如何管理DMZ?

Three legged firewall with iptables. How to manage DMZ?

我正在尝试实施三足防火墙,但我的 DMZ iptables 规则没有按预期工作。

三足防火墙是具有 3 个 NIC 的防火墙。一个用于路由器,一个用于 DMZ,一个用于 LAN。

我的 DMZ 网络位于与 LAN 分开的另一个网络上。防火墙和DMZ之间有路由规则。

Firewall LAN NIC: 192.168.0.1
Firewall DMZ NIC: 192.168.100.1
DMZ Server IP: 192.168.100.12

DMZ 服务器网关是 192.168.100.1

因此,作为 DMZ,我将允许从 Internet 通过防火墙到 DMZ 的所有连接,并仅禁止从 DMZ 到 LAN 的传出连接(以确保其安全),但允许传入连接。 但是我无法阻止所有 incoming/outgoing 连接来测试 iptables 规则是否正确应用。

所以我尝试了(总是在防火墙中):

iptables -A FORWARD -s 192.168.100.12 -d 0.0.0.0 -j DROP
iptables -A FORWARD -d 192.168.100.12 -s 0.0.0.0 -j DROP

但我仍然可以通过 RDP 连接到服务器、导航等等。

好的,也许 INPUT/OUTPUT:

iptables -A INPUT -s 192.168.100.12 -j DROP
iptables -A OUTPUT -d 192.168.100.12 -j DROP

但还是一样。

因此,我无法阻止与我的 DMZ 服务器的所有连接,证明我的规则根本不起作用。

我不是网络专家,而是程序员,所以我完全确定我糟糕的网络技能在这里非常失败。抱歉。

感谢您的帮助!

好的。我想我解决了

iptables -A FORWARD -s 192.168.100.0/24 -d 192.168.0.0/24 -j DROP
iptables -A FORWARD -d 192.168.100.0/24 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -s 192.168.100.0/24 -i $dmz_i -j DROP

这是阻止访问防火墙(INPUT 规则)和 LAN(FORWARD 规则)的正确规则

谢谢!