我有安装了 hyper-v 的 windows server 2022。
我创建了一个带有 Windows Server 2022 操作系统的虚拟机,还安装了 Plesk 控制面板。
虚拟机有一个内部IP而不是公网IP,内部IP是:192.168.0.100。
我需要将域名(例如 domain.com)指向虚拟机。
这可能吗?
谢谢..
我有安装了 hyper-v 的 windows server 2022。
我创建了一个带有 Windows Server 2022 操作系统的虚拟机,还安装了 Plesk 控制面板。
虚拟机有一个内部IP而不是公网IP,内部IP是:192.168.0.100。
我需要将域名(例如 domain.com)指向虚拟机。
这可能吗?
谢谢..
当本地 PC 需要使用 IPv4 从互联网访问时,总是需要使用公共 IP 地址。可用的 IP 地址实在太少,无法使用 LAN IP 地址。
因此,为了使虚拟机能够从互联网访问,首先,请访问https://www.whatsmyip.com并记下公共 IP 地址。我在这里假设您不在 CGNAT 后面。
接下来,更改域的 DNS 并将 A 记录设置为此 IP 地址。DNS 更改可能需要长达 48 小时才能在所有地方生效。
接下来,更改网络适配器设置,将其设置为桥接或 NAT。如果使用 NAT,请在 NAT 表中添加端口 80 和 443,然后先从您的 PC 进行测试。
接下来,在路由器中,如果您使用 NAT,则允许端口 80 和 443 转发到您的 PC;如果您使用桥接,则允许端口 80 和 443 直接转发到 VM。
接下来,确保防火墙设置正确。
最后,大多数路由器不支持 NAT 发夹,这意味着可以从网络外部访问 domain.com,但不能从网络内部访问。要解决此问题,请在本地 DNS 服务器中为您的 domain.com 添加一个条目,并将其 A 记录设置为 LAN IP 地址。
现在 domain.com 可以在网络外部和内部运行。
在您说“但我只想使用 LAN IP,因为我无法访问路由器”之前,这意味着它只能在网络内部工作。如果可以使用 IPv6,则无需设置 NAT 规则,但它会严重限制对您服务器的访问。
此外,如果端口 80 和/或 443 不可用,您可以使用其他端口,但假设我们将端口更改为 4443,则域将变为 https://mydomain:4443。路由器上的 NAT 规则将变为 4443 -> 443 并且 VM 仍然使用 443。