如何才能使我的网站无需静态 IP 并通过虚拟机访问互联网?

如何才能使我的网站无需静态 IP 并通过虚拟机访问互联网?

我有 Windows 8 主机,并在 vmware 中安装了 Ubuntu 14.10 服务器作为虚拟机。我已经安装了 LAMP 服务器,并试图从中托管一个网站。我创建了一个虚拟主机。当我转到地址 192.168.0.106 时,我的网站可以在主机中访问。

我已通过 wifi 路由器连接互联网。我没有静态 IP。当我转到路由器信息时,我得到了以下信息:

局域网

  • MAC 地址:B0:C5:54:83:90:FA
  • IP地址:192.168.0.1
  • 子网掩码:255.255.255.0
  • DHCP 服务器:已启用

互联网

  • MAC 地址:B0:C5:54:83:90:FB
  • IP地址:10.30.195.241
  • 子网掩码:255.255.224.0
  • 默认网关:10.30.192.1
  • DNS :113.193.5.23, 113.193.12.14

当我在 Google 中搜索“我的 IP 是什么”时,我得到的结果是:113.193.56.198,无论是在主机操作系统还是在客户机操作系统中。

现在,我的问题是如何从互联网访问我的网站?我知道我必须在 ubuntu 中编辑 hosts 文件和虚拟主机配置文件,但我必须使用哪个 ip 地址?我需要设置 dns 服务器吗?我在 godaddy 注册了一个域名,我想知道在域名设置页面的“指向”中应该输入哪个 ip 地址。

基本上,我想知道我应该在地址栏中输入哪个 IP 地址来访问我的网站,即使它只能工作一天,以及如何在 ubuntu 中编辑 hosts 文件和配置文件以使用该 IP。我尝试在许多论坛中搜索,但没有找到我需要的那种清晰度。

答案1

最后,它相当简单。

  1. 记下您的外部 IP 地址。
  2. 根据需要更新您的 DNS 记录以将您的域名指向您的 IP 地址。
  3. 将端口 80 和 443 转发到 Web 服务器。
  4. 确保没有其他东西(例如防火墙)阻止流量。

如果您的 ISP 允许端口 80 流量,并且您的 Web 服务器正确地为网站提供服务,那么它应该可以工作。

诀窍是这样的:

使用代理网站,例如如果您尝试从与 Web 服务器相同的路由器后面访问您的网站,请尝试访问您的网站。或者使用连接到另一个网络的手机或其他移动设备。

重点是,如果不进行进一步配置,您无法使用互联网地址从与您的网络服务器相同的网络访问您的网站;但进一步的配置通常会阻止数据包离开您的网络,这会违背尝试使用网址查看它是否可以在互联网上的任何地方运行的目的。

答案2

假设您可以从互联网访问网关,则需要在路由器上设置端口转发以将流量发送到虚拟机。这只回答了问题的后半部分。

如果您的 ISP 确实使用了 NAT,则需要联系他们,了解他们是否允许您按照自己的意愿从外部访问您的计算机。如果可以,他们应该会为您提供需要指向的 IP。

步骤因路由器而异,但有一个端口转发功能,除非路由器很便宜,否则它可能不支持此功能,在路由器设置的某个地方。您需要登录路由器并找到它。然后,您需要将端口 80 和 443 上的流量(分别用于 http 和 https)转发到虚拟机。您将其转发到内部 IP。因此,当来自网络的流量到达路由器时,它就知道将其发送到网络上的哪个位置。

相关内容