我有一个简单的家庭网络,其中有 Windows 7 机器和 Linux 机器(Fedora 12 和 13)。我希望能够从 Windows 机器解析 Linux 机器名称。例如:
-- Windows 7 ping mylinuxmachine
目前这个问题还没有解决。有什么想法吗?
答案1
这是一个老问题,但我希望我仍然可以帮助一些陷入这个问题的人。
例如,在 Ubuntu 上您可以执行以下操作:
打开以下文件:/etc/nsswitch.conf
nano /etc/nsswitch.conf
更改此行:
hosts: files dns
到:
hosts: files wins dns
然后安装winbind:
sudo apt-get install winbind
注意:如果您已经安装了 samba,您可能会发现 winbind 已启用。
检查winbind
服务是否存在并且已启用:
sudo systemctl status winbind.service
您可以按如下方式启用该服务:
sudo systemctl enable winbind.service
现在您的 Linux 主机名可以在 Windows PC 上解析。
要找出 Linux 上的主机名,请使用:
hostname
答案2
如果您的网络上没有 DNS 服务器(例如路由器),则需要启用 Samba 服务并在防火墙中打开 NetBIOS 端口(137-139)。Fedora 防火墙工具已为此设置了默认条目(可能被描述为与“Windows 文件共享”有关)。
答案3
我宁愿将名称添加到 ,也不愿与 Samba 和 NetBIOS 名称服务混在一起%SYSTEMDIR%\drivers\etc\hosts
。此文件的格式和功能与/etc/hosts
Linux 上的相同。因此,您可以添加类似以下内容的内容:
192.168.0.50 mylinuxmachine
当然,如果您分配静态(或伪静态)IP 地址,效果会更好。伪静态是指客户端使用 DHCP,但 MAC 地址存储在 DHCP 服务器中,因此它始终给出相同的 IP 地址。您仍然可以这样做,并为其他主机提供正常的动态 IP 地址,只需确保不分配任何属于动态范围的静态地址。