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

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

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

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

有没有办法输入IP地址但可以访问我们的域名?我有两个想法,但还没有尝试过。

  1. 设置一个重定向到我们域名的本地 IP 地址(例如 10.0.1.99 指向 local.ourdomain.com)。但是,我不太确定如何做到这一点。也许可以设置一个带有 Web 服务器的 Raspberry Pi。

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

对于如何实现这一目标您有什么想法吗?

答案1

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

我会通过设置 VPN 来解决这个问题(它提供了安全性 - 如果应用程序编写得很糟糕,它不会进行 DNS 查找,它可能也不会使用合适的加密)。使用 VPN 意味着您的地址可以全部是 rfc1918(即私有地址),并且应用程序甚至不会关心外部地址何时发生变化。

答案2

当你可以买一台 Raspberry Pi 或 Pi Zero 并在其上运行 Debian,并在其上设置 iptables 以按照你想要的方式伪装时,VPN 就显得有点昂贵了

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

一个地址将保留用于管理 Raspberry Pi。这样您就可以通过 ssh 进入并根据需要进行更改。

另一个将充当远程主服务器(或备份服务器)的代理。

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

返回的数据包将通过 NAT 转回至请求者。

只要数据包中没有嵌入 IP 地址,或者像经典 FTP 那样建立并行连接的情况,这应该可以正常工作。

如果你能让 Pi 注意到主站点已经消失并自动切换到备份站点,那么你将获得加分

相关内容