Firewall+DMZ+DNS
Luis Eduardo Vivero Peña
luisviveropenna en cdsl.cl
Dom Jul 10 14:00:59 CLT 2005
Holas,
Tengo un problema con un firewall.
Firewall: eth0-->internet
: eth1-->LAN1
: eth2-->LAN2
: eth3-->DMZ
En el mismo firewall esta instalado el DNS (no hay mas maquinas para
instalar).
Las LAN1, LAN2, DMZ estan definidas en segmentos de red con IP privadas.
De las LAN1, LAN2 y DMZ puedo salir a internet.
Cuando pongo una maquina en la DMZ no se ve de afuera, siendo que estoy
redireccionando el puerto 80 hacia la maquina de la DMZ.
Otra cosa con la que tengo problemas, es que en el DNS esta definido un
servidor web para un dominio. El asunto es que le puse la misma IP
publica a este servidor web, para que sea encontrado desde afuera, pero
en realidad es que tiene ip privada en la DMZ. Creo que se deberia
resolver esto con la redireccion del puerto 80 hacia la maquina de la
DMZ que es el servidor web.
El punto es que no veo el servidor web desde afuera.
Envio mi firewalito para ver si me echan una mano.
Gracias y salu2
#!/bin/bash
#
echo "Activando firewall"
# Se permite forwarding a traves de la maquina
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
# Flush
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
# Environment variables
# Imterfaces de Red
INET="eth0"
LAN1="eth1"
LAN2="eth2"
DMZ="eth3"
################################ Politicas por defecto #############
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
############################### /Politicas por defecto ############
# Input Rules
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
# LAN #############################################################
# acepta trafico desde LAN1:
/sbin/iptables -A INPUT -m state --state NEW -i $LAN1 -j ACCEPT
# acepta trafico desde LAN2:
/sbin/iptables -A INPUT -m state --state NEW -i $LAN2 -j ACCEPT
# Salida de la red LAN1 para internet
/sbin/iptables -t nat -A POSTROUTING -s 172.16.1.0/24 \
-o $INET -j MASQUERADE
# Salida de la red LAN2 para internet
/sbin/iptables -t nat -A POSTROUTING -s 166.110.1.0/24 \
-o $INET -j MASQUERADE
# Aqui viene la redireccion de puertos!
/sbin/iptables -t nat -A PREROUTING -i eth0 \
-p tcp --dport 80 -j DNAT --to 10.1.1.2:80
# /LAN ###########################################################
########################### Puertos Publicos ###########################
/sbin/iptables -A INPUT -m state --state NEW \
-p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW \
-p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW \
-p tcp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW \
-p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW \
-p tcp --dport 80 -j ACCEPT
################################ /INPUT ###############################
################################ FORWARD ##############################
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW -i lo -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW -i $LAN1 -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW -i $LAN2 -j ACCEPT
############################### /FORWARD ##############################
echo "Listo :)"
Más información sobre la lista de distribución Linux