Полное руководство по подключению к NFS в любом дистрибутиве Linux

Сетевая файловая система (NFS) — это стандартный протокол для доступа к общим папкам по сети в среде Unix-подобных систем, прежде всего Linux. Она позволяет монтировать удаленные каталоги с сервера на клиентскую машину так, как если бы они были локальными. Это идеальное решение для общего доступа к файлам в домашней сети, на сервере или в виртуальной инфраструктуре. Данное руководство подробно объясняет, как настроить клиентскую часть в любом популярном дистрибутиве Linux.

Установка NFS-клиента в разных дистрибутивах

Перед началом работы необходимо установить клиентское ПО. В большинстве дистрибутивов основной пакет называется nfs-utils или nfs-common.

Debian, Ubuntu, Linux Mint (пакетный менеджер apt):

sudo apt update

sudo apt install nfs-common

Fedora, RHEL, CentOS, AlmaLinux (пакетный менеджер dnf):

sudo dnf install nfs-utils

Arch Linux, Manjaro, EndeavourOS (пакетный менеджер pacman):

sudo pacman -S nfs-utils

openSUSE Leap и Tumbleweed (пакетный менеджер zypper):

sudo zypper install nfs-client

После установки система готова к подключению общих ресурсов.

Процесс подключения к NFS-ресурсу: от проверки до монтирования

Шаг 1: Проверка доступных ресурсов на сервере
Перед подключением всегда узнайте, какие директории (exports) сервер разрешил вам использовать. Для этого служит команда showmount:

sudo showmount -e <IP-адрес_или_имя_NFS_сервера>

Пример: sudo showmount -e 192.168.1.100 выведет список вроде /shared/media 192.168.1.0/24.

Окно терминала Linux с выполненной командой sudo showmount -e 192.168.1.100, показывающей список доступных NFS-ресурсов
Проверка списка директорий, экспортированных NFS-сервером, с помощью команды showmount -e

Шаг 2: Создание точки монтирования на клиенте
Точка монтирования — это пустая локальная папка, в которую «вставится» сетевая. Её можно создать где угодно, но часто для этого используют /mnt/ или /media/.

sudo mkdir -p /mnt/nfs_share

Шаг 3: Ручное монтирование ресурса (команда mount)
Смонтировать ресурс можно вручную с помощью универсальной команды mount.

sudo mount -t nfs <сервер>:<путь> <точка_монтирования>
Терминал с командой ручного монтирования NFS-ресурса: sudo mount -t nfs -o nolock 192.168.1.100:/shared/media /mnt/nfs_share
Пример команды для ручного монтирования сетевой папки NFS с ключевым параметром nolock

Пример для Ubuntu/Fedora/Arch:

sudo mount -t nfs 192.168.1.100:/shared/media /mnt/nfs_share

После успешного выполнения содержимое удаленной папки /shared/media будет доступно локально в /mnt/nfs_share.

Важные параметры монтирования для повышения надежности:

  • nolock: Отключает блокировку файлов. Критически важен для клиентов, не являющихся серверами NFS, чтобы избежать ошибок Stale file handle.

  • soft/hard: Задает поведение при потере связи с сервером. soft позволяет вернуть ошибку ввода-вывода, hard (по умолчанию) будет бесконечно пытаться переподключиться.

  • timeo=<значение>: Устанавливает таймаут в десятых долях секунды (например, timeo=300 для 30 секунд).

Пример надежной команды:

sudo mount -t nfs -o nolock,soft,timeo=300 192.168.1.100:/shared/media /mnt/nfs_share

Шаг 4: Автоматическое монтирование при загрузке (через /etc/fstab)
Чтобы ресурс подключался автоматически при каждой загрузке системы, добавьте запись в файл /etc/fstab. Откройте его в редакторе с правами root:

sudo nano /etc/fstab

Добавьте строку в формате:

<сервер>:<путь> <точка_монтирования> nfs <параметры> 0 0

Пример строки для fstab:

192.168.1.100:/shared/media /mnt/nfs_share nfs nolock,soft,timeo=300 0 0
Редактор nano с открытым файлом /etc/fstab, где выделена строка с настройкой автоматического монтирования NFS-шары при загрузке системы
Настройка автоматического монтирования NFS через запись в системном файле /etc/fstab

Для проверки и монтирования без перезагрузки выполните: sudo mount -a.

Проверка, размонтирование и безопасное удаление

  • Проверить успешность: Команда mount | grep nfs или df -hT покажет список смонтированных файловых систем, включая NFS.

  • Размонтировать ресурс: sudo umount /mnt/nfs_share. Если папка занята процессами, используйте sudo umount -l /mnt/nfs_share для «ленивого» размонтирования.

  • Удаление клиента (если не нужен): Удалите установленный пакет.

    • Ubuntu/Debian: sudo apt remove nfs-common

    • Fedora/RHEL: sudo dnf remove nfs-utils

    • Arch: sudo pacman -Rns nfs-utils

    • openSUSE: sudo zypper remove nfs-client

FAQ: Решение частых проблем с NFS в Linux

1. Ошибка «mount.nfs: access denied by server»
Сервер не разрешил доступ вашему IP-адресу. Убедитесь, что ваш клиентский IP указан в файле экспорта (/etc/exports) на сервере и что права на экспортируемую папку корректны (чаще всего нужен no_root_squash или соответствующий uid/gid).

2. Ошибка «Stale file handle»
Классическая проблема. Чаще всего возникает из-за отсутствия параметра nolock на клиенте или изменения экспорта на сервере после монтирования. Размонтируйте (umount -l) и смонтируйте заново с флагом nolock.

3. Подключение работает, но все файлы принадлежат пользователю «nobody»
На сервере включена опция root_squash (по умолчанию), которая «схлопывает» права root-пользователя с клиента в непривилегированного пользователя (nfsnobody). Для доверенных сетей на сервере в /etc/exports можно указать no_root_squash или настроить all_squash с явным указанием anonuid/anongid.

4. Подключение очень медленное или «зависает» при потере связи
Используйте параметры soft и timeo (например, soft,timeo=300), чтобы система не «зависала» при проблемах с сетью. Убедитесь в стабильности сетевого соединения.

5. NFS не работает через брандмауэр
NFS использует несколько портов. Для простоты на время настройки отключите брандмауэр или откройте порты 111 (rpcbind), 2049 (nfsd) и диапазон портов для mountd и statd (часто 32765-32769). Для постоянной работы настройте статические порты для служб NFS.

Заключение

Настройка клиента NFS в Linux — это четкий процесс: установите пакет, проверьте доступные ресурсы командой showmount, смонтируйте директорию с помощью mount и для постоянной работы добавьте запись в /etc/fstab. Ключ к стабильной работе — использование правильных параметров, таких как nolock и soft. Следуя этому руководству, вы сможете организовать надежный сетевой доступ к файлам между любыми дистрибутивами Linux.