根据子域名分配内部 IP 地址

根据子域名分配内部 IP 地址

我有一个域名,假设为 foo.com。我有一台具有公共 IP 的服务器(服务器 A)。我还有许多服务器(服务器 B、服务器 C、服务器 D 等),它们都与服务器 A 一起连接到私有网络。服务器 B、C、D 没有公共 IP,但它们有内部私有 IP。显然我无法从互联网访问服务器 B、C、D。

我想要一个设置,其中 foo.com 应该指向服务器 A,但我应该能够使用子域访问内部服务器。因此,b.intern.foo.com 应该指向服务器 B,c.intern.foo.com 应该指向服务器 C,d.intern.foo.com 应该指向服务器 C,依此类推。

我所说的“指向”是指 b.intern.foo.com 应该允许我访问服务器 B 的所有端口,而不仅仅是 HTTP 端口(否则我只会使用 Nginx)。这意味着如果我在 b.intern.foo.com 上 ssh,我应该可以访问在服务器 B 上运行的 SSH 服务器。如果我在浏览器上打开 b.intern.foo.com,它应该可以访问在服务器 B 上运行的 Nginx,依此类推。基本上,b.intern.foo.com 应该可以从 Internet 访问服务器 B 的所有端口。

我如何实现这个目标?

答案1

您要求一个完全独立于协议的代理,它具有类似 HTTP 主机标头的内容,但(据我所知)它并不存在。

唯一看起来像这样的东西是 NAT/PAT 解决方案,它将需要与首先使用公共 IP 地址一样多的公共 IP 地址。

答案2

您无法使用单个公共 IP 地址做您想做的事情。当您的网络外部时,即使您让 DNS 返回内部节点的私有 IP 地址,公共互联网也不会为您路由它。如果您将内部节点的外部 IP 地址设置为与服务器 A 相同的地址,那么服务器 A 会认为数据包是发往它的。

相关内容