如何使用主机名而不是 IP 连接到 Samba 服务器?

use*_*093 15 samba

我是 Linux 的初学者,最近组装了一个媒体服务器,保存我所有的电影,运行 Ubuntu 12.04。

在遵循教程和论坛之后,我可以通过主机名和 IP 成功 ping 通 Windows 桌面框和媒体服务器 Ubuntu 框,反之亦然。

我已将 Samba 配置为在我的媒体服务器上设置一个名为 Movies 的共享。我还使用我的 Linux 用户名、Windows 用户名和我的 Linux 密码在 Samba 上设置了一个帐户。

我的 Ubuntu 盒子现在在我的 win7 盒子上的网络树上可见,电影共享也是如此。但是,当我尝试从 win7 盒子访问电影共享时,我没有这样做的权限。

我注意到通过使用我发布的 Ubuntu 媒体服务器的静态 IP 地址,我可以轻松访问共享。

但是,我希望能够解决该问题并使用我的 Ubuntu 媒体服务器盒的主机名访问共享。

对不起,如果我的设置有点不清楚!

Lui*_*ado 15

有几个问题可能会导致这种情况:

  1. 在 samba 配置文件中启用 Netbios

    在您的/etc/samba/smb.conf文件中,在 WORKGROUP 行之后,添加以下内容:
    netbios name = PC_NAME其中 PC_NAME 是您的 PC 的名称,因为它将在网络中显示。然后重置samba服务sudo service smbd restart

  2. 没有静态 IP

    需要设置静态 IP,以便该网络上的其他 PC 看到您。这也取决于您的路由器和网络配置。

  3. 主机名长度应小于 15 个字符

    如果您的主机名超过 15 个字符,则在某些情况下会出现错误。键入hostname以查看您的主机名。要更改它,您可以:

    sudo sysctl kernel.hostname=NAME

    或者您可以编辑/etc/hostname文件并重新启动。

  4. /etc/samba/smb.conf文件中,查找显示以下内容的行:

    # What naming service and in what order should we use to resolve host names
    # to IP addresses
    ;   name resolve order = lmhosts host wins bcast
    
    Run Code Online (Sandbox Code Playgroud)

    取消注释name resolve order并确保它bcast是列表中的第一行,之后应如下所示:

    name resolve order = bcast lmhosts host wins

    然后像我上面提到的那样重新启动 Samba 服务。

这一切都假设是 Ubuntu 的问题,您已经安装了 Samba 并且您没有通过 Active Directory 工作。

在许多情况下,它也是 Windows。你需要做一些事情,比如刷新 DNS 和注册到它。在终端 (cmd) 中的 Windows 上执行以下操作:

ipconfig /flushdns
ipconfig /registerdns

之后您需要重新启动PC。在此之后,通过net view在 Windows 中执行例如检查以查看是否可以看到 Ubuntu PC 。