PDA

Bekijk de volledige versie : Собрать smb шары с машин в сети и расшарить их по фтп наружу



DeathMoroz
31-08-2007, 02:29
Приветы,
подскажите сценарий.

хочу допустим с двух машин в моей локалке, некоторые их виндовые шары выставить наружу через фтп роутера. Я так понимаю их просто надо смонтировать на роутере туда, куда монтироуется флешка.

WL500gP прошивка от Олега 1.9.2.7-7g. Поддерживает ли она монтирование smb шар?

Lt_Flash
31-08-2007, 12:16
mkdir /mnt/share/temp1
mkdir /mnt/share/temp2
mount -t smbfs -o <опции типа кодировки> //<server>/share /mnt/share/temp1
mount -t smbfs -o <опции типа кодировки> //<server>/share /mnt/share/temp2
Соответственно далее настроить фтп-сервер чтобы пускал анонимом в папку /mnt/share.

DeathMoroz
31-08-2007, 13:57
mkdir /mnt/share/temp1
mkdir /mnt/share/temp2
mount -t smbfs -o <опции типа кодировки> //<server>/share /mnt/share/temp1
mount -t smbfs -o <опции типа кодировки> //<server>/share /mnt/share/temp2
Соответственно далее настроить фтп-сервер чтобы пускал анонимом в папку /mnt/share.

Это раз
[admin@(none) root]$ mkdir /mnt/share/films
mkdir: Cannot create directory `/mnt/share/films': No such file or directory
[admin@(none) root]$ mkdir /mnt/share
mkdir: Cannot create directory `/mnt/share': Read-only file system
[admin@(none) root]$

это два
[admin@(none) root]$ mount -t smbfs //10.10.10.230/MUSIC /mnt
mount: Mounting //10.10.10.230/MUSIC on /mnt failed: No such device

vsu
31-08-2007, 18:53
[admin@(none) root]$ mount -t smbfs //10.10.10.230/MUSIC /mnt
mount: Mounting //10.10.10.230/MUSIC on /mnt failed: No such device
В /proc/filesystems можно увидеть список файловых систем, поддерживаемых ядром (но этот список может быть неполным, если какие-то файловые системы собраны как отдельные модули, которые в данный момент не загружены).

Кроме того, для монтирования smbfs требуются специальные программы smbmount (или /sbin/mount.smbfs для монтирования через mount -t smbfs - но не уверен, что реализация mount из busybox поддерживает вызов таких внешних программ) и smbmnt; эти программы собираются вместе с Samba. Дело в том, что код smbfs в ядре не умеет самостоятельно устанавливать соединение с сервером - программа smbmnt выполняет установку соединения и передаёт уже подготовленный сокет ядру (причём процесс smbmnt не завершается, пока ФС не будет отмонтирована - на случай, если потребуется повторная установка соединения после его сброса по неактивности или по другим причинам).

Наконец, smbfs довольно плохо ведёт себя, если машина, с которой была смонтирована ФС, перезагружается или выключается - вряд ли всё это будет работать надёжно, если даже установить недостающие компоненты.

Lt_Flash
31-08-2007, 19:42
Согласен, бизибокс не умеет смбфс монтировать, надо использовать smbmount из комплекта samba.

По поводу каталогов - ну, просто забыл указать что еще надо сделать папку /mnt/share. И еще ошибся - делать надо в /usr/local, а не в /mnt, виноват.

DeathMoroz
01-09-2007, 16:50
В /proc/filesystems можно увидеть список файловых систем, поддерживаемых ядром (но этот список может быть неполным, если какие-то файловые системы собраны как отдельные модули, которые в данный момент не загружены).

Кроме того, для монтирования smbfs требуются специальные программы smbmount (или /sbin/mount.smbfs для монтирования через mount -t smbfs - но не уверен, что реализация mount из busybox поддерживает вызов таких внешних программ) и smbmnt; эти программы собираются вместе с Samba. Дело в том, что код smbfs в ядре не умеет самостоятельно устанавливать соединение с сервером - программа smbmnt выполняет установку соединения и передаёт уже подготовленный сокет ядру (причём процесс smbmnt не завершается, пока ФС не будет отмонтирована - на случай, если потребуется повторная установка соединения после его сброса по неактивности или по другим причинам).

Наконец, smbfs довольно плохо ведёт себя, если машина, с которой была смонтирована ФС, перезагружается или выключается - вряд ли всё это будет работать надёжно, если даже установить недостающие компоненты.

Какие предложите альтернативы? винда умеет расшаривать по nfs?
Что будет если шара примонтированая по nfs и тачка с шарой перезагрузится?

Что если маунтить по smbfs но как-нить по крону раз в 5 минут проверять шару на живость :) если нет то маунтить по новой?

Aramaki
07-11-2007, 21:50
Согласен, бизибокс не умеет смбфс монтировать, надо использовать smbmount из комплекта samba.

По поводу каталогов - ну, просто забыл указать что еще надо сделать папку /mnt/share. И еще ошибся - делать надо в /usr/local, а не в /mnt, виноват.


