在 Virtualbox Ubuntu 服务器上拥有自己的主机、自己的域名 - 动态 IP

在 Virtualbox Ubuntu 服务器上拥有自己的主机、自己的域名 - 动态 IP

我已经购买了 TLD 域名,例如 domain.com。我想做的是将这个地址下的网站托管在我自己的电脑上。我被分配了一个动态 IP,并且我也位于本地网络中的路由器后面。我将在本地网络中可用的虚拟机机器上的 ubuntu 服务器上运行网站。

最好的情况下,我希望在某个服务器上拥有自己的域名,这样我就可以根据自己的需要进行尽可能多的实验(因此它仅用于教育目的),但我买不起这样的服务。

这可行吗?您能否提供我需要采取的配置步骤(可能只是一般性解释)。我需要一些指导,拜托。

答案1

对于像你这样的设置,你将需要:

  • 动态 DNS 条目。
  • 在路由器中设置 PAT 重定向
  • 在您的网络服务器上使用某种类型的虚拟主机(如果有多个站点)

关于动态 DNS,我看到两种解决方案:

  • DNS 服务器(可能位于注册商处)将为您的域名提供权威性,您将向其更新 IP 地址
  • 您将更新(可能使用您的路由器)的免费动态 DNS 服务(dyndns,no-ip),并且 domain.com 将是该动态 DNS 的 CNAME。

答案2

我运行的设置非常相似。在虚拟机上运行服务器的秘诀是不要再将其视为虚拟机。我目前使用自己的域名,并且區域編輯使用相当自定义的 hack 动态 dns 脚本来管理我的域名(我的 ISP 有一些奇怪的透明代理,完全与大多数动态 dns 客户端混淆 - 我从路由器上抓取我的 ip 地址,并将其传递给 zoneedit)。他们有这样的客户端,优点是您可以免费使用自己的域名。

DMZ 不是最佳解决方案 - 根据需要在路由器上打开并转发到 VM 的端口。它更安全。

除了网络托管之外,虚拟主机不是问题 - 你可以像对待任何系统一样进行操作 - 将域名指向服务器 ip,其余部分在应用程序级别处理。

答案3

我建议坚持使用 petrus 的第二种解决方案,因为对于您来说这是最简单的。

它不会阻止您使用虚拟主机,因为您可以设置任意数量的 CNAME 条目来指向您的单个动态 DNS 条目。如果您的 DNS 主机允许通配符条目,则您可以在主服务器之外为每个子域提供服务,只需在您的 Web 服务器中配置虚拟主机即可。

另一个重要部分是让您的 Virtualbox 服务器从外部访问。您需要确保您的路由器可以与您的 VM 通信。这可能涉及将您的 VM 网络接口桥接到与路由器连接的主机 LAN 接口。

[Internet]---dyn ip---[router]---internal ip---[host server]---bridge---[virtualbox vm]

只是需要小心网络部分。它可能会感染一些人。

相关内容