entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Redirección interna entre IPs

Esta pregunta no es tanto de programación como de administración pero como conozco par de gurús por aquí igual me pueden echar el cable.

Verán, tenemos un servicio que era ejecutado en una IP (digamos 1.1.1.1 como ejemplo) y ahora ese servicio no se ejecuta más en esa IP porque ahora lo hemos migrado a otra IP (digamos 2.2.2.2 como ejemplo).

Como hacemos que las peticiones a la dirección antigua se redirijan de manera automática a la nueva. Esto quiere decir que siempre que una petición vaya a 1.1.1.1 deberá mirar por contra en 2.2.2.2

Para mayor aclaración comento que me gustaría hacer esto en las máquinas de la empresa. Es decir, en cualquier máquina que haga una petición a la IP 1.1.1.1 deberá ser direccionada automáticamente a 2.2.2.2, normalmente las peticiones son a través de un navegador, pero no con una app web que pueda ser recodificada.

Parece un poco complicado de entender pero espero que lo comprendan. Es similar a los que hace el archivo etc/hosts con nombres convertidos en IP pero con IP convertidas en otras IP.

Las máquinas de los usuarios de la empresa utilizan Windows 7. No podemos enrutar todas las peticiones de 1.1.1.1 a 2.2.2.2 internamente? Sin tener que tocar el router? De forma "sencilla" como se hace cuando se edita el archivo hosts?

Muchas gracias de antemano, espero quedara suficientemente clara la pregunta.

1voto

carlossevi comentado

¿Cuál es el SO del dispositivo 192.168.X.X? Si es Linux debería poder hacerse por iptables, de todas formas requeriría que ambos estuvieran funcionando. Si quieres poder desconectar el primero, debería hacerse la redirección desde un elemento de red (router).

Me parece que es un buen momento para que te plantees trabajar con DNS en la red local =)

0voto

ankeorum comentado

Todos los sistemas operativos de la empresa son Windows (windows 7 las máquinas y los servidores Windows Server 2012). Encontré manera de hacerlo en Linux pero ninguna máquina aquí es Linux, en windows pensaba que el archivos Hosts hacía lo mismo que iptables pero no es así, en hosts no puedes hacer:

192.168.1.X(esta es la buena)      192.168.4.Y(esta es la que ya no funciona)

Solo puedes hacer: IP url

0voto

ban007 comentado

DNS es la solución...

0voto

ankeorum comentado

Jajajaja, @ban007 lo sé pero donde tocamos eso? Porque hosts no te vale y es el único DNS accesible en los equipos windows. El router no me deja hacer tablas de enrutamiento así que debo solucionar o en las máquinas cliente o en el servidor controlador del dominio.

0voto

ban007 comentado

En el servidor controlador del dominio haces un DNS donde asignas IP's internas a nombres y además haces un DNS relay si te hace falta acceder a WAN. No me acuerdo muy bien cómo se hacía y si se siguen llamando así los nombres. Pero los clientes W7 deberían de tener el dns apuntando al dominio. Así puedes cambiar las ip's que quieras. También fíjate que estás en dos subnets diferentes y tendrás que usar una netmask adecuada. Por lo general las 192.168.x.x son 255.255.255.0
Para acceder de 192.168.1.x a 192.168.4.y deberías de usar una 255.255.0.0 o un gateway para acceder de una a otra. Se podría complicar más todavía. Lo más fácil es quedarte en el mismo subnet...
En definitiva, creo que el DNS en el ADS es tu opción siempre que el ADS pueda alcanzar la ip 192.168.4.y

1 Respuesta

3votos

carlossevi Puntos63580

La solución manteniendo las llamadas a la IP antigua es configurar el Windows Server 2012 antiguo (el que tiene la IP antigua) para que haga de TCP proxy hacía la nueva IP.

Te dejo un enlace a documentación de Microsoft Technet que explica cómo configurar el Portproxy con comandos de Netsh. No te puedo dar mucho más consejo porque nunca lo he hecho.

Buscando un poco he visto un binario de terceros que en teoría hace el trabajo, aunque es bueno que lo leas más sobre el tema y lo pruebes: RINETD.

Como te decíamos más arriba tanto yo como @ban007 la solución ideal sería que dejárais de consumir los servicios a través de IPs y los consumáis a través de DNS. Supongo que si tu red corporativa está basada en Windows estaréis utilizando Active Directory (AD). Uno de los pilares de toda red es el DNS.

Te doy un ejemplo:

Máquina 1

IP   192.168.0.1
Host server1.midominio.local

Máquina 2

IP   192.168.0.2
Host server2.midominio.local

En el DNS puedes crear un alias (CNAME) que redireccione llamadas:

miservicioweb > server1.midominio.local

A partir de ahí podrás consumir el servicio con la dirección http://miservicioweb.midominio.local. Si en un futuro lo quieres cambiar, te cuesta un golpe de clic.

miservicioweb > server2.midominio.local

0voto

ankeorum comentado

El problema es que la máquina antigua, a donde se hacen las peticiones antiguas, no funciona más, no existe.

0voto

carlossevi comentado

¿Y no es viable darle a la máquina nueva la IP de la máquina antigua?

0voto

ankeorum comentado

No porque además de para las peticiones de ese software (externo a propósito) también la utilizamos para otras cosas.

0voto

carlossevi comentado

¿Y darle un doble direccionamiento? Bien con la misma tarjeta de red o añadiendo más tarjetas. Si la máquina antigua está muerta la solución puede ser esa.

Si fuera un problema de resolución de nombres se puede jugar más, pero si los clientes están configurados para atacar una IP, o bien se redirecciona esa IP desde elementos de red (NAT) o se cambia la configuración en todos los clientes.

0voto

Leonardo-Tadei comentado

Si el servidor viejo no existe más, la mejor solución es la que te propone @carlossevi : agregá una NIC virtual con la IP del viejo servidor en el nuevo, de forma tal que el nuevo servidor tenga las 2 IPs.

0voto

ankeorum comentado

Finalmente para solucionarlo hicimos eso, agregar la IP de la vieja máquina a la nueva. Gracias a todos

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta