7.5. DMZ 和 iptables

你还可以设置一些把交通选路发送到某些机器(如专用 HTTP 或 FTP 服务器)的规则,这些机器最好是位于停火区域(de-militarized zone,DMZ)的和内部网络分开的机器。要设置一条把所有进入的 HTTP 请求都选路发送到 IP 地址为 10.0.4.2、端口为80(LAN 192.168.1.0/24 范围之外)的专用 HTTP 服务器的规则,网络地址转换(NAT)会调用 PREROUTING 表来把这些分组转发到恰当的目的地:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \
	    --to-destination 10.0.4.2:80

使用这项命令,所有来自 LAN 以外的到端口80的 HTTP 连接都会被选路发送到和内部网络分离的另一个网络上的 HTTP 服务器上。这种网络分段会比允许到内部网络中的机器上的 HTTP 连接更安全。如果 HTTP 服务器被配置接受安全连接,那么端口443也必须被转发。