设置静态 IP 时无法通过名称访问

设置静态 IP 时无法通过名称访问

我会尽力提供尽可能多的信息,我对 Linux 还不太熟悉,但我的媒体服务器目前正在运行 Ubuntu Server 18.04.4,并且我正在尝试设置一个静态 IP。

我在网上找到了很多教程,我可以通过编辑一个名为的文件来使其正常工作50-cloud-init.yaml,以下是我的设置:

network:
    renderer: networkd
    ethernets:
        eno1:
            dhcp4: no
            addresses: [192.168.2.46/18]
            gateway4: 192.168.2.1
            nameservers:
                addresses: [192.168.2.1,1.1.1.1]
            dhcp4-overrides:
                hostname: starlight01
                send-hostname: yes
                use-hostname: yes
    version: 2

现在一切正常,我完成了所有的sudo netplan apply事情,我可以通过执行来浏览我的 samba 共享,\\192.168.2.46\但是,我有几个应用程序依赖于机器名称而不是 IP,并且由于某种原因,当它是一个动态 IP 时,我可以输入\\starlight01\,但是当我使用机器/主机名时,它突然停止工作。

我还想补充一点,每台机器都不再能够通过机器名称进行访问。

当它具有静态 IP 时,我可以通过 IP 进行 ping 并得到响应,但通过机器名称进行 ping 会导致超时,但使用动态 IP 进行 ping 对两者都可以正常工作。

我还尝试了以下方法:

  • 重新启动路由器和相关交换机
  • 重启服务器
  • 我的 Windows 机器上的 dns flush
  • 重启我的 Windows 机器
  • 删除dhcp4-overrides该文件的部分内容

答案1

您的客户端计算机始终使用 IP 地址连接到服务器。当您要求它使用计算机名称进行连接时,它会使用某些服务在内部将名称转换为 IP 地址。存在各种名称->IP 转换服务,并且您可能依赖于 DNS(域名系统)。其他选项包括 WINS、MDNS、LLMNR,... 您的客户端计算机可能使用您的网络/WiFi 路由器(或路由器/调制解调器组合单元)作为 DNS 服务器,它使用来自 DHCP 请求的信息来创建本地名称->IP 映射表,它使用该表来响应您的客户端计算机发出的一些 DNS 请求。

当服务器上启用 DHCP 时,会发生以下情况:

  • 当服务器需要获取自己的 IP 地址时,它会向 DHCP 服务器发送 DHCP 请求;通常是发送到您的 WiFi 路由器或路由器+调制解调器。
  • DHCP 请求包括发出 DHCP 请求的机器的名称。
  • DHCP 服务器为机器分配一个 IP,并将 IP/名称对记录在内部数据库中。
  • DHCP 服务器将 IP 发送回给服务器供其使用。
  • 每当另一个系统使用 DNS 协议请求与服务器名称相关联的 IP 时,DNS 服务器首先查阅由 DHCP 服务器创建的本地数据库,如果存在匹配的条目,则提供答案(否则它将继续查询整个 Internet)。

当您使用静态 IP 地址时,不会发出 DHCP 请求,因此 DHCP/DNS 服务器永远没有机会将相关条目添加到本地名称/IP 数据库中。

正如其中一条评论中提到的,您可能可以使用servername.local作为名称而不是servername,这样它就可以工作(这使用 MDNS)。Linux 和我认为 Mac 客户端都支持此功能,但 Windows 不支持,除非您安装了支持此协议的非默认软件(例如 Apple 的 Bonjour 软件堆栈)。

由于我看到您的问题中有 UNC 路径(以 \ 开头),因此我假设您的客户端计算机是 Windows,并且您在服务器上运行 Samba。在这种情况下,您可以告诉 Samba 充当 WINS 服务器。WINS 是另一个名称->IP 映射协议。我认为您的客户端计算机将找到 WINS 服务器并自动开始查询它以进行名称查找,至少对于 Windows/Samba 文件共享协议而言是这样。如果不是,您可能需要:- 在路由器上启用 WINS 服务器,并告诉 Samba 向其注册,或者 - 配置路由器的 DHCP 服务器以告知客户端有关在您的文件服务器上运行的 WINS 服务器的信息。

相关内容