http://wl500g.info/showthread.php?p=119152#post119152
Printable View
Пытаюсь поднять NFS шару.
Не хватает понимания основных вещей:
1. Где лучше прописывать exports? в /etc/exports или в вебморде?
Если прописываю в etc и делаю exportfs -a, валятся ошибки. Потому что нужные сервисы не стартованы. Подскажите, как их стартануть из скрипта?
Пробовал поставить галочку NFS Server в вебморде и перезагрузиться, после этого в /etc/exports появляется
и пусто. все что указал руками - пропало.Code:# automagically generated from web settings
Добавил снова, сделал exportfs -a - выполнилось без ошибок.
Монтирую с клиента - тормоза. Симптомы те же что в этой теме, только
mount вываливает не по timeout, a Internal Error. Прописал клиента в /etc/hosts - не помогло. В логе на роутере
2. Теоретический вопрос, если всё же удастся поднять NFS. Что нужно прописать на клиенте в fstab, чтобы шара монтировалась автоматом при поднятии сети? Будет ли это работать с NetworkManager?Code:Nov 13 21:52:23 syslog: authenticated mount request from lenovo:744 for /tmp/disk/data (/tmp/disk/data)
Заранее спасибо за советы
Похожая проблема (но не такая):
В качестве сервера - eGreat M32B. NFS-server на нем запущен работает, т.к. LiveCD-Linux монтирует и работает с расшаренным ресурсом без проблем.
IP:192.168.222.241/24
cat /etc/exports (eGreat, создается автоматом при (пере)запуске сервера из меню)
/share 192.168.222.0/255.255.255.0(rw,sync,root_squash,anonuid=1001,ano ngid=1001)
А вот на ASUS-WL500gP-V2 (прошивка Олега) при выполнении команды
mount -t nfs 192.168.222.241:/share /tmp/harddisk/egreat (каталоги, разумеется, есть, опции nolock, intr ничего не меняют) ответ:
mount: Mounting 192.168.222.241:/share on /tmp/harddisk/egreat failed: No such device
Если сменить IP или путь шары/назначения - ответит либо "Permission denied ... Bad file descriptor", либо "No such file or directory" (смотря что изменить).
showmount -e 192.168.222.241 (на раутере) выдает
/opt/sybhttpd/localhost.drives/HARD_DISK 192.168.222.0/255.255.255.0
/share - есть линк на /opt/sybhttpd/localhost.drives/HARD_DISK, соответственно замена /share на полняй путь ничего не дает.
Какие мысли, где копать?
Я только присоединюсь к мученикам - абсолютно та же проблема:
Причём к Linux компам в той же подсетке всё монтируется.Code:[admin@ root]$ mount -t nfs 172.16.0.210:/opt/sybhttpd/localhost.drives/HARD_DISK /home/opt/mnt
mount: Mounting 172.16.0.210:/opt/sybhttpd/localhost.drives/HARD_DISK on /home/opt/mnt failed: No such device
[admin@ root]$ showmount -e 172.16.0.210
Export list for 172.16.0.210:
/opt/sybhttpd/localhost.drives/HARD_DISK 172.16.0.0/255.255.255.0
Проблема только на роутере.
Разрешилось. "Похожие темы" внизу великая вешь.
Не был загружен модуль nfs.
http://wl500g.info/showpost.php?p=73605&postcount=5 - решение описано тут
Задача: подмонтировать NFS раздел, находящийся на disk0_3
Вводная
К девайсу подключен внешний винт, разбитый на 3 раздела
содержание post-mount
при прописании в веб морде папок для экспорта NFS, он их автоматом ищет на харддиске.Code:#!/bin/sh
/sbin/swapon /dev/discs/disc0/part1
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/harddisk
/bin/mount -o bind /tmp/harddisk/opt /opt
/opt/etc/init.d/rc.unslung
Вопрос: как задать ему папку для NFS экспорта,находящуююся например на disc0_3 ( к примеру я её вижу как /tmp/mnt/disc0_3/Download/
P.S. Создалось впечатление, что файл etc/exports переписываеться при каждом рестарте.
Прошу прощение за беспокойство- нашел сам ответ:
через веб морду надо прописывать полный путь
например...
/tmp/mnt/disc0_3/Video/
Дорогие линух ГУРУ!
Есть вот такой вопос, я имею дома wl500gp v2 и подключенный к ниму WD MyBook 1 Tb (в свою очередь разбитый на 2 раздела) поднят FTP (прекрасно работает), возможно ли по средствам NFS встроенного в Олеговскую прошивку получить доступ к своему диску или папке на диске из вне (не слокальной сети)? Я так же имею внешний IP и все заходы будут только с компов под управлением Mac os x.
Так же не получается смонтировать nfs (wl520-gu).
Не понимаю что в строке
mount -t nfs servername:/path/to/share /dir
значит /path/to/share и /dir и какая между ними разница?..
Опытным путем выяснил что искомая мной папка находится:
Ее и нужно расшарить...Code:[admin@WL520GU /tmp]$ cd /tmp/harddisk/
[admin@WL520GU disc0_5]$ cd
[admin@WL520GU root]$ cd /tmp/mnt/disc0_5/
[admin@WL520GU disc0_5]$
По поводу "Не был загружен модуль nfs"
Что не так сделано?..Code:[admin@WL520GU root]$ insmod sunrpc
insmod: A module named sunrpc already exists
[admin@WL520GU root]$ insmod lockd
insmod: A module named lockd already exists
[admin@WL520GU root]$ insmod nfs
[admin@WL520GU root]$
"После команды showmount -e 192.168.1.25 и указания правильного пути, все заработало"
Заранее всем спасибо :)Code:[admin@WL520GU root]$ showmount -e 192.168.1.3
Export list for 192.168.1.3:
/tmp/mnt/disc0_5 (everyone)
/disc0_5 (everyone)
Я монтирую NFS через /etc/fstab, так проще.
Строчка у меня там такая:
где 10.0.0.10:/nfsshare - это ресурс NFS, а /opt/dlink - локальная точка монтирования.Code:10.0.0.10:/nfsshare /opt/dlink nfs rw,rsize=8192,wsize=8192,hard,tcp,nolock,intr 0 0
Maximus43, спасибо что откликнулся
Такс, сдвинулся с мертвой точки. Смог смонтировать
Все получилось, только read-only :(Code:sudo mount -t nfs 192.168.1.3:/tmp/harddisk/ /mount/router/
В /etc/fstab/ добаивил твой код.
Ничего не получилось...Code:192.168.1.3:/tmp/harddisk/ /mount/router/ nfs rw,rsize=8192,wsize=8192,hard,tcp,nolock,intr 0 0
Я так понимаю что монтирование происходит при старте системы. Т.е. при старте должен быть физически доступен роутер. У меня же сначала грузится система, затем подключается wi-fi... Возможно в этом проблема?
Ммм...
Приведение к виду
(Удаление ,hard,tcp,nolock,intr) работает. Только опять же в режиме read-only. Думаю, нужно на роутере править /etc/exports/ . Вот только как...Code:192.168.1.3:/tmp/harddisk/ /mount/router/ nfs rw,rsize=8192,wsize=8192 0 0
У меня содержимое exports такое:
Code:/etc # cat exports
/nfsshare 10.0.0.0/24 (rw,no_root_squash)
/etc #
Избавился от ro. Файл exports редактировать не умею, поэтому через веб морду.
Все вроде правильно.. Путь указан верно, инче бы не работало. Айпи правильно, пробовал менять. rw - избавился от ошибки ro. Теперь при копировании ошибка Permission denied. Насколько понимаю, это ошибка доступа или прав... Параметр no_root_squash должен по идее это исправлять, но не исправляет... Я уже хз что делать :(Code:/tmp/mnt/disc0_5/ 192.168.1.1/24(rw,no_root_squash)
Для твоего случая надо писать так:
Т.к. у тебя внутренняя сетка класса C, а второй параметр описывает подсеть клиентов. Значение 192.168.1.1/24 допускает клиентов только с адресами 192.168.1.xxx, что, в принципе, должно работать для маленькой сети.Code:/tmp/mnt/disc0_5/ 192.168.0.0/16(rw,no_root_squash)
Покурить мануал по exports можно тут :)
Параметр no_root_squash сохраняет UID и GID клиента ресурса. Если клиент заходит под UID, которого нет на ресурсе, то он получит отказ в доступе.
Намного проще прописать параметр all_squash и завести пользователя nobody на ресурсе. Тогда все клиенты будут иметь права nobody.
Если есть желание приводить права всех клиентов к одному конкретному локальному UID, тогда есть параметры anonuid и anongid.
Удачи!