Firewall+DMZ+DNS

Alejandro Valdes J. alejandro en gnome.cl
Lun Jul 11 08:55:42 CLT 2005


El dom, 10-07-2005 a las 14:00 -0400, Luis Eduardo Vivero Peña escribió:
> 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
> 


# natea a la nueva ip.
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j
DNAT --to-destination 10.1.1.2:80

# cambia la ip source para que vuelva el paquete.
/sbin/iptables -t nat -A POSTROUTING -d 10.1.1.2 -p tcp -m tcp --dport
80 -j SNAT --to-source ip-eth0



> # /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