[CentOS-es] Problemas Iptables - Direccionar a maquina interna
Rene Chirivi
rene_chirivi_bog en yahoo.com
Mar Jul 22 20:14:26 UTC 2008
Puedes usar Firestarter, es mucho facil
yo lo uso y tengo termianl server
----- Mensaje original ----
De: Andre Aspée <easpee en gmail.com>
Para: centos-es en centos.org
Enviado: martes, 22 de julio, 2008 19:08:58
Asunto: [CentOS-es] Problemas Iptables - Direccionar a maquina interna
Buenas a todos,
Necesito direccionar a una maquina de mi red para utilizar terminal
server, desde dentro de la red me basta con ingresar a traves de su ip.
Pero desde afuera (internet) no me puedo conectar, necesito entonces que
me puedan ayudar con las reglas de mi firewall, ya que lo que he
intentado no me resulta.
Les dejo el archivo de mi firewall (si alguien ve algo que no
corresponda porfavor me avisa)
Saludos
#!/bin/sh
## Configuracion de clientes
# IP: 192.168.10.x
# mascara: 255.255.255.0
# gateway: 192.168.10.1
# dns1: 200.75.0.4
# dns2: 200.75.25.224
# Ruta del archivo iptables
IPTABLES=/sbin/iptables
# IFEXT por donde salgo a internet
# ip externa: 111.111.111.111 (es para ejemplo)
IFEXT="eth1"
# IFINT red interna, la que conecta a los cliente
IFINT="eth0"
# IP: 192.168.10.1
# Broadcast: 192.168.10.255
# gateway 192.168.10.1
fw_start() {
echo "Iniciando FIREWALL, [DEFAULT ACCEPT Policy]"
# Inicializando
$IPTABLES -F # Limpia todas las cadenas
$IPTABLES -X # Borra cadenas vacias
$IPTABLES -Z # Pone a 0 lo contadores de paquetes y bytes de todas las reglas de todas las cadenas
$IPTABLES -t nat -F
# Politica por defecto
$IPTABLES -P INPUT ACCEPT && echo "regla: 1 - OK!"
$IPTABLES -P OUTPUT ACCEPT && echo "regla: 2 - OK!"
$IPTABLES -P FORWARD ACCEPT && echo "regla: 3 - OK!"
$IPTABLES -t nat -P PREROUTING ACCEPT && echo "regla: 5 - OK!"
$IPTABLES -t nat -P POSTROUTING ACCEPT && echo "regla: 6 - OK!"
## INICIO DE FILTRADO
# dejamos que vayan al firewall
$IPTABLES -A INPUT -s 192.168.10.0/24 -i $IFINT -j ACCEPT && echo "regla: 7 - OK!"
## Puertos y SITIOS DENEGADOS
iptables -A FORWARD -s 192.168.10.0/24 -d 64.13.152.67 -p tcp --dport 443 -j DROP #imo.im
iptables -A FORWARD -s 192.168.10.0/24 -d 64.13.152.67 -p udp --dport 443 -j DROP #imo.im
## PUERTOS PERMITIDOS
# Aceptamos que vayan a puertos 80:HTTP, 443:HHTPS, 110:SMTP, 25:POP3, 465:GMAIL, 995:GMAIL, 53:DNS
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 80 -j ACCEPT && echo "regla: 8 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 443 -j ACCEPT && echo "regla: 9 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 8080 -j ACCEPT && echo "regla: 10 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 110 -j ACCEPT && echo "regla: 11 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 25 -j ACCEPT && echo "regla: 12 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 465 -j ACCEPT && echo "regla: 13 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 995 -j ACCEPT && echo "regla: 14 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 53 -j ACCEPT && echo "regla: 15 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p udp --dport 53 -j ACCEPT && echo "regla: 16 - OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 20:23 -j ACCEPT && echo "FTP TCP OK!!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p udp --dport 20:23 -j ACCEPT && echo "FTP UDP OK!"
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -p tcp --dport 3389 -j ACCEPT && echo "terminal TCP OK"
# CERRAMOS LOS DEMAS PUERTOS
$IPTABLES -A FORWARD -s 192.168.10.0/24 -i $IFINT -j DROP && echo "regla: 17 - OK!"
# NAT
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s 192.168.10.0/24 -o $IFEXT -j SNAT --to 111.111.111.111
#ICMP
$IPTABLES -A INPUT -i $IFEXT -p ICMP -j ACCEPT
#dejo pasar al puerto 3389
$IPTABLES -A INPUT -i $IFEXT -p TCP --dport 3389 -m state --state NEW -j ACCEPT
#direcciono a maquina interna
$IPTABLES -t nat -A PREROUTING -i $IFEXT -p tcp --dport 3389 -j DNAT --to 192.168.10.100:3389
#acepto paquetes de conexiones establecidas
$IPTABLES -A INPUT -i $IFEXT -p TCP -m state --state RELATED -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i $IFINT -p tcp --dport 80 -j REDIRECT --to-port 8080
$IPTABLES -A FORWARD -i $IFEXT -o $IFINT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $IFINT -o $IFEXT -j ACCEPT
$IPTABLES -A FORWARD -j LOG --log-level warning --log-prefix "IPTABLES FORWARD: "
# CERRAMOS LOS ACCESOS INDESEADOS DESDE EL EXTERIOR 0.0.0.0/0 ES CUALQUIER RED
$IPTABLES -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP
$IPTABLES -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP
$IPTABLES -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP
}
fw_stop() {
echo "Finalizando FIREWALL, [DEFAULT ACCEPT Policy]"
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
}
fw_status() {
$IPTABLES -nL
}
case "$1" in
'start')
fw_start
;;
'stop')
fw_stop
;;
'status')
fw_status
;;
*)
echo "Usage: $0 start|stop|status"
esac
_______________________________________________
CentOS-es mailing list
CentOS-es en centos.org
http://lists.centos.org/mailman/listinfo/centos-es
____________________________________________________________________________________
Yahoo! MTV Blog & Rock >¡Cuéntanos tu historia, inspira una canción y gánate un viaje a los Premios MTV! Participa aquí http://mtvla.yahoo.com/
Más información sobre la lista de distribución CentOS-es