Рейтинг:0

Сервер NFS не отвечает на запрос монтирования nfs

флаг be

У меня есть сервер NFS, работающий на сервере Ubuntu на hirsute, который перестал отвечать на запросы монтирования после обновления, и я не могу понять, почему, а переустановка не включила nfs-server-back. Похоже, что службы auth-rpcgss-module и rpc-svcgssv не запущены; nfs-config больше не активен, но, похоже, выполнил свою задачу и вышел. Рядом с этими тремя были белые точки в выводе команды list-dependencies; остальные зеленые. и я попытался переустановить все пакеты без успеха для запуска NFS-сервера. Я пробовал маскировать оба модуля, но сервер все равно не запускается. Я даже поставил tshark для прослушивания порта 2049, но сервер не проявляет активности, а клиент отправляет пакет TCP SYN на порт без ответа. Служба nfs-server говорит, что запустилась, а потом вышла. Я схожу с ума здесь, кто-нибудь может помочь в отладке проблемы?

Это вывод состояния systemctl nfs-kernel-server:

$ sudo systemctl статус nfs-kernel-server.service 
nfs-server.service — NFS-сервер и службы
     Загружено: загружено (/lib/systemd/system/nfs-server.service; включено; предустановка поставщика: en>
    Вставка: /run/systemd/generator/nfs-server.service.d
             ââorder-with-mounts.conf
     Активен: активен (закрыт) с четверга 05 августа 2021 г., 16:33:30 CEST; 8 минут назад
    Процесс: 1655760 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
    Процесс: 1655761 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (код=выход, статус=0/SU>
   Основной PID: 1655761 (код=выход, статус=0/УСПЕХ)

05 августа, 16:33:29 calixto systemd[1]: запуск сервера и служб NFS...
05 августа, 16:33:30 calixto systemd[1]: завершен сервер и службы NFS.

Обновлено новой информацией: я безуспешно пытался смонтировать общий ресурс NFS с двух разных клиентских машин Linux. Я пронюхал сеть с помощью tshark, и кажется, что TCP SYN не приходит на сервер, так как я не вижу его в окне tshark на сервере. Затем я попытался смонтировать общие ресурсы непосредственно на сервере, и они смонтировались без проблем, поэтому может показаться, что есть что-то в том, как сервер ядра nfs открывает порт 2049. Сервер имеет мост между физическим сетевым интерфейсом и виртуальный, обслуживающий виртуальную машину KVM, а также множество других запущенных служб (Apache, сервер DLNa и еще несколько), которые работают без проблем! У меня нет подсказок о том, как отладить эту проблему, но теперь я уверен, что это связано с тем, как сервер ядра NFW прослушивает порт 2049... Есть какие-нибудь подсказки?

SEWTGIYWTKHNTDS avatar
флаг cn
Есть ли что-нибудь в /etc/exports для экспорта системой? что показывает `journalctl -xe`
Ignacio Más avatar
флаг be
Да, /etc/exports содержит каталоги для экспорта. Вот оно: `/экспорт 192.168.1.0/24 (RW, синхронизация) /export/Backup 192.168.1.3(rw,fsid=0,небезопасно,no_subtree_check,асинхронно) /экспорт/Медиа 192.168.1.0/24(ro,синхронизация)`
Ignacio Más avatar
флаг be
journalctl ничего не показывает. Вот почему я считаю, что это связано с сетью. О. Я вижу, что TCP-синхронизация исходит от клиента, но не поступает в экземпляр tshark на сервере. Такое ощущение, что как-то не маршрутизируется TCP сессия, но все остальные сервисы работают нормально, включая http, DLNA server, Mosquitto и ряд других
SEWTGIYWTKHNTDS avatar
флаг cn
Уфв работает? что-нибудь в ufw.log, относящееся к nfs или доступу от клиентов?
Ignacio Más avatar
флаг be
Нет, у меня не установлен ufw. Нет другого брандмауэра. Я вижу порт с netstat для tc и tcp6 следующим образом: 'sudo netstat -n -p --tcp --listening | группа 2049 - TCP 0 0 0.0.0.0:2049 0.0.0.0:* ПРОСЛУШАТЬ - tcp6 0 0 :::2049 :::* СЛУШАТЬ -'
Ignacio Más avatar
флаг be
Это сбивает с толку, что я могу смонтировать экспорт NFS с самого сервера, подключившись к внешнему IP-адресу «192.168.1.2», но не с какой-либо другой машины. Я просто не понимаю, куда сбрасываются пакеты, так как все остальные службы работают!
SEWTGIYWTKHNTDS avatar
флаг cn
Если вы запускаете `nmap` против системы с одной из клиентских машин, какие порты открыты?
Ignacio Más avatar
флаг be
'nmap-P 192.168.1.2 Начиная с Nmap 7.80 ( https://nmap.org ) 05 августа 2021 г., 21:07 CEST. Отчет сканирования Nmap для Calixto.MasFunke (192.168.1.2) Хост работает (задержка 0,00018 с). Не показано: 987 закрытых портов ГОСУДАРСТВЕННАЯ СЛУЖБА ПОРТА 22/tcp открыть ssh 25/tcp открыть smtp 80/tcp открыть http 111/tcp открыть rpcbind 139/tcp открыть netbios-ssn 443/tcp открыть https 445/tcp открыть microsoft-ds 2049/tcp открыть нфс 8080/tcp открыть http-прокси 8086/tcp открытый d-s-n 8200/tcp открыть тривнет1 9090/tcp открыть zeus-admin 9099/tcp открыть неизвестно MAC-адрес: C8:1F:66:BC:F2:FE (Dell)'
Ignacio Más avatar
флаг be
2049 открыт в соответствии с Nmap... так что в NFS-Kernelserver должно быть что-то, что отбрасывает пакеты... почему? бьет меня!
SEWTGIYWTKHNTDS avatar
флаг cn
Вы ожидаете, что все эти другие порты будут открыты на сервере nfs? Я думал, что Vm запускает эти службы. что показывает сканирование IP-адреса виртуальной машины? Это дает какие-то указания? Если nmap видит порты открытыми, я думаю, что пакеты проходят. поскольку вы можете установить их локально, я тоже сбит с толку!
SEWTGIYWTKHNTDS avatar
флаг cn
Однажды я столкнулся с проблемой, когда коммутатор не понимал, куда он должен отправлять пакеты, но я думаю, что все пакеты пропадали, мы не могли пропинговать сервер с других серверов, но вы можете :(. Ваши результаты всех ваших тестов совпадают мои серверы выводят, и это работает.Единственная разница, которую я вижу, это права доступа к файлу экспорта, у меня есть `/home/git 192.168.57.0/24(rw,sync,no_root_squash,no_all_squash)`, возможно, что-то изменилось в безопасности сервер nfs, который останавливает ваши соединения, я бы подумал, что системный журнал покажет что-то, хотя
Ignacio Más avatar
флаг be
Я использую виртуальную машину только для установки домашнего помощника. IP-адрес виртуальной машины (.38), которая использует виртуальный мост совместно с физическим интерфейсом, дает только два открытых порта (22, ssh и 8082 Home Assistant). У меня есть другой интерфейс на сервере (.37) на другом физическом сетевом адаптере, и сканирование Nmap на этом интерфейсе дает *те же* открытые порты, что и мостовой интерфейс, включая порт NFS. Я пробовал установить на этот интерфейс, но до сих пор нет ответа. Ну, спасибо за ваше время в любом случае! Я буду продолжать пробовать что-то, и если я придумал ответ, я тоже опубликую его...
Ignacio Más avatar
флаг be
Я тоже склоняюсь к тому, чтобы подумать о вариантах безопасности...буду пробовать там разные
SEWTGIYWTKHNTDS avatar
флаг cn
Удачи, надеюсь скоро разберетесь. Я заметил, что у вас есть два маршрута к вашей сети на сервере nfs, интересно, проблема ли в этом, пакеты могут возвращаться с другого IP-адреса (сервера nfs), чем они были отправлены. Почему бы не отключить интерфейс моста на сервере nfs и посмотреть, имеет ли это какое-то значение.
Ignacio Más avatar
флаг be
Добавление дополнительной информации: я протестировал создание tcptracerote для порта 2049, который отвечает на TCP SYN правильным [SYN, ACK], и я даже протестировал telneting с клиентской машины на порт 2049 на сервере, который также отвечает Установление ПТС. запуск tshark как на клиенте, так и на сервере показывает правильный TCP SYN + server SYN/ACK как для случая tcptraceroute, так и для telnet (показывая, что IP-маршрутизация работает правильно), но в случае использования команды mount в клиенте я вижу TCP SYN от клиента, но я не вижу *ничего* на сервере!!! Может проблема с монтированием на клиенте?!?!
SEWTGIYWTKHNTDS avatar
флаг cn
Это не имеет смысла, если вы можете подключиться к порту через telnet, и пакеты приходят на сервер, но команда mount отправляет те же пакеты синхронизации на тот же сервер, и они не приходят. Из интереса, какую команду монтирования вы используете?
Ignacio Más avatar
флаг be
Я знаю! Это не имело смысла, но теперь мне удалось изолировать проблему. Да, это было связано с сетью и из-за двух интерфейсов в одной подсети.Я включил второй интерфейс, перезагрузил свой коммутатор, и теперь я без проблем смонтировал общий ресурс NFS. Удивительно, почему работал telnet к порту и другим службам, но в любом случае, когда у меня просто есть мостовые интерфейсы (сервер + KVM VM) в одном физическом порту eth, он работает. Думаю, мне нужно освежить свои знания о протоколах L2. :-) явно была петля L2, нарушившая протокол NF. Спасибо за помощь!
SEWTGIYWTKHNTDS avatar
флаг cn
Приятно слышать, что ты разобрался

Ответить или комментировать

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