为什么Windows机器能解析本地名称?

前端之家收集整理的这篇文章主要介绍了为什么Windows机器能解析本地名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个小型网络,WindowsLinux机器连接到D-Link DIR-825路由器.

网络上的Windows计算机可以按名称访问所有其他计算机,而Linux计算机只能通过IP地址访问其他计算机.

我可以在路由器Web管理界面的DHCP客户端状态列表中看到列出名称及其DHCP分配地址的所有计算机.

为什么Linux机器无法通过名称找到任何其他机器,而Windows在查找Linux机器时没有问题?

我不是网络专家,而且我也在研究这个主题的答案.我目前的发现是:

> Windows使用NetBIOS名称,这种协议作为广播协议,允许他们在没有任何中央服务器的情况下找到彼此.
>现代发行版中的Linux机器本身使用称为Avahi的协议,该协议也是与服务器无关的广播协议.本地网络机器具有后缀.local,因此您可以使用ping hostname.local从Linux ping到Linux,或使用avahi-discover软件包查看它们. Gnome中的一些应用程序使用avahi列出网络中的计算机(例如,远程桌面查看器)
>在Linux机器上安装SAMBA将为其分配NetBIOS名称(或者,从技术上讲,将使Linux机器在其NetBIOS名称(默认情况下为其主机名)的广播请求中进行广告宣传),并允许Windows机器查找Linux的.
> Gotcha:虽然带有Samba的Linux机器会回复NetBIOS协议请求,但是在Ubuntu这样的发行版中使用默认设置它不会使用NetBIOS作为解析名称方法,这就是为什么Linux机器无法“看到”彼此或者Windows机器.为此,您需要编辑/etc/nsswitch.conf文件并将wins添加到此行的列表中:

hosts:files mdns4_minimal [NOTFOUND = return] dns wins mdns4
>您可能需要安装winbind(以及,如果没有自动安装,libnss-winbind)包以供上述工作.
>因此,对于可见性问题,您可以在所有Linux计算机上安装Samba(并编辑/etc/nsswitch.conf以启用NetBIOS名称解析),或者在Windows计算机上安装Avahi支持.
>至于文件共享,Samba为Windows提供Linux机器文件共享功能.没有必要为Linux机器编辑/etc/nsswitch.conf以在Nautilus的“网络”部分中查看彼此和Windows的共享文件夹(反之亦然)

我希望这有帮助! :d

猜你在找的Windows相关文章