因此,我将一些驱动器(在我的 Ubuntu 桌面中)共享到我的笔记本电脑(Windows),但我只希望能够在本地网络上访问它。我通过在 smb.conf 中添加以下行来使其工作,其中 192.168.1.1 是我的笔记本电脑 IP(仅作为示例)。但如果我使用笔记本电脑主机名而不是 IP(例如),hosts allow = 127. 192.168.1.1
它将不起作用。hosts allow = 127. Z1-B
我已经运行了sudo apt install winbind libnss-winbind
,现在可以运行了ping Z1-B
。不幸的是,这并没有解决问题。我该怎么做才能允许 Ubuntu 上的 samba 将 Windows 主机名转换为 IP?
答案1
为了仅允许本地网络中的人员,您可以在共享下添加hosts allow = 127.0.0.1, 192.168.1.
以允许您的机器以及 192.168.1 子网上的任何设备访问该共享。
要允许特定主机名,您应该在 IP 和主机名之间使用逗号。您可以这样做hosts allow = 127.0.0.1, Z1-B
如果有帮助请考虑投票
答案2
我会尝试以下操作:
- 更改配置后重新启动 samba
- 将你的 Windows 笔记本电脑添加到 /etc/hosts 文件中。如下所示:
192.168.1.1 Z1-B
并重启后
答案3
我发现将主机名放在主机允许的开头就可以了。例如
hosts allow = Z1-B, 192. 10. #Comma after hostname
dns proxy = yes
hostname lookups = yes
重新启动 Samba ...即使主机名(Z1-B)的反向 DNS 查找失败,它也能正常工作,这对我来说非常好,因为我的主机名是使用 no-ip.com 动态定义的。
作为参考,我使用的是 FreeBSD 12.2 和 SMB 4.13.1