NFS: mount.nfs: Протокол не поддерживается

Вопрос или проблема

Я хочу смонтировать NFS-ресурс NAS Zyxel NSA310s. Вывод showmount на клиентской машине показывает ресурс:

$ showmount 10.0.0.100 -e
Список экспортов для 10.0.0.100:
/i-data/7fd943bf/nfs/zyxelNFS *

В файле /etc/fstab клиента содержится строка:

10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS nfs rw 0 0

Но монтирование не удается:

sudo mount /media/nasNFS/ -v
mount.nfs: время ожидания установлено на понедельник, 25 мая 2015 17:34:46
mount.nfs: пробуем текстовые опции ‘vers=4,addr=10.0.0.100,clientaddr=10.0.0.2’
mount.nfs: mount(2): Протокол не поддерживается
mount.nfs: пробуем текстовые опции ‘addr=10.0.0.100’
mount.nfs: prog 100003, пробуем vers=3, prot=6
mount.nfs: пробуем 10.0.0.100 prog 100003 vers 3 prot TCP port 2049
mount.nfs: повторный запрос portmap: RPC: несоответствие программы/версии
mount.nfs: prog 100003, пробуем vers=3, prot=17
mount.nfs: пробуем 10.0.0.100 prog 100003 vers 3 prot UDP port 2049
mount.nfs: запрос portmap завершился неудачей: RPC: несоответствие программы/версии
mount.nfs: Протокол не поддерживается

nfs-common установлен. Что еще может отсутствовать?

Чтобы подвести итог выполненным шагам для получения ответа:

Согласно предоставленному выводу, NFS-сервер не поддерживает NFSv4 и UDP. Чтобы увидеть возможности NFS-сервера, можно использовать rpcinfo 10.0.0.100 (вы можете расширить команду, чтобы отфильтровать nfs: |egrep “service|nfs”)

Очевидно, что единственная версия, поддерживаемая сервером, – это версия 2:

rpcinfo 10.0.0.100 |egrep “service|nfs”
программа версия netid адрес сервис владелец
100003 2 udp 0.0.0.0.8.1 nfs unknown
100003 2 tcp 0.0.0.0.8.1 nfs unknown

Решение для монтирования экспорта заключается в том, чтобы использовать параметр монтирования vers=2, либо в командной строке:

mount -o rw,vers=2 10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS

либо отредактировав /etc/fstab:

10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS nfs rw,vers=2 0 0

Другим подходом может быть изменение NFS-сервера, чтобы поддерживать версию 3 (или даже 4).

Я получаю эту ошибку на Fedora 31. Оказалось, что диск уже смонтирован…

Я также столкнулся с ошибкой “Протокол не поддерживается”. В моем случае коренной причиной оказалась тонкая проблема с обратной записью DNS.

Фон: я использовал NFSv4 и имел следующие записи в /etc/exports:

/srv/nfs *.example.com(ro,fsid=root,insecure,no_subtree_check,async,root_squash)
/srv/nfs/data myhost.example.com(rw,sync,no_subtree_check)

Вместо FQDN команда host 1.2.3.4 возвращала указатели как для “myhost.”, так и для “myhost.example.com.”. Мой NFS-сервер, похоже, смотрел только на первую запись PTR в ответе DNS, которая не совпадала с подстановочным знаком в /etc/exports, и, следовательно, блокировал NFSv4 с этого хоста. Поэтому, если вы используете правила, основанные на именах хостов в /etc/exports, дважды проверьте, что обратные запросы DNS работают правильно для ваших клиентов.

[root@sousvide mnt]# mount projects/
mount.nfs: Протокол не поддерживается

Решение этой ошибки в моем случае заключалось в настройке параметров Freenas (BSD) “Разрешенные хосты и IP-адреса”, чтобы разрешить доступ целевой машине…
/etc/fstab имел запись вроде
x.x.x.x:/mnt/media/projects /mnt/projects nfs defaults,timeo=900,retrans=5,_netdev,noauto 0 0

