在 ubuntu 13.10 中设置 netbios 客户端

在 ubuntu 13.10 中设置 netbios 客户端

我有两台笔记本电脑,上面装有 ubuntu 13.10 x64。我希望它们都能够通过主机名或 netbios 名称(在我的情况下是相同的)相互 ping 和挂载。这两台计算机分别称为gluk47-notebookgluk47-pc(这实际上是一台 14 英寸笔记本电脑)。谜团在于:笔记本电脑可以 ping 通 PC,但 PC 不能 ping 通。

以下是我所拥有的:

[root@gluk47-pc ~]# egrep '^hosts' /etc/nsswitch.conf 
hosts:          files wins dns mdns4
[root@gluk47-pc ~]# grep wins /etc/samba/smb.conf 
   wins support = yes
;   wins server = w.x.y.z
;   name resolve order = lmhosts host wins bcast
[root@gluk47-pc ~]# service winbind status
winbind start/running, process 1633
[root@gluk47-pc ~]# service smbd status
smbd start/running, process 712
[root@gluk47-pc ~]# smbtree -N
EARTH
        \\GLUK47-PC                     gluk47-pc server (Samba, Ubuntu)
                \\GLUK47-PC\print$              Printer Drivers
                \\GLUK47-PC\IPC$                IPC Service (gluk47-pc server (Samba, Ubuntu))
        \\GLUK47-NOTEBOOK               gluk47-notebook server (Samba, Ubuntu)
                \\GLUK47-NOTEBOOK\Home                  Домашний принтер
                \\GLUK47-NOTEBOOK\print$                Printer Drivers
                \\GLUK47-NOTEBOOK\software       
                \\GLUK47-NOTEBOOK\video          
                \\GLUK47-NOTEBOOK\IPC$                  IPC Service (gluk47-notebook server (Samba, Ubuntu))
[gluk47@gluk47-pc ~]$ ssh gluk47-notebook
ssh: Could not resolve hostname gluk47-notebook: Name or service not known

地址解析器的答案是即时的,不像通常的 smb 每次操作都会延迟。

之后我直接通过 ip 地址进行 ssh 并从笔记本上获得以下内容:

[root@gluk47-notebook ~]# egrep '^hosts' /etc/nsswitch.conf 
hosts:          files dns wins [NOTFOUND=return] mdns4_minimal mdns4
[root@gluk47-notebook ~]# grep wins /etc/samba/smb.conf
   wins support = yes
;   wins server = w.x.y.z
;   name resolve order = lmhosts host wins bcast
[root@gluk47-notebook ~]# service winbind status
winbind start/running, process 2381
[root@gluk47-notebook ~]# service smbd status
smbd start/running, process 23817
[root@gluk47-notebook ~]# smbtree -N
EARTH
        \\GLUK47-PC                     gluk47-pc server (Samba, Ubuntu)
                \\GLUK47-PC\print$              Printer Drivers
                \\GLUK47-PC\IPC$                IPC Service (gluk47-pc server (Samba, Ubuntu))
        \\GLUK47-NOTEBOOK               gluk47-notebook server (Samba, Ubuntu)
[root@gluk47-notebook ~]# smbclient -NL GLUK47-NOTEBOOK
Connection to GLUK47-NOTEBOOK failed (Error NT_STATUS_UNSUCCESSFUL)

此错误持续存在,我陷入困境。我错过了什么?到目前为止,Google 不是我的朋友 :(

顺便说一句,如果我将 PC 放在上面gluk47-notebook/etc/hosts一切都会正常(我在写这篇文章时,通过 wine 直接从笔记本电脑的 samba 共享在 PC 上玩游戏),但我需要动态 netbios,而不是这个静态手工制作的 hosts 文件……PC 也无法通过 netbios 名称 ping 网络中的其他机器。笔记本电脑可以成功 ping 它们。其他机器可以 ping PC 和笔记本电脑。

答案1

由于您已经知道将 wins 选项放入 nsswitch.conf,我在这里直接给您一个答案:您还应该安装软件包“libnss-winbind”,以便您的机器可以通过 WINS/NetBIOS 解析名称。在 Ubuntu 13.04 及以下版本上安装 winbind 时会自动安装该软件包。

相关内容