应用程序需要IP地址,需要它才能进入域


15

我们使用(设计欠佳)的应用程序,它需要我们公司办公室的IP地址,该地址具有静态的公共IP地址。但是,当我们的故障转移Internet启动时,它显然具有不同的静态公共IP地址,然后远程连接就会失败。

如果应用程序接受域名,我将其与动态DNS一起使用,但不接受域名。

有什么办法可以输入IP地址,但是要获取我们的域名?我有两个想法,我还没有尝试过。

  1. 设置一个重定向到我们域名的本地IP地址(例如,将10.0.1.99转到local.ourdomain.com)。但是,我不太确定该怎么做。可以通过Web服务器设置Raspberry Pi。

  2. 购买具有专用IP地址的网络托管,并将其重定向到我们的域,然后可以根据需要进行更新。

关于如何实现这一点的任何想法?


1
什么样的应用?您是说内部托管吗?像某种Ruby或Java甚至JavaScript框架?
JakeGould '17

1
反向代理。将其固定在固定地址,然后将数据包转发到适当的地址。
伊格纳西奥·巴斯克斯·阿布拉姆斯

供应商提供给我们的Windows程序,仅用于从公司办公室发送和检索数据。
MrPeanut

2
您将必须在某个位置使用一个永不更改的IP地址托管一个反向代理。那会花钱的。您是否考虑过将服务移至始终构建冗余的云中?费用可能差不多。使用VPN的另一个建议很有意义。我完全不知道反向代理是如何解决此问题的。
Appleoddity

1
@Appleoddity反向代理只是OP的项目符号点1的实现。您在公司办公室中没有树莓派,但是在运行应用程序的本地网络中。根据OP,在给定场景中这是可行的,因此它可能是最简单,最便宜的解决方案。
Voo

Answers:


37

反向代理是一个好主意,但可能受协议限制。

我可以通过设置VPN(提供安全性-解决该问题,如果该应用编写得不好,不执行DNS查找,也可能也不使用像样的加密货币)来解决此问题。使用VPN意味着您的地址都可以是rfc1918(即私有地址),并且当外部地址更改时,该应用程序甚至都不会在意。


0

当您可以获取Raspberry Pi或Pi Zero并在其上运行Debian并在其上设置iptables来伪装您想要的方式时,VPN有点昂贵

详细信息将取决于您如何设置本地网络,但是总体思路是为Pi提供两个固定的本地地址。

一个地址将被保留用于管理Raspberry Pi。如果需要的话,这就是您要摆弄和更改内容的方式。

另一个将充当远程主数据库(或备份数据库)的代理。

发送到该地址的数据包可以iptables视情况伪装成伪装转发到主要地址或后备地址。NAT将在重新传输之前根据需要更改数据包的源地址和目标地址。

返回的数据包将被NAT重新发送到请求者。

只要没有在包中更深地嵌入IP地址,或者像建立并行连接的经典FTP这样的情况,此方法就可以正常工作。

如果您可以让Pi通知主站点已消失并自动切换到备用站点,则可加分


我免费运行一个vpn,我不明白他为什么不能。他没有向ISP隐藏流量。OPENvpn
FreeSoftwareServers

-4

使用Route53(amazon)或具有备用路由的其他任何DNS。如果使用运行状况检查,则当在主IP上进行运行状况检查失败时,可以分配一个secundairy DNS条目IP。


7
如果应用程序无法解析DNS记录,这有什么帮助?
ydaetskcoR

您将检查主要的互联网IP,而不是设备IP。首要的互联网IP必须解决。如果不是,则意味着您需要故障转移。
拉蒙·芬肯

@Ramon考虑到应用程序从不使用DNS记录,改编DNS记录将有多大帮助?
Voo

4个IP:一个主Internet IP,一个B后备Internet IP,C该设备IP,D该设备后备IP,您将对IP A进行健康检查并为该设备返回IPC。如果A
掉线

1
@Ramon应用程序已在某些配置中“连接到IP ABCD”进行了硬编码,确切的问题是它没有询问应使用哪个IP。还是他们应该为每个服务器IP多次运行应用程序然后切换应用程序的想法?假设没有许可问题,并且可以将应用程序配置为共享存储状态,并且可以同时运行具有相同存储的多个应用程序没有问题(对于绝大多数应用程序来说,这似乎不太可能),那么这可能会起作用。
Voo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.