我正在尝试创建一个 DNS 服务器来测试我的 Minecraft 服务器。我读过有关 DNS 工作原理的文章。我见过一些服务器,比如 Google 和 Cloudfare 的服务器,但我不明白。用户是否必须将我的 DNS 服务器 IP 设置为他们的路由器才能获取我的 mc 服务器的 IP?它是如何工作的?
答案1
嗨,我想人们想说的是,像谷歌这样的 DNS 服务在全球范围内可用,这意味着互联网上的任何人都可以使用它们。DNS 系统的简单解释是一个翻译器,你给它一个名字 minecraft.com,它会发回给你一个 IP 地址 1.1.1.1(它不是真正的翻译,而且更复杂。见(https://www.youtube.com/watch?v=Rck3BALhI5c 或者https://computer.howstuffworks.com/dns.htm))
您在家庭网络上创建的 DNS 服务器仅供您和家庭网络上的用户(家用电脑、使用 wifi 的手机等)使用。
如果你从 godaddy 之类的地方购买域名,他们会告诉谷歌,当有人输入 minecraft.edu 时,它应该转发到 ip 地址 1.1.1.1(这不是真正购买域名,更像是租用。)
家庭 DNS 不会为未连接到家庭网络的任何人执行此操作,并且限制更多。如果您愿意,您可以使用从以下位置获取的家庭 IP 地址https://whatismyipaddress.com/如果你将它提供给你的朋友,他们可以从任何地方连接到你的 minecraft 服务器,但是这需要你在网络路由器上打开一个端口,我不推荐这样做(出于安全原因),所以我个人会从谷歌云平台这样的地方租用服务器,他们会为新用户提供一年的免费托管或类似服务。
无论哪种方式,您都可以在互联网上找到很多精彩的教程。
答案2
还有一些问题没有解决,我无法写出简单的答案。幸运的是,这些问题很小,不会让这个答案过于复杂。
当您谈到用于测试的 minecraft 服务器时,您是否只想在您的本地电脑上,还是在整个本地网络中进行测试?(您家里的多台电脑)或者您是否也想让互联网上的电脑也能访问?
当涉及到 minecraft 或其他游戏服务器时,您实际上不需要域名。只要知道 IP 地址和端口,您就可以随时访问服务器。
但是 DNS 可以使连接到您的服务器变得更容易,因为 DNS 会将名称转换为 IP 地址。
例如,如果您拥有域名 myminecraftserver.com,并且您设置了一条 A 记录以指向您的公共 IP 地址,则互联网上的任何人都可以将 myminecraftserver.com 替换为 ipaddress,并且效果相同。当然,路由器上仍需要打开端口。
答案中最大的不同在于范围。你想让它达到多远?如果你只关心你的内部网络,你可以伪造 DNS,这意味着你实际上不需要拥有该域。由于路由器的 DNS 服务器将首先与你分配的任何 DNS 服务器通信,你可以将其指向你在本地托管的 DNS 服务器,在那里你可以说:我希望 mydomain.com 始终提供 123.45.67.89,它就会像那样工作。
如果它只在你的电脑上,你可以修改 hosts 文件,在其中添加一行
mydomain.com 123.45.67.89
它就会像那样工作。
但是如果整个互联网都需要能够连接到您的服务器,那么您实际上必须使用域名注册商在某处获取域名并添加指向您的 IP 地址的 A 记录。您可以选择使用 DynamicDNS 等服务,这些服务允许您使用部分由他们命名但部分由您命名的 subdomain.domain.ext,该子域名指向您的 ipaddress。
例如:mycooldomain.mine.nu 就是其中一个例子。Dyndns 有很多可供选择,但它可能不再免费了。
域名注册商是一种网站托管服务,可为您托管域名本身。一些网站托管提供商同时托管域名和网站空间,如果您愿意,也可以使用它们。