3

Я читаю это как руководство для доступа к сети Windows из Linux с помощью samba.

Компьютер, к которому я хочу получить доступ в моей сети, называется HP , следующие команды работают нормально:

smbclient -L HP
smbclient //HP/D

Но, когда я хочу смонтировать его, я получаю:

$ smbmount //HP/D /media/hp/d/
mount error: could not resolve address for HP: No address associated with hostname
No ip address specified and hostname not found

Ошибка кажется странной, если она не может разрешить HP , как smbclient прочитал ее ?!

ОБНОВИТЬ

Я не хочу указывать IP-адреса вручную, потому что они имеют тенденцию меняться время от времени.

6 ответов6

4

Это странно ... обычно smbmount может самостоятельно определять имена. Однако, поскольку это не так, вы можете использовать nmblookup, чтобы выяснить, какие методы разрешения работают, а затем использовать его как часть команды mount. Например, если вы используете сервер WINS:

$ nmblookup -R -U 172.16.1.3 Haruhi
querying Haruhi on 172.16.1.3
172.16.1.3 Haruhi<00>

тогда вы можете извлечь его с небольшой работой с оболочкой:

$ nmblookup -R -U 172.16.1.3 Haruhi | grep 'Haruhi<00>' | cut -d' ' -f1
172.16.1.3

так что вы можете собрать все это вместе:

smbmount //HP/D /media/hp/d/ -o ip=`nmblookup -R -U 172.16.1.3 HP | grep 'HP<00>' | cut -d' ' -f1`

и поэтому у вас нет IP-адреса в списке.

3

На Debian и, возможно, на других, установите winbind:

apt-get install winbind

И убедитесь, что «/etc/nsswitch.conf» имеет "побед" в строке "хосты", как в:

hosts: files dns wins

Этот второй, возможно, уже был сделан для вас.

Пакет создает файл /lib/libnss_wins.so

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/integrate-ms-networks.html#id2668413

Затем вы можете просто добавить записи в файл /etc /fstab.

1

Я пытался смонтировать мои медиа-стримеры, подобные самбе. Общий ресурс называется playonhd, и использование smbclient -L //playonhd работает, но

sudo mount -t cifs -o guest //playonhd/HDD1 /mnt/box

не.

Мой способ обойти это без указания ip в команде mount - использовать псевдоним, который я настроил в /etc /hosts:

192.168.1.27 box

Который позволяет

sudo mount -t cifs -o guest //box/HDD1 /mnt/box

использоваться. Я знаю, что IP-адрес все еще должен быть указан, но в моем случае это было нормально, так как он уже был в файле hosts, и я не хотел указывать его в cl.

0

Вы можете указать IP-адрес с переключателем параметров, добавьте это в конец:

-o ip=111.111.111.111

очевидно, заменив IP на соответствующий IP-адрес сервера.

0

Предполагая, что у вас настроен winbind, я присоединяю .local после того, как имя хоста сработало для меня. Например: sudo smbmount //mycomputername.local/storage /media /storage /

0

У меня всегда были проблемы с монтированием smbmount основе имени хоста. Попробуйте mount.cifs , он работает для меня, где smbmount нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .