一个 IP 地址,一个域上有多个 nat 服务器

一个 IP 地址,一个域上有多个 nat 服务器

是否可以使用一个域与 NAT 中的服务器连接?

例子

example.ltd - > 12.12.12.12
nat1.example.ltd - > 12.12.12.12 - > 192.168.1.100
nat2.example.ltd - > 12.12.12.12 - > 192.168.1.101
etc..

有可能吗?我只有一个 IP 地址。非常感谢您的建议 :)


再解释一下。

例如我的 IP 是 12.12.12.12

我的域名:domain.ltd 记录 A 绑定到 IP 12.12.12.12

在我的路由器中,DMZ 是: 192.168.1.2 ,因此 traceroute 是 domain.ltd -> 12.12.12.12 -> 192.168.1.2

现在我想将 subdomain.domain.ltd 绑定到 192.168.1.100

是否可以?

// 编辑:非 WWW 服务器怎么办?我可以路由 ssh 端口等吗?

答案1

您可以使用像 nginx 这样的反向代理,根据使用的域名处理请求。方案如下:

Proxy-IP: 13.13.13.13

所有 www 流量通过 NAT -> 13.13.13.13

在 13.13.13.13 上,您有多个不同名称的服务器条目,并且在服务器部分内,nginx 会将您的流量重定向到匹配的主机:

server{
server_name     domain.ltd;
listen          0.0.0.0:80;
proxy_pass      http://12.12.12.12/;
...
}

server{
server_name     nat1.domain.ltd;
listen          0.0.0.0:80;
proxy_pass      http://192.168.1.100/;
...
}

server{
server_name     nat1.domain.ltd;
listen          0.0.0.0:80;
proxy_pass      http://192.168.1.101/;
...
}

更多信息请参见此处:https://www.nginx.com/resources/admin-guide/reverse-proxy/

答案2

antic-eye 是正确的;您可以使用某种代理将网络流量引导到内部主机。我使用 PfSense 在防火墙上使用 squid 来实现这一点。我使用它根据域名将请求发送到正确的内部服务器。

您还可以使用端口转发将任何 tcp/udp 流量发送到特定端口到特定内部服务器。这是常见的做法。

对于基于名称的非 www 协议(如 SSH)的路由,HAProxy 似乎可以工作。您必须阅读有关它的内容;我从未尝试过。我发现了一个关于它的 serverfault 问题。

如何使用 HAProxy 根据主机名转移流量?

相关内容