7.5. DMZ과 iptables

규칙을 설정시 특정 시스템, 예를 들면 전용 HTTP 또는 FTP 서버로, 특히 가능하다면 내부 네트워크에서 격리된 DMZ (de-militarized zone: 비무장 지대)에 위치한 서버로 트래픽을 라우팅하도록 설정 가능합니다. 들어오는 모든 HTTP 요청을 (LAN의 192.168.1.0/24 범위에서 벗어난) IP 주소가 10.0.4.2이고 포트 80에 위치한 전용 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도 전송(forward)하셔야 합니다.