LAN 中的另一台机器可以使用 IP 地址(但不能使用主机名)连接到 Apache Web 服务器

LAN 中的另一台机器可以使用 IP 地址(但不能使用主机名)连接到 Apache Web 服务器

我有一个 Apache Web 服务器设置,并尝试配置主机名,以便同一 LAN 网络中的其他计算机可以使用主机名而不是 IP 地址进行连接。在主机上,我可以使用 IP 地址和主机名访问 Apache Web 服务器。从同一 LAN 网络中的另一台计算机,我可以使用 IP 地址访问 Web 服务器,但不能使用主机名。我该如何解决这个问题?

这是我的文件:

/etc/apache2/sites-available/000-default.conf

<VirtualHost *>
    DocumentRoot /var/www/html
    ServerName server100.net
    ServerAlias www.server100.net
    ServerAdmin webmaster@localhost
</VirtualHost>

/etc/hosts

127.0.0.1        localhost
127.0.1.1        home
199.163.65.10    server100.net    www.server100.net

主机是 Ubuntu 22.04 LTS 虚拟机,并尝试从 Windows 10 虚拟机进行连接。如果我需要提供更多信息,请告诉我。

答案1

您的路由器在 DHCP 设置中会有一个名为 的选项Domain Name。这用于解析本地网络中的主机名。您可以运行cat /etc/resolv.conf它将告诉您的搜索域。

例如,如果您的搜索域是,local您可以使用<hostname>.local它通过本地网络访问机器。

答案2

您需要在每个客户端上指定 hosts 文件,以便为每个客户端设置。
或者设置一个 DNS(如 BIND),并将路由器设置为将其作为 DHCP 客户端的 DNS。
您的路由器可能允许您在那里进行设置(机器名称/IP),并使其工作起来更加轻松和省力。如果您正在运行服务器,那么添加 BIND 并不是最糟糕的想法,并且如果您导入黑名单,则可以开始过滤整个 LAN 中的流量。

你还遇到了一个问题:你是否拥有 server100.net?你需要将所有到此站点的流量保留在你的 LAN 内,这又需要 DNS/路由器上的一些本地规则

相关内容