Как я могу подключиться к серверу Samba, используя его имя хоста вместо IP?

14

Я начинающий, когда дело доходит до Linux, и недавно собрал медиа-сервер, на котором хранятся все мои фильмы, под управлением Ubuntu 12.04.

После следующих уроков и форумов я могу успешно пропинговать, по имени хоста и IP, мой рабочий стол Windows и мой медиа-сервер Ubuntu нормально, и наоборот.

Я настроил Samba для установки общего ресурса под названием Movies на моем медиа-сервере. Я также настроил учетную запись на Samba, используя свое имя пользователя Linux, имя пользователя Windows с моим паролем Linux.

Мой ящик Ubuntu теперь виден в моем дереве сети на моем окне win7, как и общий ресурс Movies. однако, когда я пытаюсь получить доступ к общему ресурсу Movies из окна win7, у меня нет разрешения на это.

Я заметил, что, используя статический IP-адрес, который я выдал своему медиасерверу Ubuntu, я могу легко получить доступ к общему ресурсу.

Однако я хотел бы иметь возможность решить эту проблему и получить доступ к общему ресурсу, используя имя хоста моего медиа-сервера Ubuntu.

Извините, если я немного неясен в моей настройке!

user1139093
источник

Ответы:

15

Есть несколько проблем, которые могут привести к этому:

  1. Включение Netbios в вашем файле конфигурации samba

    в своем /etc/samba/smb.confфайле после строки WORKGROUP добавьте следующее:
    netbios name = PC_NAMEГде PC_NAME - это имя вашего ПК, которое будет отображаться в сети. Затем сбросьте службу самбыsudo service smbd restart

  2. Не имея СТАТИЧЕСКИЙ IP

    Нужно установить статический IP-адрес, чтобы другие компьютеры в этой сети могли видеть вас. Это также зависит от вашего роутера и конфигурации вашей сети.

  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
    

    Раскомментируйте строку с надписью name resolve orderи убедитесь, что она bcastявляется первой в списке, а затем должна выглядеть так:

    name resolve order = bcast lmhosts host wins

    Затем перезапустите службу Samba, как я упоминал выше.

Все это при условии, что это проблема Ubuntu, у вас уже установлена ​​Samba, и вы не работаете через Active Directory.

Во многих случаях это также Windows. Вам нужно будет сделать что-то вроде сброса DNS и регистрации на нем. На Windows в терминале (cmd) сделайте следующее:

ipconfig /flushdns
ipconfig /registerdns

Вам нужно перезагрузить компьютер после этого. После этого проверьте, видите ли вы компьютер с Ubuntu, например, net viewв Windows.

Луис Альварадо
источник
Фантастический ответ Луис !! Все, что я сделал, это ввел строку netbios с названием моей коробки с Ubuntu, и это сработало сразу - спасибо!
user1139093
Рад, что это сработало, я поставил несколько вариантов, потому что в зависимости от конфигурации сети, версии Windows, настройки маршрутизатора и т. Д. Решение может измениться. Я знаю, что есть и другие варианты, но это те, которые я сделал за эти годы.
Луис Альварадо
2

В моем случае мне пришлось перезапустить службу nmbd

sudo systemctl restart nmbd
danelips
источник
Это добилось цели! Благодарность!
Алексей Косов