Linux 可以看到主机名,但 Windows 看不到

Linux 可以看到主机名,但 Windows 看不到

我正在为 LAN 聚会做好一切准备,并希望尽可能轻松地连接到服务器。这次聚会上将有 Linux 和 Windows 计算机,因此需要在网络层面兼容这两种操作系统。我不想进入每台客人的计算机并更改设置。

我想要做的是,使用 DD-WRT 路由器,使服务器在主机名 Galadhriel-Server 下可访问。以下是条目信息:

MAC Address: 08:00:27:0d:29:e7
Host Name: Galadhriel-Server
IP Address: 192.168.1.2
Client Lease Time: 1500

路由器可以确认 Galadhriel-Server 使用 DHCP 连接到上述 IP 地址,并且其他 Linux 机器的 ping 也正常。我还可以使用 Linux 上的 Web 浏览器连接到 Galadhriel-Server。

另一方面,除非我输入 IP 地址,否则 Windows 会拒绝连接,并表示找不到服务器。

Windows给出的连接信息:

IPv4 Address: 192.168.1.52
IPv4 Subnet Mask: 255.255.255.0
IPv4 Default Gateway: 192.168.1.1
IPv4 DHCP Server: 192.168.1.1
IPv4 DNS Server: 192.168.1.1

Linux 机器提供的连接信息:

ubuntu@ubuntu:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:c8:f7:ff  
          inet addr:192.168.1.57  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fec8:f7ff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2461 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1553 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1734014 (1.7 MB)  TX bytes:133134 (133.1 KB)

Galadhriel-Server提供的连接信息:

david@Galadhriel-Server:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:0d:29:e7  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe0d:29e7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1654 errors:0 dropped:0 overruns:0 frame:0
          TX packets:503 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:167251 (167.2 KB)  TX bytes:73760 (73.7 KB)

感谢您的帮助!

答案1

为了让计算机通过 DNS 解析 DNS 主机名,它们都需要配置相同的 DNS 后缀,并且都需要配置为使用托管该 DNS 后缀的区域文件的同一 DNS 服务器。路由器上的 DNS“服务器”只不过是一个 DNS 转发器/解析器。它不托管任何 DNS 区域,您的 LAN 客户端可以在其中注册其 A 记录并解析其他 LAN 客户端的 A 记录。

如果 DNS 名称解析不可用,只要启用了网络发现,Windows Vista/7/8 客户端就应该能够通过 LLMNR 解析其他 Windows Vista/7/8 客户端的名称。

对于运行 Windows XP 及更早版本的 Windows 客户端,它们应该能够通过 NetBIOS 名称解析来解析其他 Windows 客户端的名称。

答案2

您没有提供太多有关 LAN 的详细信息,因此很难确切地说出发生了什么。但是,凭借该部门的经验(在同一 LAN 上混合使用 Linux、Mac OS 和 Windows 计算机),最好将所有计算机放在同一子网上,并且所有计算机(包括 Linux 计算机)都具有相同的工作组和/或域名。

您需要在 Samba 中设置该工作组或域名(确保 Samba 和 winbind 以及所有其他依赖项都安装在服务器和 Linux 机器上)。然后,确保所有 Windows 机器都具有与您为服务器设置的相同的工作组和/或域名。还要确保服务器或至少一台 Windows 机器是“主浏览器”。

通常,这些应该足以把所有东西整合在一起。至少对我来说是这样。希望对你来说也是如此。

更新:

我注意到,某些系统可能没有正确配置 Samba,导致所有计算机无法互相访​​问。因此,我添加了以下内容。

如果你仍然看不到 Linux 机器,并且 Linux 机器无法浏览 Windows 网络,请检查以确保以下内容位于 /etc/samba/smb.conf 文件的全局部分中(输入你自己的名称工作组主机名并且不包含尖括号):

workgroup = <workgroup>
netbios name = <hostname>
name resolve order = bcast host

保存文件然后发出以下命令(它们可能根据您的 Linux 版本和发行版而有所不同):

sudo service nmbd restart
sudo service smbd restart

如果您的配置缺少适当的设置,这应该可以解决浏览问题。

答案3

这些都不是具体的解决方案,所以我已经开始在所有设备上安装 VPN。在所有设备上安装 VPN 后,它可以很好地识别设备。

我已经开始使用 netbird(免费,最多 100 台设备)。以下是您应该考虑的开源解决方案

  • 网鸟
  • 尾标
  • 零层

相关内容