AYUDA!! Redireccionamiento de Puertos

Imagen de BitFrost

Forums: 

Trato de configurar el Firewall para que me ridereccione los puertos pero me da este error

[root@itagntlabs ~]# telnet 192.168.1.199 110
Trying 192.168.1.199...
telnet: connect to address 192.168.1.199: Connection refused
telnet: Unable to connect to remote host: Connection refused
[root@itagntlabs ~]#

los comandos que utilize son los siguientes
$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 110 \
-j DNAT --to 192.168.1.197:110
$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.1.197 --dport 110 -j ACCEPT

#Smtp a un servidor interno
$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 25 \
-j DNAT --to 192.168.1.197:25
$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.1.197 --dport 25 -j ACCEPT

En el External IF esta mi direccion Publica, y la 199 es el servidor

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

Aqui esta el firewall mas simple

Imagen de BitFrost

#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info

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: eth0 es el interfaz conectado al router y eth1 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)
/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 INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.199 --dport 25 -j DNAT --to-destination 192.168.1.1:25
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.199 --dport 110 -j DNAT --to-destination 192.168.1.1:110
#iptables -A PREROUTING -t nat -i eth0 -p tcp -d 192.168.1.1 --dport 25 -j DNAT --to 192.168.1.197:25
#iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.197 --dport 199 -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 25 -j ACCEPT

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red

# Cerramos el rango de puerto bien conocido
#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

# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

Cuando le hago NMAP a el 199 me sale filtered y no se conecta nunca

[root@snort ~]# nmap -sT 192.168.1.199

Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2005-04-18 14:49 ECT
Interesting ports on itagntlabs.cspmsa.com (192.168.1.199):
(The 1649 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp filtered smtp
53/tcp open domain
80/tcp open http
110/tcp filtered pop3
111/tcp open rpcbind
199/tcp open smux
3128/tcp open squid-http
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt

SOlo necesito que llegue al puerto 25 nada mas
"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

verifica que myaddr y EXTERN

Imagen de Epe

verifica que myaddr y EXTERNALIF estén correctas apuntando a la IP real de tu linux y a la interfaz donde está la IP real

sobre todas las cosas desde tu linux haz un telnet al puerto 110 de la 192.168.1.197 y que abra y no rechace la conexión.

sobre todo!! 192.168.1.197 debe tener como gateway por defecto al linux tuyo.

Revisa que encima de esas reglas que muestras tengas habilitado el puerto 110 y el 25, sino el firewall por defecto rechazará sin hacer ningun forwarding.

recuerda que ese script está concebido como firewall y que además permite port forwarding, si no habilitas el puerto 110 y 25 no funcionará. Mira encimita de esas reglas que pones y ahi encontrarás las reglas para abrir el puerto 25 y 110

saludos
epe
--
http://www.ecualinux.com

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Estoy chumado con esto #!/

Imagen de BitFrost

Estoy chumado con esto

#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info

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: eth0 es el interfaz conectado al router y eth1 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)
/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 INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to=192.168.1.1:25
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 110 -j DNAT --to=192.168.1.1:110

iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 110 -j ACCEPT

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

Re: verifica que myaddr y EXTERN

Imagen de cash

Saben a mi me pasa algo parecido detras del firewall tengo un web server al cual no puedo accesar y me manda el siguiente error (111) Connection Refused, tengo la misma regla de redireccionamiento, pero no se porque no veo el sitio web.

Cualquier sugerencia sera bien recibida

cash

Trata de utilizar, el ultimo

Imagen de BitFrost

Trata de utilizar, el ultimo script, realmente es un dolor de cabeza, pero de lo cual hay como salir adelante, no te desesperes, sino simplemente anda revisando poco a poco, ahh y por cierto, siempre has un flush de las reglas antes de que intentes nuevamente en otras

Saludos

Andres

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

AL FIN! pero....Que hay del NAT!?

Imagen de BitFrost

Este es el script que me funciono!! gracias a las personas que me acolitaron, cuando uno se da cuenta, que lo que sabe no es lo suficiente y nunca lo es, gracias EpE y Lenin =)
Pero no todo termina ahi, tengo que migrar todo un servidor!, con sus usuarios y el Majordomo, alguien sabe si hay alguna forma sin que uno se rompa la cabeza!

En especial gracias a ti, Glendita, tu apoyo incondicional, no me hizo que me vaya para atraz, pero bueno ahi siempre me tienes que hacer reaccionar

Aqui va

#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info

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: eth0 es el interfaz conectado al router y eth1 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)
/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 INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to=192.168.1.2:25
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 110 -j DNAT --to=192.168.1.2:110

iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 110 -j ACCEPT

# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

Cuando usaba el otro El Primer Script y Luego el Segundo

root@servidor mail]# nmap -sT 192.168.1.200

Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )
Interesting ports on (192.168.1.200):
(The 1535 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp filtered smtp
80/tcp open http
110/tcp filtered pop-3
111/tcp open sunrpc
443/tcp open https
1025/tcp open listen

Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds
[root@servidor mail]# telnet 192.168.1.200 25
Trying 192.168.1.200...

[root@servidor mail]# nmap -sT 192.168.1.200

Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )
Interesting ports on (192.168.1.200):
(The 1535 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop-3
111/tcp open sunrpc
443/tcp open https
1025/tcp open listen

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds
[root@servidor mail]# telnet 192.168.1.200
Trying 192.168.1.200...
telnet: connect to address 192.168.1.200: Connection refused
[root@servidor mail]# telnet 192.168.1.200 25
Trying 192.168.1.200...
Connected to 192.168.1.200.
Escape character is '^]'.
220 servidor.agntlabs.org ESMTP Sendmail 8.11.6/8.11.6; Wed, 20 Apr 2005 14:20:29 -0500
quit
221 2.0.0 servidor.agntlabs.org closing connection
Connection closed by foreign host.
[root@servidor mail]#

Que HIZE MAL!!!, gracias por su paciencia

Andres

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

te sugeriría crearas un nuev

Imagen de Epe

te sugeriría crearas un nuevo tópìco para esto nuevo, para que los que buscan la info no se pierdan entre tantas respuestas. Pero tienes variantes, como no has puesto restricciones te doy algunas:
1- coge el disco y ponlo en el nuevo servidor
2- coge el nuevo servidor y ponlo en el disco viejo
3- si los dos discos son idénticos usa dd para sacar una imagen del disco viejo y lo transfieres al nuevo (puede ser a través de la red, o poniendo el disco nuevo en el mismo srever viejo y poniendo: dd if=/dev/hda of=/dev/hdc, hda sería el viejo, hdc el nuevo).
4- tar -zcvf /backup/respaldo.tar.gz /etc /home /var, una vez hecho esto, tomas el archivo respaldo.tar.gz y lo pasas al disco nuevo, tomas la info que desees (no reemplaces todo a lo loco sino que vas tomando lo que requieras.. si reemplazas todo var... te aseguro que buena cagazón vas a haber armado). Claro que previamente en el disco nuevo debes haber instalado tu linux).

De todas te sugiero que siempre trates la más fácil, recuerda que la labor de uno es trabajar lo menos posible y navegar y estudiar lo más posible. Yo al menos me fuera por la opción 1.

saludos
epe
--
http://www.ecualinux.com

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre