Устранение неполадок mount.nfs: истекло время ожидания соединения для компьютеров Centos 7 - PullRequest
1 голос
/ 10 апреля 2020

Может ли кто-нибудь помочь мне решить проблему с настройкой NFS общего ресурса между двумя Centos 7 машинами?

Я настроил брандмауэр и сервер работает нормально, я могу смонтировать общую папку из другой ( третье) Centos 7 машина.

Однако на этом другом клиентском компьютере давайте назовем его 111.111.111.111 Я не могу смонтировать:

 `mount -t nfs 255.255.255.255:/var/nfsshare /some/existing/folder`

(Я получаю монтирование. nfs: Время соединения)

Когда я запускаю tcpdump вместе, я получаю:

[root@111.111.111.111 ~]#  tcpdump -i eth0 -n host 255.255.255.255
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:45:35.795666 IP 111.111.111.111.1015 > 255.255.255.255.nfs: Flags [S], seq 221559787, win 29200, options [mss 1460,sackOK,TS val 2467213240 ecr 0,nop,wscale 7], length 0
13:45:36.797428 IP 111.111.111.111.1015 > 255.255.255.255.nfs: Flags [S], seq 221559787, win 29200, options [mss 1460,sackOK,TS val 2467214242 ecr 0,nop,wscale 7], length 0
...

Клиент МОЖЕТ пропинговать сервер.

rpcinfo -p 161.53.19.149

дает: rpcinfo: can't contact portmapper: RPC: Remote system error - Connection timed out

Тем не менее, я могу передать lnet от клиента на оба порта 111 и 2049.

Из того, что я прочитал, это должно быть проблема с брандмауэром, но, по-видимому, это не так, поскольку она не работает, даже если я отключаю брандмауэр на сервере (или даже на клиенте).

Как мне устранить эту проблему дальше?

1 Ответ

2 голосов
/ 20 апреля 2020

Вот лучшая книга, которую я нашел для поиска неисправностей соединений NFS: https://docs.oracle.com/cd/E23824_01/html/821-1454/rfsadmin-215.html

Медленно и осторожно следуйте этим инструкциям, и они должны решить проблему. Это do c является хорошим примером пошагового устранения неполадок, когда вы проверяете все предварительные условия подключения перед проверкой действительной службы, которую вы пытаетесь протестировать.

Вот некоторая дополнительная информация, которая может помочь:

  • Вывод сетевого анализатора прост - сервер не отвечает на запросы через порт NFS TCP. Я надеюсь, что IP-адрес сервера на самом деле не 255.255.255.255, так как это широковещательный адрес и он вряд ли будет работать надежно.

  • Возможно, вы удалили все брандмауэры, но сервер NFS имеет свой собственный контроль прав доступа в файле / etc / exports по ссылке, по которой вы переходили. Вам необходимо указать ВСЕ клиенты, а не только один IP-адрес. Вы также можете использовать диапазон сети, который включает в себя все клиенты. "man 5 exports" должен рассказать вам больше о том, как редактировать этот файл. Пожалуйста, НЕ вводите «*», чтобы соответствовать всем IP-адресам, как указано в ссылке HowToForge, что, как правило, является плохой идеей.

  • portmapper может использовать файлы разрешений обертки TCP - /etc/hosts.deny и /etc/hosts.allow - см. «man 5 hosts_access» для формата этих файлов. посмотрите в файлах системного журнала IP-адрес клиента, чтобы узнать, есть ли какие-либо сообщения об этом клиенте.

  • Даже если вы думаете, что выключили брандмауэр, запустите "iptables -vL "чтобы увидеть, есть ли какие-то правила, которые вы пропустили, и есть ли у них какие-либо обращения.

  • Если у вас есть настраиваемые параметры MTU на любой из машин (например, в параметрах хранилища * 1036) * Люди в ЛВС часто устанавливают большие пакеты), чтобы убедиться, что нет никаких несоответствий. Это вряд ли произойдет в домашней сети.

  • Ваш анализ показывает, что клиент пытается подключиться через TCP к порту 2048 nfs, возможно, клиент настроен для NFSv4 и сервера настроен для NFSv3 или ниже. Это можно увидеть с помощью команды rpcinfo, так как она показывает версии NFS, поддерживаемые сервером.

...