У меня проблема, я гуглял по крайней мере 6 часов s> 28 часов без удачи. Всякий раз, когда я пытаюсь смонтировать каталог, я получаю следующую ошибку (подробная версия в конце):
mount.nfs: доступ запрещен сервером при монтировании:
Первоначально я использовал computer1
в качестве сервера nfs, но я переместил его на computer2
и пытаюсь смонтировать на computers3-8
. В качестве дальнейшего примечания, computer2
теперь действует как маршрутизатор dhcp для всех других компьютеров (даже computer1
), но я почти уверен, что проблема связана с настройками computer2
nfs, так как я попробовал следующее:
computer1
к одному из клиентов computers3-8
- УСПЕХ computer1
на новый сервер computer2
- УСПЕХ computer2
к одному из клиентов computers3-8
- FAILURE computer2
на старый сервер computer1
- FAILURE computer2
- FAILURE computer2
- УСПЕХ В дополнение к этому Я также проверил, чтобы убедиться, что соответствующие части файла /etc/exports
не имеют ошибок. Поэтому я почти абсолютно уверен, что это не проблема разрешения.
Вопрос: Учитывая, что это не сетевая ошибка, кто-нибудь может посоветовать мне, как мне начать отладку этой проблемы.
Подробный вывод:
mount: proc already mounted on /proc
mount: /dev/mmcblk0p5 already mounted on /boot
mount: tmpfs already mounted on /var/tmp
mount: tmpfs already mounted on /var/log
mount.nfs: timeout set for Fri Nov 15 07:27:02 2013
mount.nfs: trying text-based options 'vers=3,rsize=8192,wsize=8192,nolock,addr=192.168.7.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.7.1 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.7.1 prog 100005 vers 3 prot UDP port 37300
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 192.168.7.1:/home/raspi/Documents/raspi/raspi
Подробный вывод2:
Вот более прямой подход, при котором монтируется только каталог. под вопросом:
$ sudo mount -v -o "vers=3" 192.168.7.1:/home/raspi/Documents/raspi/raspi /home/raspi/test
mount: no type was given - I'll assume nfs because of the colon
mount.nfs: timeout set for Fri Nov 15 07:47:38 2013
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
Я уже сталкивался с этой rpc.statd is not running but is required for remote locking
ошибкой раньше, но все поиски в мире мне совсем не помогли ...
РЕДАКТИРОВАТЬ :
Хаос попросил меня выполнить следующие команды и отобразить результаты:
Сначала на сервере:
SERVER$ sudo exportfs -rv
exporting raspi1:/home/raspi/Documents/raspi/raspi
exporting raspi2:/home/raspi/Documents/raspi/raspi
exporting raspi3:/home/raspi/Documents/raspi/raspi
exporting raspi4:/home/raspi/Documents/raspi/raspi
exporting raspi5:/home/raspi/Documents/raspi/raspi
exporting raspi6:/home/raspi/Documents/raspi/raspi
exporting raspi7:/home/raspi/Documents/raspi/raspi
exporting raspi8:/home/raspi/Documents/raspi/raspi
exporting raspi9:/home/raspi/Documents/raspi/raspi
exporting raspi10:/home/raspi/Documents/raspi/raspi
exporting raspi11:/home/raspi/Documents/raspi/raspi
exporting raspi12:/home/raspi/Documents/raspi/raspi
exporting raspi13:/home/raspi/Documents/raspi/raspi
exporting raspi14:/home/raspi/Documents/raspi/raspi
exporting raspi15:/home/raspi/Documents/raspi/raspi
exporting raspi16:/home/raspi/Documents/raspi/raspi
exporting raspi17:/home/raspi/Documents/raspi/raspi
exporting raspi18:/home/raspi/Documents/raspi/raspi
exporting raspi19:/home/raspi/Documents/raspi/raspi
exporting raspi20:/home/raspi/Documents/raspi/raspi
exporting raspi21:/home/raspi/Documents/raspi/raspi
exporting raspi22:/home/raspi/Documents/raspi/raspi
exporting raspi23:/home/raspi/Documents/raspi/raspi
exporting raspi24:/home/raspi/Documents/raspi/raspi
exporting raspi25:/home/raspi/Documents/raspi/raspi
exporting raspi26:/home/raspi/Documents/raspi/raspi
exporting raspi27:/home/raspi/Documents/raspi/raspi
exporting raspi28:/home/raspi/Documents/raspi/raspi
exporting raspi29:/home/raspi/Documents/raspi/raspi
exporting raspi30:/home/raspi/Documents/raspi/raspi
exporting raspi5:/home/raspi/Downloads
exporting 192.168.7.105:/home/raspi/Documents/raspi
А затем на клиенте
CLIENT$ showmount -e 192.168.7.1
Export list for 192.168.7.1:
/home/raspi/Documents/raspi 192.168.7.105
/home/raspi/Documents/raspi/raspi raspi30,raspi29,raspi28,raspi27,raspi26,raspi25,raspi24,raspi23,raspi22,raspi21,raspi20,raspi19,raspi18,raspi17,raspi16,raspi15,raspi14,raspi13,raspi12,raspi11,raspi10,raspi9,raspi8,raspi7,raspi6,raspi5,raspi4,raspi3,raspi2,raspi1
/home/raspi/Downloads raspi5
CLIENT$ sudo mount -a
mount.nfs: access denied by server while mounting 192.168.7.1:/home/raspi/Documents/raspi/raspi
CLIENT$ sudo tail -f /var/log/daemon.log 2>&1
Nov 15 21:35:55 raspi5 dhclient: bound to 192.168.7.105 -- renewal in 250 seconds.
Nov 15 21:40:05 raspi5 dhclient: DHCPREQUEST on eth0 to 192.168.7.1 port 67
Nov 15 21:40:05 raspi5 dhclient: DHCPACK from 192.168.7.1
Nov 15 21:40:05 raspi5 dhclient: bound to 192.168.7.105 -- renewal in 294 seconds.
Nov 15 21:44:59 raspi5 dhclient: DHCPREQUEST on eth0 to 192.168.7.1 port 67
Nov 15 21:44:59 raspi5 dhclient: DHCPACK from 192.168.7.1
Nov 15 21:44:59 raspi5 dhclient: bound to 192.168.7.105 -- renewal in 262 seconds.
Nov 15 21:49:21 raspi5 dhclient: DHCPREQUEST on eth0 to 192.168.7.1 port 67
Nov 15 21:49:21 raspi5 dhclient: DHCPACK from 192.168.7.1
Nov 15 21:49:21 raspi5 dhclient: bound to 192.168.7.105 -- renewal in 273 seconds.
РЕДАКТИРОВАТЬ 2 :
Хаос попросил меня выполнить следующие команды и отобразите результаты:
SERVER$ ping raspi5
PING raspi5 (192.168.7.105) 56(84) bytes of data.
64 bytes from raspi5 (192.168.7.105): icmp_seq=1 ttl=64 time=0.699 ms
64 bytes from raspi5 (192.168.7.105): icmp_seq=2 ttl=64 time=0.683 ms
SERVER$ sudo tail -f /var/log/daemon.log
tail: cannot open ‘/var/log/daemon.log’ for reading: No such file or directory
Вот мой файл /etc/exports
на сервере. Как вы можете видеть, я пытаюсь использовать его имя, определенное в /etc/hosts
, его IP-адрес, и я также пытаюсь экспортировать разные папки. Все остальные строки я пропустил, так как они просто дубликаты последней строки, просто перенаправлены на другой распис.
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/home/raspi/Downloads raspi5(rw,sync,no_subtree_check,no_root_squash)
/home/raspi/Documents/raspi/ 192.168.7.105(rw,sync,no_subtree_check,no_root_squash,fsid=0)
/home/raspi/Documents/raspi/raspi raspi5(rw,sync,no_subtree_check,no_root_squash,fsid=0)
Вот мой файл /etc/fstab
на моем клиенте raspi5
proc /proc proc defaults 0 0
/dev/mmcblk0p5 /boot vfat defaults 0 2
/dev/mmcblk0p6 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
#automatically mount the shared raspi folder(s)
# Remember that NFS4 is AIDS, so use NFS3
192.168.7.1:/home/raspi/Documents/raspi/raspi /home/raspi/ nfs nfsvers=3,rsize=8192,wsize=8192,rw,auto,nolock 0 0
# Move highly used directories to RAM
tmpfs /var/tmp tmpfs nodev,nosuid,size=50M 0 0
tmpfs /var/log tmpfs nodev,nosuid,size=50M 0 0
РЕДАКТИРОВАТЬ 3:
Следуя некоторым советам здесь Я также установил флаг insecure
в экспорте, но безрезультатно, и вот вывод rpcinfo -p
на клиенте и сервере:
CLIENT$ sudo rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 53553 status
100024 1 tcp 60026 status
SERVER$ rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 42430 status
100024 1 tcp 49377 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 33106 nlockmgr
100021 3 udp 33106 nlockmgr
100021 4 udp 33106 nlockmgr
100021 1 tcp 47922 nlockmgr
100021 3 tcp 47922 nlockmgr
100021 4 tcp 47922 nlockmgr
100005 1 udp 50875 mountd
100005 1 tcp 53329 mountd
100005 2 udp 53583 mountd
100005 2 tcp 42062 mountd
100005 3 udp 36556 mountd
100005 3 tcp 39984 mountd
РЕДАКТИРОВАТЬ 4:
Далее, следуя некоторым советам здесь , я получил следующие журналы отладки:
[ 2233.803852] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 2233.803885] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[ 3261.750455] nfsd: last server has exited, flushing export cache
[ 3262.912654] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 3262.912688] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[ 5231.798334] nfsd: last server has exited, flushing export cache
[ 5232.956633] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 5232.956668] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[ 5350.889640] nfsd: last server has exited, flushing export cache
[ 5352.023534] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 5352.023577] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[ 5517.837425] nfsd: last server has exited, flushing export cache
[ 5518.987793] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 5518.987826] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[56604.080162] Netfilter messages via NETLINK v0.30.
[56707.453535] nfsd: last server has exited, flushing export cache
[56708.605020] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[56708.605057] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[57338.926093] NFSD: laundromat service - starting
[57338.926105] NFSD: laundromat_main - sleeping for 90 seconds
[57363.216188] nfsd: freeing readahead buffers.
[57363.216244] nfsd: last server has exited, flushing export cache
[57364.351041] set_max_drc nfsd_drc_max_mem 6008832
[57364.354764] nfsd: creating service
[57364.354771] nfsd: allocating 32 readahead buffers.
[57364.356023] nfsd4_umh_cltrack_upcall: cltrack_prog is disabled
[57364.356040] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[57364.356072] NFSD: starting 90-second grace period (net ffffffff81cd29c0)
[57364.369688] nfsd_dispatch: vers 3 proc 0
[57372.738225] nfsd_dispatch: vers 4 proc 0
[57372.753507] nfsd_dispatch: vers 4 proc 1
[57372.753521] nfsv4 compound op #1/3: 24 (OP_PUTROOTFH)
[57372.755550] exp_export: export of invalid fs type.
[57372.755679] found domain 192.168.7.105,raspi5
[57372.755685] found fsidtype 1
[57372.755690] found fsid length 4
[57372.755695] Path seems to be <>
[57372.755722] nfsv4 compound op ffff8801a47ec080 opcnt 3 #1: 24: status 2
[57372.755731] nfsv4 compound returned 2
[57372.779429] nfsd_dispatch: vers 3 proc 0
[57372.792595] exp_export: export of invalid fs type.
РЕДАКТИРОВАТЬ 5:
Я добился определенного прогресса и вывел следующее
telnet 192.168.7.1 2049
nfs-kernel-server 1:1.2.4-1
, тогда как новый сервер, который не поддерживает монтирование, работал nfs-kernel-server 1:1.2.8-2
] sudo /etc/init.d/portmap restart
работает на старом сервере, но не на новом сервере, что говорит мне, что мне не хватает portmap в сети. ш сервер. Однако, когда я пытаюсь установить его через sudo apt-get install portmap
, он говорит мне, что Note, selecting 'rpcbind' instead of 'portmap', and that
rpcbind уже является самой новой версией` Редактировать 6:
Вот вывод iptables -L
на моем сервере:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
и правильные порты открыты:
CLIENT$ nmap -P0 192.168.7.1
Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-16 06:44 UTC
Nmap scan report for raspiserver (192.168.7.1)
Host is up (0.0095s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
2049/tcp open nfs
Nmap done: 1 IP address (1 host up) scanned in 1.55 seconds
У меня была та же проблема, что и у ОП. Раньше у меня это работало, но после обновления ничего не вышло. Решением было добавить опцию "nfsvers = 3".
Мои два коллеги по работе только что решили похожую проблему в Vagrant. AppArmor был виновником, решение можно найти здесь , ссылаясь на:
mount: cannot mount block device /some/path read-only
и dmesg показывает:
[ 6944.194280] type=1400 audit(1385049795.420:32): apparmor="DENIED" operation="mount" info="failed type match" error=-13 parent=6631 profile="lxc-container-default" name="/some/other/path" pid=6632 comm="mount" srcname="/some/path" flags="rw, bind"
AppArmor блокирует mount -o bind внутри Контейнер LXC.
Чтобы включить добавление идентификатора в /etc/apparmor.d/lxc/lxc-default
:
profile lxc-container-default flags=(attach_disconnected,mediate_deleted) {
...
mount options=(rw, bind),
...
Перезагрузить аппарат:
# /etc/init.d/apparmor reload
Сначала возникает ошибка rpc.statd, потому что демон не работает. Запустите демон:
sudo service statd start
Во-вторых, неверна опция монтирования vers=3
, она должна быть
nfsvers=3
Если сервер не монтируется на локальном хосте, проблема не в сети.
Взгляните на /etc/hosts.deny и /etc/hosts.allow.
Только для дальнейших проблем ...: Я играл в эти дни со старой версией NFS. У меня был промежуточный коммутатор между двумя хостами, который разрешал все соединения TCP и UDP от ServerIP < -> ClientIP, telnet работал на каждом порту ... но rpcinfo -p этого не делал.
Мы обнаружили, что у коммутатора есть функция, называемая «inspect», которая проверяет все пакеты «sunrpc» и, если версия отсутствует в «разрешенных» версиях, отбрасывает пакеты, ничего не регистрируя. Это называется «Проверка протокола прикладного уровня». http://www.cisco.com/c/en/us/td/docs/security/fwsm/fwsm31/configuration/guide/fwsm_cfg/inspct_f.html#wp1349924
после мы также обнаружили, что нам пришлось настроить статические порты для межсетевого экрана, но это еще одна проблема.
Возможно, стоит упомянуть (даже если это не так), что если вы вдруг получаете эту ошибку после переименования папки или попытки доступа к новой, вы, возможно, забыли, что вам действительно нужно указать сервер - с точки зрения того, какие папки являются общими, а какие нет в /etc/exports
- это была проблема в моем случае.
После того, как вы изменили этот файл, вам также нужно сделать sudo service nfs-kernel-server restart
Это ни то, ни другое не похоже но при монтировании от пользователя без полномочий root noresvport может быть полезен в / etc / exports.
Это происходит в Finder (MacOS X) при попытке смонтировать модуль nfs.