use*_*313 14 server samba wireless networking dns
好吧,我刚刚进入 Ubuntu 世界进行管理。我发现了类似的线程,除了我可以 ping 我自己的主机名和 IP 地址,我的 windows 可以 ping 我的 linux 主机名,但 Ubuntu 不能 ping windows 主机名。
问题:
我怎么只能通过 IP 地址而不是主机名 ping 到 Windows 计算机?但是Ubuntu可以通过IP地址和主机名ping自己,windows计算机也可以通过主机名ping Ubuntu吗?
Ben*_*oit 23
这里描述的问题可能根本与 DNS 无关。
您必须知道 Windows 可以通过标准 DNS 以外的其他机制将 Windows 主机名解析为其 IP:NetBIOS 查找、WINS、...
正如您所说,您的 Ubuntu 上安装了 Samba,这可能就是正在发生的事情。在您的所有 Windows 机器上,可以开箱即用地将 Windows 名称解析为其 IP 地址。由于 Samba 安装在 Ubunut 上,因此对于您的 Windows PC,他们将 Ubuntu PC 视为 Windows PC,并且可以使用相同的分辨率。
你告诉你你net view在 Windows 上运行,你看到了你的 Ubuntu PC,所以 NetBIOS 名称在你的网络上很好地发布,所以它可以在 Windows 上运行。
要在 Ubuntu 上实现与在 Windows 上相同的行为,您必须安装和配置其他软件。您需要添加一个查找库,允许 Ubuntu 将 NetBIOS 名称转换为 IP。该库包含在libnss-winbind包中。
与任何其他 Ubuntu 软件包一样,您可以通过执行sudo apt-get install libnss-winbind. 可能已经安装了该库,您可以通过执行dpkg -l|grep libnss-winbind.
安装库后,您必须在/etc/nsswitch.conf文件中启用它。该文件是 NSS(名称服务交换机)的配置文件,它定义了 Linux 能够从哪些来源解析主机名、用户名、组名等。
在此文件中,您已经有一行以 开头hosts:,可能看起来像这样
hosts: files dns
Run Code Online (Sandbox Code Playgroud)
这告诉您的系统首先查看/etc/hosts文件,然后查看配置的 DNS 以解析主机名。
你必须这样修改:
hosts: files dns wins
Run Code Online (Sandbox Code Playgroud)
请注意,单词files、dns和wins的顺序很重要。首先,系统会检查本地文件是否有解析,然后会询问 DNS 服务器,最后,如果尚未找到,将执行 NetBIOS 查找。
更新后,要正常运行,您还需要运行winbind服务。包含它的包是libnss-winbind 的一个依赖项,所以它已经安装了。
执行service winbind start以激活它。
在以下情况下,可能会发生主机名到 IP 的转换:
-您在 /etc/hosts 文件中声明它们(不推荐)
- 您从 DNS 服务器获取它。
我想说你的问题可能是你的网络接口配置没有 DNS 服务器或使用的不是 Windows 盒子使用的。如果他们使用 DHCP 接口配置,则通常包括 DNS 配置,并且如果您的网络上有 Windows 域服务器,他们很可能将其用作主 DNS。
尝试:在命令行中输入“nslookup some_machine_name”看看会发生什么。它会告诉您正在使用哪个服务器(如果有)。
华泰
| 归档时间: |
|
| 查看次数: |
36422 次 |
| 最近记录: |