Я получал ту же ошибку (протокол не поддерживается), хотя моя проблема заключалась в том, что NFS-сервер не разрешал моему IP монтирование (правила hbac). Мне пришлось войти на NFS-сервер и разрешить мой IP.
Когда я пытался смонтировать с -vvv, я увидел различные отказы перед конечным “протокол не поддерживается”, которое появилось без запуска подробных опций.

exportfs -ra && systemctl restart nfs-kernel-server

Это помогло мне.

Попробуйте использовать этот параметр

…. nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Ответ или решение

Ошибка NFS: mount.nfs: Protocol not supported — Возможные решения

При попытке смонтировать общий ресурс через NFS (Network File System) на вашем Zyxel NSA310s NAS, вы столкнулись с ошибкой mount.nfs: Protocol not supported. Эта проблема может быть вызвана несколькими причинами, связанными как с настройками клиента, так и с настройками сервера. В данном руководстве мы подробно рассмотрим возможные причины возникновения этой ошибки и предложим решения.

1. Проверка версии протокола NFS

Согласно вашему описанию, вы уже использовали команду showmount, чтобы подтвердить доступность общего ресурса, и вы правильно указали запись в /etc/fstab. Однако проблемы возникли при попытке монтирования, где система не смогла поддержать версию протокола. Для начала давайте проверим, какие версии протокола поддерживает ваш NFS-сервер.

Команда для проверки

Используйте следующую команду, чтобы узнать, какие версии NFS поддерживаются вашим сервером:

rpcinfo 10.0.0.100 | egrep "service|nfs"

Вы должны увидеть что-то похожее на:

program version netid     address                service    owner
100003  2       udp       0.0.0.0.8.1            nfs        unknown
100003  2       tcp       0.0.0.0.8.1            nfs        unknown

Если вы не видите поддержки версий 3 или 4, тогда ваш сервер, вероятно, поддерживает только версию 2. В таком случае, вам необходимо будет явно указать использование версии 2 при монтировании.

2. Изменение параметров монтирования

Монтирование через командную строку

Воспользуйтесь следующей командой для монтирования с указанием версии 2:

sudo mount -o rw,vers=2 10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS

Изменение fstab

Вы можете также внести изменения в файл /etc/fstab, добавив параметр vers=2. Запись должна выглядеть следующим образом:

10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS nfs rw,vers=2  0 0

Эти изменения позволят вашей системе использовать версию 2 NFS, что и требуется для подключения к вашему NAS.

3. Проверьте настройки сервера

Если после указания версии протокола проблем по-прежнему существует, имеет смысл проверить настройки самого NFS-сервера. Убедитесь, что сервер корректно настроен на предоставление доступа к ресурсам с учетом вашего клиентского IP-адреса.

Убедитесь, что IP-адрес клиента разрешен

Некоторые NAS и NFS-серверы имеют настройки ограничивающие доступ к экспортируемым ресурсам. Перейдите в конфигурацию вашего сервера и убедитесь, что ваш клиент (например, машина с IP-адресом 10.0.0.2) разрешён для доступа к ресурсам.

4. Оптимизация параметров монтирования

Вы также можете попробовать добавить некоторые оптимизационные параметры в ваши опции монтирования. Вот пример:

mount -o rw,vers=2,rsize=8192,wsize=8192,timeo=14,intr 10.0.0.100:/i-data/7fd943bf/nfs/zyxelNFS /media/nasNFS

Эти параметры могут помочь улучшить производительность и стабильность соединения.

Заключение

Если вы всесторонне проверили настройки как на клиенте, так и на сервере, и произвели нужные изменения, ошибка mount.nfs: Protocol not supported должна быть устранена. Если проблема сохраняется, возможно, стоит рассмотреть обновление программного обеспечения вашего NAS или использование другого оборудования, поддерживающего более новые версии NFS.

Вы также можете рассмотреть использование инструментов диагностики и просмотреть системные журналы на предмет дополнительных ошибок, которые могут указать на проблему.

При возникновении сомнений — не стесняйтесь обращаться к документации или на форумы поддержки, где вы сможете получить помощь от сообщества пользователей, которые столкнулись с аналогичными проблемами.

Оцените материал
Добавить комментарий

Капча загружается...