我正在为 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 台设备)。以下是您应该考虑的开源解决方案
- 网鸟
- 尾标
- 零层