ancabi
31-03-2009, 21:25
tengo un problema, llevo todo el dia peleando con iptables para poder hacer lo siguiente:
tengo un servidor con un windows 2003 el cual va al firewall linux a la interfaz eth0, este bloquea todo excepto el puerto para el ssh y mediante la interfaz eth1 va a internet para que un ordenador externo entre por ssh al servidor windows 2003
las ips son: 192.168.2.1 (router)
192.168.2.2 (eth1 del firewall)
192.168.1.1 (eht0 del firewall la cual va a la LAN)
192.168.1.2 (server 2003)
lo que crei mas facil era poner como politica general DROP y unicamente abrir el puerto 22 para el ssh pero esto se me complico y no me dejo
entonces hice algo parecido que fue poner que acepte todo, bloquear los puertos que no usa y hacer un FORWARD al 22 pero esto no me funciona
yo creo que no es mas del iptables sino que dentro del linux hay que hacer algun redireccionamiento o algo asi
dejo mi script por si sirve de algo
#!/bin/sh
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## Empezamos a filtrar
## Nota: eth1 es el interfaz conectado al router y eth0 a la LAN
# El localhost se deja
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.1.0/24 -i eth1 -p tcp --sport 22 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
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
echo " OK"
# Fin del script
Saludos
tengo un servidor con un windows 2003 el cual va al firewall linux a la interfaz eth0, este bloquea todo excepto el puerto para el ssh y mediante la interfaz eth1 va a internet para que un ordenador externo entre por ssh al servidor windows 2003
las ips son: 192.168.2.1 (router)
192.168.2.2 (eth1 del firewall)
192.168.1.1 (eht0 del firewall la cual va a la LAN)
192.168.1.2 (server 2003)
lo que crei mas facil era poner como politica general DROP y unicamente abrir el puerto 22 para el ssh pero esto se me complico y no me dejo
entonces hice algo parecido que fue poner que acepte todo, bloquear los puertos que no usa y hacer un FORWARD al 22 pero esto no me funciona
yo creo que no es mas del iptables sino que dentro del linux hay que hacer algun redireccionamiento o algo asi
dejo mi script por si sirve de algo
#!/bin/sh
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## Empezamos a filtrar
## Nota: eth1 es el interfaz conectado al router y eth0 a la LAN
# El localhost se deja
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.1.0/24 -i eth1 -p tcp --sport 22 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
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
echo " OK"
# Fin del script
Saludos