kev*_*ler 0 networking domain-name-system nat ipv4
我想构建一个动态创建 VM 并为每个 VM 分配公共 DNS 记录的服务,该记录可以是完整域或子域。假设所有 VMS 都位于单个主机上。VM 将使用各种端口在其上运行混合的 TCP 或 UDP 公开服务。主机有一个公共IP地址。
我可以使用 NAT 将域路由到 VM 吗,或者我是否需要更多公共 IP 地址来进行此设置?
其他虚拟化托管公司如何做到这一点?他们有更多的IP块吗?
我可以使用 NAT 对域进行路由吗
不,NAT 不知道 DNS。
我需要更多公共 IP 地址吗
每个服务器 IP:Port 元组需要一个 IP。如果一切都在不同的端口上运行,那么您可以想象所有事情都使用相同的 IP。提醒一下,IP 对 DNS 一无所知,DNS 对服务端口一无所知(除非应用程序专门支持 SRV 记录,由于我不知道的原因,这种情况非常罕见)。
其他虚拟化托管公司如何做到这一点?他们有更多的IP块吗?
应用程序可以识别 DNS(如 HTTP,它使用应用层标头;或 TLS,它使用 SNI,它类似于标头),或者它们为每个目的地使用单独的 IP。