1、定义介绍
DMZ,是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。
(百度百科的定义)
2、使用场景
一般对该功能有需求的多为企业用户,一般dmz多设为各类服务器使用。
该功能在设置页面一般如下:

3、DMZ实现
首先明确的是其主要作用就是将所有访问本设备的流量都转发到DMZ主机的IP,所以我们主要就是使用iptables做一个数据转发
示例具体如下:
#DMZ主要规则
iptables -w -t nat -A PREROUTING -i wan_iface -j DNAT --to-destination 192.168.3.5
#内部网络与DMZ服务器进行隔离,保证安全
iptables -w -A FORWARD -s 192.168.3.5 -d 192.168.3.0/24 -j DROP
这样做就能将所有来自wan侧的访问全部都导向下挂ip为192.168.3.5的设备,从而实现DMZ的功能。
4、nat_loopback优化
dmz开启后,外部访问能够正常转发到内网的服务器(192.168.3.5),如果此时内网另一台设备A(192.168.3.10)想要访问服务器,他有两种方式
- 直接通过内网ip访问,此时数据包直接走网桥上转发,功能正常
- 通过wan ip(10.19.244.115)访问,此时就会出现无法联通的问题。
当设备A通过wan ip 去访问的时候,数据包会直接访问路由器,不会走wan侧出去。这里就需要增加nat_loopback规则来实现内网设备访问wan ip依旧可以转发到DMZ服务器
#LAN→公网IP的DNAT
iptables -w -t nat -A PREROUTING -d 10.19.244.115 -i br-lan -j DNAT --to-destination 192.168.3.5
#LAN→DMZ的SNAT
iptables -w -t nat -A POSTROUTING -s 192.168.3.0/24 -d 192.168.3.5 -j SNAT --to-source 192.168.3.1
2220

被折叠的 条评论
为什么被折叠?



