linux系统中主机名和域名起什么作用?

linux系统中主机名和域名起什么作用?

我刚刚开始学习网络服务。到目前为止,我知道域名用于网页地址(URL),例如,如果我们有这样的 URL:

http://www.theaddress.thedomain.com/path/to/file.html
  • http://表示正在使用的协议。
  • www是主机名。
  • theaddress.thedomain.com是域名。
  • 等等。

但我对这些术语在 Linux 系统中的使用感到困惑。例如,当我尝试在 VirtualMachine 上安装 Apache2 并将其用作服务器时,我仍然无法使用主机名,而只能在 Web 浏览器中输入我的 VM IP 地址。

它们在系统中做什么?当我们不使用 Linux 作为 Web 服务器时,这些事情重要吗?是否可以用虚拟机的主机名和域名来寻址?或者,这两个仅在服务器上线时使用?

答案1

通常,您必须运行 DNS 服务器才能获取域名,而个人虚拟机通常不需要这样做。您可以使用虚拟机的 IP 地址从 LAN 内部连接到虚拟机,或使用 localhost 从虚拟机内部连接到其自身。如果您确实想要,您可以在您的机器上(不是在虚拟机中,而是在运行虚拟机的操作系统中)编辑主机文件,以包含虚拟机的自定义主机名,基本上,它会将主机名映射到虚拟机的 IP。

答案2

不用让事情变得太复杂,你最初的假设是正确的。

您可以为 Machine-A 指定一个域名,但网络上的其他机器仍然需要“某人”将该名称转换为 IP(如果您尝试 ping 它的话),大多数情况下,“某人”是 DNS 服务器。存在使此发现自动化的服务,即让您的机器通过特定协议广播其主机名,但我们暂时先不讨论这一点。

对于虚拟机来说,需要记住的另一件事是,VirtualBox 等会自动将您的虚拟机置于 LAN 网络中,因此默认情况下您的主机与虚拟机位于不同的网络中。

如果您在虚拟机中使用 Apache,我建议将虚拟机的网络类型设置为“桥接”,这样它就可以像同一家庭网络上的另一台机器一样运行。

关于如何从主机或同一网络中的任何其他机器访问虚拟机(假设您已经设置了桥接网络),您可以在家庭路由器中注册它,大多数路由器都会在其管理控制台上提供注册主机名的选项。

希望这可以帮助。

相关内容