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。

另一方面,Windows 拒絕連接,除非我輸入 IP 位址,表示無法找到伺服器。

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 台設備免費)。以下是您應該考慮的開源解決方案

  • 網鳥
  • 尾鱗
  • 零層

相關內容