![虚拟机域名](https://linux22.com/image/1545343/%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%9F%9F%E5%90%8D.png)
我开始学习自托管,现在我在一家供应商(So You Start)处拥有一台专用服务器,并在另一家供应商(OVH)处购买了一个域名。
在我的专用服务器上,我安装了 Proxmox VE 和几个虚拟机。我希望我的域名指向我的虚拟机,然后能够为我在虚拟机上安装的每个应用程序设置一个子域名(例如 NextCloud 的 cloud.mydomain.com、TinyTinyRSS 的 news.mydomain.com……)。
我基本上不知道如何做到这一点,而且我无法理解 DNS 服务器、DNS 区域到底是什么...是否有一个清晰的、面向初学者的解释,说明这一切在理论上是如何运作的,以及如何实际实现这一点的任何线索?
干杯
答案1
区域是您的整个域名空间 - *.example.com,包括 example.com 本身。
每个区域都有与主机名及其 IP 地址相关的记录(A 记录或 CNAME 记录),以及其他 DNS 功能,例如哪些服务器负责区域中的名称(NS 记录)、哪些服务器应该接收区域的邮件(MX 记录)、哪些服务器被允许为区域发送邮件(TXT/SPF 记录)等。
如果你希望人们访问https://app1.example.com和https://app2.example.com那么您不需要子域名 - 您只需要主机条目(A 记录或 CNAME 记录)
子域名进一步细分了这一情况 - 因此您可以拥有 *.sub1.example.com - 并且可以控制委托给与父 example.com 区域使用不同的名称服务器的记录。在这种情况下,sub1.example.com 成为其自己的区域,即使它是 example.com 区域的一部分。因此,您可以在那里指定更多主机名 - www.sub1.example.com 。并且,您可以指定所有其他区域级记录 - 名称服务器、mx 服务器、spf 记录等。
您可能还会看到对反向 DNS 的引用。这类似于 DNS,只是它是针对 IP 进行的 - IP 反向查找哪个主机名?这由拥有该特定子网的个人/机构/团体控制。因此,您的服务提供商通常是为您进行这些输入的人,要么由您提交服务单,他们说“我们已经将其设置为我们想要的并且不会更改它”,要么通过向您提供 Web 表单等来填写以更改相应的设置。
多个主机名可以指向任何一个 IP - 而任何一个 IP 只能指向一个主机名。一个主机名可以指向多个 IP(循环 DNS)。
我建议使用您的服务提供商的控制面板或票务系统来处理 DNS 事务,直到您学会如何自己处理。
我建议至少阅读本书的第二章 -http://www.zytrax.com/books/dns/ch2/index.html#concepts