La aplicación requiere una dirección IP, necesita ir al dominio

15

Utilizamos una aplicación (mal diseñada) que requiere la dirección IP de nuestra oficina corporativa que tiene una dirección IP pública estática. Sin embargo, cuando nuestro Internet de conmutación por error se inicia, obviamente tiene una dirección IP pública estática diferente y luego fallan las conexiones remotas.

Si la aplicación aceptara un nombre de dominio, lo usaría con DNS dinámico, pero no acepta un nombre de dominio.

¿Hay alguna forma de ingresar una dirección IP pero obtener nuestro nombre de dominio? Tenía dos pensamientos que aún no había probado.

  1. Configure una dirección IP local que redirija a nuestro nombre de dominio (por ejemplo, 10.0.1.99 va a local.ourdomain.com). Sin embargo, no estoy muy seguro de cómo haría esto. Configure una Raspberry Pi con un servidor web tal vez.

  2. Compre alojamiento web con una dirección IP dedicada y haga que redirija a nuestro dominio que luego podría actualizarse según sea necesario.

¿Alguna idea sobre cómo lograr esto?

MrPeanut
fuente
1
¿Qué tipo de aplicación? ¿Te refieres a algo alojado internamente? ¿Te gusta algún tipo de framework Ruby o Java o incluso JavaScript?
JakeGould
1
Proxy inverso. Pegarlo en una dirección fija y reenviar paquetes a la dirección apropiada.
Ignacio Vazquez-Abrams
Solo un programa de Windows que nos ha proporcionado un proveedor que envía y recupera datos de nuestra oficina corporativa.
MrPeanut
2
Tendrá que alojar un proxy inverso en algún lugar con una dirección IP que nunca cambie. Eso costará dinero. ¿Ha considerado simplemente trasladar el servicio a la nube donde se genera redundancia? El costo es probablemente similar. La otra sugerencia de usar una VPN tiene mucho sentido. No veo cómo un proxy inverso es una buena solución para esto.
Appleoddity
1
@Appleoddity El proxy inverso es simplemente la implementación del punto 1 del OP. No tiene la frambuesa en la oficina corporativa sino en la red local donde se ejecuta la aplicación. Dado que eso es factible en el escenario dado de acuerdo con el OP, probablemente sea la solución más simple y barata.
Voo

Respuestas:

37

Un proxy inverso es una buena idea, pero puede estar limitado por el protocolo.

Solucionaría este problema configurando una VPN (que proporciona seguridad; si la aplicación está mal escrita, no realiza una búsqueda de DNS, probablemente tampoco esté usando una criptografía decente). El uso de una VPN significa que todas sus direcciones pueden ser rfc1918 (es decir, privadas), y a la aplicación ni siquiera le importará cuando cambien las direcciones externas.

davidgo
fuente
0

Una VPN es algo costosa cuando se puede obtener una Raspberry Pi o Pi Zero y ejecutar Debian en ella, y configurar iptables en ella para que se adapte de la manera que desee

Los detalles dependerán de cómo se configuró su red local, pero la idea general sería darle al Pi dos direcciones locales fijas.

Una dirección estaría reservada para administrar Raspberry Pi. Así es como te meterías y modificarías las cosas si fuera necesario.

El otro actuaría como proxy para el primario remoto (o respaldo).

Los paquetes enviados a ESA dirección podrían reenviarse usando iptablescomo una mascarada al primario o al respaldo, dependiendo de las condiciones. NAT alteraría las direcciones de origen y destino del paquete según sea necesario antes de la retransmisión.

Los paquetes que regresan reciben NAT de regreso al solicitante.

Esto debería funcionar bien siempre que no haya direcciones IP incrustadas en los paquetes, o casos como FTP clásico que establezcan conexiones paralelas.

Puntos de bonificación si puede hacer que el Pi se dé cuenta de que el sitio primario ha desaparecido y cambie automáticamente a la copia de seguridad

infijo
fuente
Ejecuto un VPN gratis, no veo por qué no pudo. Él no está ocultando su tráfico de su ISP. OPENvpn
FreeSoftwareServers
-4

Use Route53 (amazon) o cualquier otro dns que tenga una ruta alternativa. Si utiliza comprobaciones de estado, puede asignar una IP de entrada DNS secundaria cuando falla su comprobación de estado en la IP primaria.

Ramon Fincken
fuente
77
¿Cómo ayuda esto si la aplicación no resuelve un registro DNS?
ydaetskcoR
verificará la IP principal de Internet, así que NO la IP del dispositivo. la IP primairy de internet tiene que resolverse. cuando no es así, esto significa que necesita una conmutación por error.
Ramon Fincken
@Ramon Teniendo en cuenta que la aplicación nunca usa el registro DNS, ¿cómo ayudaría exactamente la adaptación del registro DNS?
Voo
4 IP: una IP de Internet primaria, B IP de Internet de respaldo, C IP del dispositivo, D IP del dispositivo de respaldo, comprobará la IP A y devolverá la IP C del dispositivo. si A baja, regrese ip D
Ramon Fincken
1
@Ramon La aplicación ha codificado en alguna configuración "conectar a IP ABCD", el problema exacto es que no está preguntando qué IP debe usar. ¿O es la idea de que deberían ejecutar la aplicación varias veces para cada IP del servidor y luego cambiar de aplicación? Eso podría funcionar suponiendo que no haya problemas de licencia y que sea posible configurar las aplicaciones para compartir el estado almacenado y que no haya ningún problema con ejecutar múltiples aplicaciones con el mismo almacenamiento al mismo tiempo (esto parece muy poco probable para la gran mayoría de las aplicaciones).
Voo