在工作中,我可以通过计算机的 IP 或 SMB 名称 ping 和 SSH 计算机。
如果我在家里尝试(不,我没有尝试从家里访问办公室内部网络),则通过 IP 地址 ping/SSH 可以正常工作,但 SMB 名称会失败。
(澄清一下,主持人确实出现了在 smbtree 中并通过 IP 响应 ping,而不是通过 SMB 名称!)。
在工作场所,有一个 PFSense 服务器管理网络。在家里,它只是 DSL 线路上的无线路由器。我家网络上的所有设备都是由 DHCP 发出的 192.168.1.x / 255.255.255.0。
以下是我的家庭网络的一个示例。
user@computer:~$ smbtree -N
WORKGROUP
\\UBUNTU-PC computer server (Samba, Ubuntu)
\\UBUNTU-PC\print$ Printer Drivers
\\UBUNTU-PC\IPC$ IPC Service (computer server (Samba, Ubuntu))
\\FILESERVER fileserver server (Samba, Ubuntu)
\\FILESERVER\Storage
\\FILESERVER\Videos
\\FILESERVER\Photos
\\FILESERVER\IPC$ IPC Service (fileserver server (Samba, Ubuntu))
user@computer:~$ nmblookup fileserver
querying fileserver on 192.168.1.255
192.168.1.9 fileserver<00>
user@computer:~$ ping fileserver
ping: unknown host fileserver
user@computer:~$ ssh fileserver
ssh: Could not resolve hostname fileserver: Name or service not known
$ ifconfig
从我的家用电脑
eth0 Link encap:Ethernet Endereço de HW xx:xx:xx:xx:xx:xx
inet end.: 192.168.1.10 Bcast:192.168.1.255 Masc:255.255.255.0
endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Global
endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Global
endereço inet6: xxxxxxxxxxxxxxx/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
答案1
在 Linux 机器上使用 SMB 名称解析的正确方法是编辑(如下苏) 文件/etc/nsswitch.conf并确保以主办方包含胜利,例如这样:
hosts: files wins mdns4_minimal [NOTFOUND=return] dns
当然,你将无法连接任何没有运行 SMB 服务器的 PC,例如没有下载、安装 Samba 的 Linux 机器,以及没有在/etc/samba/smb.conf文件如下:
workgroup = WORKGROUP
NetBIOS name = MyPCName
您还应该记住,防火墙设置可能会阻止这些请求。