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