Ubuntu 16.04 NFS Exports/Shares не монтируется на клиентском компьютере

Я следил за доступными постами, чтобы максимально настроить NFS на двух компьютерах с Ubuntu.

Я установил nfs-kernel-server на хост-систему, настроил экспорт на сервер. Я даже закрыл брандмауэр, чтобы убедиться, что он не мешает. На клиентском компьютере также установлен сервер и клиентский пакет nfs-common.

Когда я пытаюсь смонтировать ЛЮБОЙ из акций на клиенте. (текущее местоположение монтирования /home/nfs_local). Терминал зависает без ответа в течение очень долгого времени, когда он просто говорит "Тайм-аут соединения".

Я пытаюсь смонтировать, используя эту структуру команд для монтирования общих ресурсов на терминале клиента:

$ sudo mount 192.168.10.111:/home/uname / home / nfs_local

Вот как выглядит мой экспорт в / etc / exports

/ home 192.168.10.128/255.255.255.0(ro,anonuid=65534,no_subtree_check,insecure,sync,nohide) / home / uname 192.168.10.128/255.255.255.0(rw,anonuid=65534,no_subtree_check,,c) /mnt/volume /Massive_A 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_check,insecure,sync) /mnt/volume /Massive_B 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_ches,c) / volume /Massive_C 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_check,insecure,sync) /mnt/volume /SSD_B 192.168.10.128/255.255.255.0(rw,nohide,no_subtree_check,insecuress)

rpcinfo -p (на стороне сервера) дает следующий вывод:

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
100005    1   udp  46285  mountd
100005    1   tcp  40996  mountd
100005    2   udp  37056  mountd
100005    2   tcp  56903  mountd
100005    3   udp  59774  mountd
100005    3   tcp  33079  mountd
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

И, брандмауэр неактивен:

$ ufw status (на стороне сервера и на стороне клиента)

Статус: неактивен

Кто-нибудь может определить, что мне здесь не хватает? В конце концов, я хочу добавить их в fstab, чтобы они автоматически монтировались при загрузке... ИЛИ использовать сценарий для каждого общего ресурса... Советы по поводу плюсов и минусов этого использования также очень приветствуются.

Спасибо за чтение.

1 ответ

Спасибо @ridgy за указание мне в направлении этого решения.

При использовании NFS необходимо убедиться, что порты 111 и 2049 открыты для трафика TCP и UDP. (Если вы используете ТОЛЬКО NFS v4, вам не нужен порт 111 PORTMAPPER) Вы можете ограничить его локальной сетью, как считаете нужным. Но он должен быть открыт как на клиенте, так и на сервере для обоих типов трафика.

Если вы хотите использовать командную строку, сначала проверьте состояние брандмауэра, выдав

$ sudo ufw status

если возвращаемая информация гласит "Статус: неактивен", то вы можете либо отключить ее, либо активировать и ввести правила, чтобы NFS и ее данные PORTMAPPER проходили.

Выпустить директиву:

$ sudo ufw enable

запустить службу брандмауэра

Проверьте текущие правила, выполнив директиву статуса снова

$ sudo ufw status

Вы увидите список правил, которые в настоящее время определены (если они были определены). Однако теперь вы должны увидеть, что директива состояния возвращается;

Статус: Активен

Поищите все правила, применимые к портам 2049 и 111. Оба они должны быть открыты для трафика TCP и UDP... из "где угодно" (это должно быть ужесточено после того, как ваши общие ресурсы работают - в зависимости от вашей ситуации) * ПРИМЕЧАНИЕ: брандмауэр как правило, позволяет применять правила, основанные на значениях по умолчанию "APPLICATION", однако экономит время. Я обнаружил, что NFS нет в списке.

Вывод должен выглядеть примерно так:

 To                 Action          From 
111,2049/tcp       ALLOW           ANYWHERE 
111,2049/udp       ALLOW           ANYWHERE 
111,2049/tcp (v6)  ALLOW           ANYWHERE (v6) 
111,2049/udp (v6)  ALLOW           ANYWHERE (v6)

Если вы не видите открытости портов, вы можете выполнить следующие директивы, чтобы открыть их. Это должно быть сделано на хосте и клиенте.

$ sudo ufw allow 2049
$ sudo ufw allow 111

ПРИМЕЧАНИЕ. Это откроет эти порты для ВСЕГО трафика, а не только для NFS и PORTMAPPER. Я настоятельно рекомендую - после того, как вы правильно настроили экспорт / монтирование NFS, вы пересмотрите конфигурацию брандмауэра, чтобы усилить безопасность вокруг этих портов. (Это в настоящее время за пределами моих знаний и области ответа)

Еще раз выполните директиву ufw status, чтобы убедиться, что записи были правильно добавлены в правила брандмауэра.

СЕЙЧАС... для смущающей части... Брандмауэр на хосте и клиентских системах может быть не единственной проблемой брандмауэра. Вы должны убедиться, что ваш маршрутизатор не блокирует эти порты. (В моем случае это вызвало некоторое растяжение волос. Так как у меня было туннельное зрение на двух машинах. И, полностью забыл аппаратное обеспечение между ними.) Еще раз спасибо @ridgy!

Я использую ASUS AC3200 с DD-WRT. Так что, конечно, ваша система маршрутизатора, вероятно, будет отличаться.

Если ваш межсетевой экран маршрутизатора активен (рекомендуется), обратитесь к инструкциям производителя о том, как открыть порты 111 и 2049 для трафика локальной сети... По желанию, и просто для того, чтобы все заработало, вы можете ВРЕМЕННО отключить межсетевой экран вашего маршрутизатора (не рекомендуется) до вы получаете ваши экспорт / монтирование работает должным образом.

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

Другие вопросы по тегам