Acceder a un servidor interno de una red local
Hola lista: En una red local tengo un aparato (un autómata) que dispone de servidor http y ftp integrado. Desde los ordenadores de la red puedo acceder a él, y ver el contenido de la red y transferir ficheros. Esa red esta conectada al exterior mediante un ordenador con dos tarjetas que hace de cortafuegos, y que también dispone de servidor web y ftp, accesible tanto desde dentro como desde fuera. Tiene Suse 9.2 Ahora querría poder acceder al dispositivo de la red interna (tanto al servidor web como al ftp), pero no sé qué hay que hacer. Con lo poco que yo se, se me ocurría que el servidor haga un mirror cada cierto tiempo de los dos servidores internos http y ftp (son muy pequeños) cada cierto tiempo, pero si existe la posibilidad de redirigir el tráfico hacia el servidor interno, mejor, pero no sé como distinguir hacia dónde van las peticiones. ¿Poniendo la dirección ip:81 y que redirija del 81 al puerto 80 del servidor interno? ¿Se puede? ¿es una chapuza? ¿Cómo se llama lo que quiero hacer? porque tampoco he sabido buscarlo Gracias Joaquín
El Vie 18 Mar 2005 6:54 PM, Joaquin Felipe escribió:
Esa red esta conectada al exterior mediante un ordenador con dos tarjetas que hace de cortafuegos, y que también dispone de servidor web y ftp, accesible tanto desde dentro como desde fuera. Tiene Suse 9.2 Ahora querría poder acceder al dispositivo de la red interna (tanto al servidor web como al ftp), pero no sé qué hay que hacer.
Hola a todos. Edita en tu PC que sirve de firewall el archivo: /etc/sysconfig/SuSEfirewall2 Busca el valor de la seccion 14 y le colocas lo siguiente: FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,80,80,192.168.2.80" Explico que significa cada cosa (trato ;-) - 0/0 significa todos los ips, es equivalente a escribir: 0.0.0.0/0.0.0.0 - 192.168.1.1 es el ip de la tarjeta que apunta hacia afuera en el PC firewall. - tcp es el protocolo que estas utilizando en tu servidor web - 80,80 es el puerto de origen y destino respectivamente. El primer 80 es hacia el puerto que trataran de conectarse las pc desde fuera y el segundo puerto es el puerto destino, el servidor web real que esta dentro de la red. - 192.168.2.80 es tu servidor web real. Y en la seccion 5 debes cerciorarte que esté los siguiente: FW_ROUTE="yes" si deseas añadir otro servicio accesible desde fuera, debes colocar los mismo en la misma linea pero separado del valor anterior por un espacio en blanco. Ejemplo: FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,80,80,192.168.2.80 0/0,192.168.1.1,tcp,110,110,192.168.2.80" incluso puedes cambiar el puerto destino de la siguiente forma: FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,80,8888,192.168.2.80 0/0,192.168.1.1,tcp,110,21110,192.168.2.80" (todo debe estar en la misma linea y separado por espacio, es posible que se vean 2 lineas en el ejemplo por el cliente de correos). Adicionalmente debes abrir en el firewall los puertos en cuestión. Suerte y espero no haber olvidado algo. -- ********************************* Hugo Sandoval Consultor Senior www.softwarelibre.com.ve hugo@softwarelibre.com.ve spock@linux.org.ve hsandoval@ven.org hugospock@yahoo.com 58-261-7560687 58-416-4617402 58-261-7560836 ********************************* "Linux se escribe con 1 'L': L de Libertad. Microsoft se escribe con 4 'M': Monopolio. Malo. Muy Malo." HS: caviliáte!
El 2005-03-19 a las 04:58 -0400, Hugo Sandoval escribió:
Hola a todos.
Edita en tu PC que sirve de firewall el archivo: /etc/sysconfig/SuSEfirewall2 Busca el valor de la seccion 14 y le colocas lo siguiente:
FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,80,80,192.168.2.80"
Explico que significa cada cosa (trato ;-) - 0/0 significa todos los ips, es equivalente a escribir: 0.0.0.0/0.0.0.0 - 192.168.1.1 es el ip de la tarjeta que apunta hacia afuera en el PC firewall. - tcp es el protocolo que estas utilizando en tu servidor web - 80,80 es el puerto de origen y destino respectivamente. El primer 80 es hacia el puerto que trataran de conectarse las pc desde fuera y el segundo puerto es el puerto destino, el servidor web real que esta dentro de la red. - 192.168.2.80 es tu servidor web real.
Creo que su caso es un poco distinto, porque son dos servidores web a los que quiere acceder, con una unica IP externa. La maquina que dice hace de cortafuegos tiene un servidor web, pero luego en la intranet hay otra maquina (que no es un PC, es un ¿PLC?) accesible por http desde la intranet. Para poder acceder por http a ambos desde el exterior, uno de los dos debiera responder en otro puerto. O sea, habría que trasladar el acceso aparente desde el exterior al PLC en otro puerto cualquiera del cortafuegos. Si no he entendido mal la sintaxis, sería algo como: FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,81,80,192.168.2.80" Ahora, que SuSE recomienda no usarlo: # Please note that this should *not* be used for security reasons! You are # opening a hole to your precious internal network. If e.g. the webserver there # is compromised - your full internal network is compromised!! Sería mejor que ese PLC estuviera en la DMZ. Ahora, lo que yo no se es si se podría, con el apache del cortafuegos, replicar la pagina web interna, como si fuera un proxy. Si, como un proxy puesto al revés. En el peor de los casos, un cron corriendo wget valdría. -- Saludos Carlos Robinson
Creo que su caso es un poco distinto, porque son dos servidores web a los que quiere acceder, con una unica IP externa. La maquina que dice hace de cortafuegos tiene un servidor web, pero luego en la intranet hay otra maquina (que no es un PC, es un ¿PLC?) accesible por http desde la intranet.
Efectivamente: son dos servidores. -El cortafuegos con sus servidores http, ssh, ftp -El PLC interno con su servidor http y ftp.
Para poder acceder por http a ambos desde el exterior, uno de los dos debiera responder en otro puerto. O sea, habría que trasladar el acceso aparente desde el exterior al PLC en otro puerto cualquiera del cortafuegos.
Si no he entendido mal la sintaxis, sería algo como:
FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,81,80,192.168.2.80"
Supongo que si, por lo poco que entiendo, incluso en realidad podría restringirlo a la ip exterior w.x.y.z que realmente me interesa que acceda al PLC: FW_FORWARD_MASQ="w.x.y.z,192.168.1.1,tcp,81,80,192.168.2.80"
Ahora, que SuSE recomienda no usarlo:
# Please note that this should *not* be used for security reasons! You are # opening a hole to your precious internal network. If e.g. the webserver there # is compromised - your full internal network is compromised!!
No entiendo por qué habría un problema de seguridad. ¿No se aplican las reglas del cortafuegos a los paquetes que llegan al puerto 81 y se redirigen al 80 del PLC?
Sería mejor que ese PLC estuviera en la DMZ. En este esquema no sé qué sería mi DMZ, ya que sólo tengo el Cortafuegos-servidor y el PLC. Puede haber otros ordenadores en la red interna.
Ahora, lo que yo no se es si se podría, con el apache del cortafuegos, replicar la pagina web interna, como si fuera un proxy. Si, como un proxy puesto al revés.
En el peor de los casos, un cron corriendo wget valdría.
El problema que veo en este caso es la fata de respuesta. Si ejecuto un cron cada minuto y el PLC controla un proceso que varíe lentamente, sería aceptable, pero si el proceso varía rápidamente, no sería admisible, y eso ¡ejecutando el cron cada minuto!, con una carga al sistema importante. Si se puede, me gusta más el primer método, redirigir el tráfico desde el cortafuegos. Joaquín
El 2005-03-19 a las 20:38 +0100, Joaquin Felipe escribió:
Si no he entendido mal la sintaxis, sería algo como:
FW_FORWARD_MASQ="0/0,192.168.1.1,tcp,81,80,192.168.2.80"
Supongo que si, por lo poco que entiendo, incluso en realidad podría restringirlo a la ip exterior w.x.y.z que realmente me interesa que acceda al PLC: FW_FORWARD_MASQ="w.x.y.z,192.168.1.1,tcp,81,80,192.168.2.80"
Eso es mucho más seguro.
Ahora, que SuSE recomienda no usarlo:
# Please note that this should *not* be used for security reasons! You are # opening a hole to your precious internal network. If e.g. the webserver there # is compromised - your full internal network is compromised!!
No entiendo por qué habría un problema de seguridad. ¿No se aplican las reglas del cortafuegos a los paquetes que llegan al puerto 81 y se redirigen al 80 del PLC?
Si. Pero si la máquina a la que se redirige el trafico tuviera un agujero de seguridad en el servicio que está abierto al exterior, comprometería a la toda la red interna. Es decir, si el PLC tuviera un agujero de seguridad en su servidor http que permitiera acceder y saltar, toda tu intranet estaría coprometida. La idea, supongo, es que las máquinas que ofrezcan servicios al exterior no deben tener acceso al interior. Pero yo no soy un experto en eso, simplemente te copié el párrafo.
Sería mejor que ese PLC estuviera en la DMZ. En este esquema no sé qué sería mi DMZ, ya que sólo tengo el Cortafuegos-servidor y el PLC. Puede haber otros ordenadores en la red interna.
No tienes. La DMZ es una tercera red en la que se ponen los servidores externos, aislada de la intranet. El cortafuegos tendría tres interfaces.
Ahora, lo que yo no se es si se podría, con el apache del cortafuegos, replicar la pagina web interna, como si fuera un proxy. Si, como un proxy puesto al revés.
En el peor de los casos, un cron corriendo wget valdría.
El problema que veo en este caso es la fata de respuesta.
Claro. Por eso dije lo del proxy al revés. Pero no tengo ni idea de como hacerlo.
Si ejecuto un cron cada minuto y el PLC controla un proceso que varíe lentamente, sería aceptable, pero si el proceso varía rápidamente, no sería admisible, y eso ¡ejecutando el cron cada minuto!, con una carga al sistema importante. Si se puede, me gusta más el primer método, redirigir el tráfico desde el cortafuegos.
Si que se puede, claro. -- Saludos Carlos Robinson
Ok, disculpa la respuesta un poco tarde pero no estuve on-line.
Lo que quieres hacer es redireccionamiento IP. Por supuesto que se puede,
la forma de hacerlo va a depender del cortafuego que estas utilizando.
Básicamente cuando una conexión externa intente acceder a la dirección
externa aaa.bbb.ccc.ddd, puerto 81, redireccionas a la dirección interna
(por ejemplo) 192.168.0.200, puerto 80, mediante y mediante NAT estableces
la conexión.
Para ayudarte un poco mas necesitamos mas información sobre tu cortafuegos.
Buena suerte....
Marcelo Verdias (URUGUAY)
----- Original Message -----
From: "Joaquin Felipe"
participants (4)
-
Carlos E. R.
-
Hugo Sandoval
-
Joaquin Felipe
-
Marcelo Verdías