Настройка nfs между сервером Fedora 21 и Rasperry Pi с OpenELEC

Настройка nfs между сервером Fedora 21 и Rasperry Pi с OpenELEC

Я пытаюсь настроить домашнюю сеть, чтобы поделиться своими различными аудио- и видеофайлами с различными медиасерверами. В настоящее время у меня есть машина с Fedora 21, на которой размещены все файлы, которыми я хочу поделиться. В файле /etc/exports у меня есть:

/home/Kodi *(ro)

Просто. Коротко и ясно, и эффективно на 2 других машинах. С этих машин я могу легко выполнить

mount 192.168.1.144:/home/Kodi /nfs

И все хорошо.

На Raspberry Pi я установил OpenELEC в качестве ОС, включил SSH, чтобы иметь возможность войти и выполнять административные задачи. Но это никогда не работает. Выполнение той же строки монтирования с измененной целью всегда дает:

mount: RPC: Remote system error - No route to host
mount: mounting 192.168.1.144:/home/Kodi on /storage/nfs/Kodi failed: Bad file descriptor

Но я могу пинговать сервер и даже могу подключиться к серверу по SSH с Raspberry Pi, так что проблем с маршрутизацией действительно нет. И, просто чтобы добавить еще один поворот, если я загружаю Raspberry Pi с помощью Raspian, это работает просто отлично. Это должно быть что-то с OpenELEC, но я не могу понять, что именно. Я также задавал этот вопрос на форуме OpenELEC (http://openelec.tv/forum/134-usage/76905-setting-up-nfs-with-rasppi-and-openelec), но пока ничего не добился.

Я буду признателен за любую помощь.

решение1

Согласно этому викиopenelec не поддерживает nfsv4, поэтому монтирование должно использовать nfsv3. Возможно, все остальные системы используют nfsv4 и либо брандмауэр не пропускает nfsv3, либо ваш сервер обслуживает только nfsv4.

"No route to host" — типичное сообщение, которое появляется, когда вы получаете пакет icmp от брандмауэра, который вводит в заблуждение относительно того, что порт не разрешен. Попробуйте временно отключить брандмауэр на сервере.

Я не знаю, включает ли fedora 21 nfsv3 по умолчанию. Если нет, вы можете попробовать это редактирование и перезапустить nfs с помощью systemctl:

sed -i /etc/sysconfig/nfs -e '
/RPCNFSDARGS=/s/=.*/="--nfs-version 3 --nfs-version 4"/
/RPCMOUNTDOPTS=/s/=.*/="--nfs-version 3 --nfs-version 4"/'

решение2

Я столкнулся с этой проблемой после обновления сервера с F20 до F21. Полное отключение брандмауэра позволило Kodi найти и смонтировать общие ресурсы NFS, но меня беспокоило полное отсутствие брандмауэра на сервере.

Я сделал:

firewall-cmd --add-port 1024-65534/tcp --add-port 1024-65534/udp --add-port 111/tcp --add-port 111/udp

Что открывает все выше зарезервированных портов, а также порт rpcbind (111). Просто делаем

firewall-cmd --add-service nfs

просто недостаточно для клиента Kodi NFS, хотя для другого клиента Fedora это нормально. Возможно, клиент Kodi говорит только на NFS v3?

Связанный контент