[admin@(none) root]$ smbmount //Maxim/video_new /usr/local/
Password:
ERROR: smbfs filesystem not supported by the kernel
Please refer to the smbmnt(8) manual page
smbmnt failed: 255
[admin@(none) root]$ smbmount username=guest //Maxim/video_new /usr/local/
Could not resolve mount point //Maxim/video_new
[admin@(none) root]$ smbmount username=guest //maxim/video_new /usr/local/
Could not resolve mount point //maxim/video_new
[admin@(none) root]$ ls /usr/local/
drwxr-xr-x 1 admin root 0 Jan 1 2000 .
drwxr-xr-x 1 admin root 0 Jan 1 2000 ..
drwxr-xr-x 1 admin root 0 Oct 25 14:41 etc
drwx------ 1 admin root 0 Jan 1 2000 root
drwxr-xr-x 1 admin root 0 Oct 25 14:42 sbin

В чем ошибка? в proc/filesystems ntfs присутствует

pazik
07-11-2007, 22:12
ERROR: smbfs filesystem not supported by the kernel
Т.е. файловая система smbfs ядром не поддерживается (либо модуль не загружен).

Поддержка ntfs нужна для того, чтобы Вы могли подмонтировать локальный (USB) диск с NTFS. К данному вопросу она отношения не имеет.

Aramaki
07-11-2007, 22:23
Т.е. файловая система smbfs ядром не поддерживается (либо модуль не загружен).

Поддержка ntfs нужна для того, чтобы Вы могли подмонтировать локальный (USB) диск с NTFS. К данному вопросу она отношения не имеет.

а что делать? я так понимаю что т.к. пишет и читает с диска машина под ХР это вообще не важно?

как застваить все работать?

pazik
08-11-2007, 12:47
Для монтирования дисков на компьютере с linux и ядрами 2.4.x нужно добавить поддержку smbfs в ядро (модулем или вкомпилировать), т.е. в конфиге для компиляции ядра должно стоять CONFIG_SMB_FS=m либо CONFIG_SMB_FS=y.
Если поддержка реализована модулем, то нужно этот модуль загрузить перед монтированием сетевых ресурсов (insmod smbfs).

Думаю, здесь нужно сделать так-же. Увы, проверить пока не на чем.

Aramaki
11-11-2007, 11:48
[admin@(none) root]$ insmod smbfs
insmod: smbfs.o: no module by that name found

к сожалению не пашет :(

Mam(O)n
12-11-2007, 21:33
В прошивке ядро собрано без поддержки smbfs. Я собрал этот модуль для прошивки 1.9.2.7-8, вроде как работает, шару смонтировать удалось.

perf
24-11-2007, 15:08
В прошивке ядро собрано без поддержки smbfs. Я собрал этот модуль для прошивки 1.9.2.7-8, вроде как работает, шару смонтировать удалось.
спасибо за модуль! у меня с ним тоже работает.

Antosha
24-11-2007, 20:28
при команде с родной самбой пишет ошибку:



[antosha@Antosha-r root]$ mount -t smbfs -o //Fileserver/Video /usr/local/share
mount: Cannot read /etc/fstab: No such file or directory

vanyas
25-11-2007, 04:00
при команде с родной самбой пишет ошибку:



[antosha@Antosha-r root]$ mount -t smbfs -o //Fileserver/Video /usr/local/share
mount: Cannot read /etc/fstab: No such file or directory


"-o" убери, надо так:
mount -t smbfs //Fileserver/Video /usr/local/share

Antosha
25-11-2007, 22:34
Теперь пишет:

[antosha@Antosha-r root]$ mount -t smbfs //Fileserver/Video /usr/local/share
mount: Mounting //Fileserver/Video on /usr/local/share failed: No such device


Ltkf. для того, что бы кпк видел папки другого сервера, т.к. у админа что-то не так и при коннекте на него с кпк выдает что команда неизвеста, нет поддержки таких команд.

^^V^^
12-12-2007, 10:44
Подскажите кто знает почему при попытке монтирования получается вот это:

mount -t smbfs //192.168.0.4/Eureka
mount: Cannot read /etc/fstab: No such file or directory

ABATAPA
12-12-2007, 11:42
Подскажите кто знает почему при попытке монтирования получается вот это:

mount -t smbfs //192.168.0.4/Eureka
mount: Cannot read /etc/fstab: No such file or directory

Потому что команда mount или требует обязательных атрибутов "что", "куда", или ищет недостающий из них в /etc/fstab.
У Вас указано что монтировать, но не указано куда.

^^V^^
12-12-2007, 12:17
тогда имеем это:

mount -t smbfs //192.168.0.4/Eureka //usr/local/share/temp1
mount: Mounting //192.168.0.4/Eureka on //usr/local/share/temp1 failed: No such device

ABATAPA
12-12-2007, 12:41
тогда имеем это:

mount -t smbfs //192.168.0.4/Eureka //usr/local/share/temp1
mount: Mounting //192.168.0.4/Eureka on //usr/local/share/temp1 failed: No such device


Смотрите dmesg.

^^V^^
12-12-2007, 15:29
Все разобрался,работает через вот такой скрипт:

#!/bin/sh

if mount | grep /tmp/local/share/temp1 ; then #is already mounted
smbumount /tmp/local/share/temp1
echo -n "/tmp/local/share/temp1 unmounted "
date
else # is not mounted
smbmount //192.168.0.4/Eureka /tmp/local/share/temp1 -o rw,guest
sleep 1
echo -n "SMB-share 192.168.0.4 mounted to /tmp/local/share/temp1 "
date
fi