我们使用一个(设计不良的)应用程序,该应用程序需要我们公司办公室的 IP 地址,而公司办公室有一个静态公共 IP 地址。但是,当我们的故障转移互联网启动时,它显然有一个不同的静态公共 IP 地址,然后远程连接就会失败。
如果应用程序接受域名,我会将其与动态 DNS 一起使用,但它不接受域名。
有没有办法输入IP地址但可以访问我们的域名?我有两个想法,但还没有尝试过。
设置一个重定向到我们域名的本地 IP 地址(例如 10.0.1.99 指向 local.ourdomain.com)。但是,我不太确定如何做到这一点。也许可以设置一个带有 Web 服务器的 Raspberry Pi。
购买具有专用 IP 地址的网络托管并将其重定向到我们的域名,然后可以根据需要进行更新。
对于如何实现这一目标您有什么想法吗?
答案1
反向代理是一个好主意,但可能会受到协议的限制。
我会通过设置 VPN 来解决这个问题(它提供了安全性 - 如果应用程序编写得很糟糕,它不会进行 DNS 查找,它可能也不会使用合适的加密)。使用 VPN 意味着您的地址可以全部是 rfc1918(即私有地址),并且应用程序甚至不会关心外部地址何时发生变化。
答案2
当你可以买一台 Raspberry Pi 或 Pi Zero 并在其上运行 Debian,并在其上设置 iptables 以按照你想要的方式伪装时,VPN 就显得有点昂贵了
详细信息取决于您的本地网络如何设置,但总体思路是给予 Pi 两个固定的本地地址。
一个地址将保留用于管理 Raspberry Pi。这样您就可以通过 ssh 进入并根据需要进行更改。
另一个将充当远程主服务器(或备份服务器)的代理。
根据情况,发送到该地址的数据包可能会被iptables
伪装成主地址或后备地址转发。NAT 会在重新传输之前根据需要更改数据包的源地址和目标地址。
返回的数据包将通过 NAT 转回至请求者。
只要数据包中没有嵌入 IP 地址,或者像经典 FTP 那样建立并行连接的情况,这应该可以正常工作。
如果你能让 Pi 注意到主站点已经消失并自动切换到备份站点,那么你将获得加分