Руководство по монтированию NFS в Ubuntu: полное пошаговое руководство по настройке
11:01, 20.08.2026
Что такое NFS и зачем его использовать в Ubuntu?
Сетевая файловая система (NFS) — это протокол, позволяющий совместно использовать каталоги и файлы между системами Linux по сети. NFS особенно полезен, когда требуется централизованное хранилище файлов, доступное с нескольких компьютеров, что часто встречается в корпоративных средах, кластерах разработчиков или домашних лабораториях. Благодаря встроенной поддержке в Ubuntu NFS предлагает лёгкий, быстрый и простой в настройке способ управления сетевым доступом к файлам.
Понимание модели «клиент-сервер» в NFS
NFS работает по архитектуре «клиент-сервер». Сервер экспортирует (предоставляет общий доступ) каталоги, а клиент монтирует эти каталоги локально, взаимодействуя с ними так, как если бы они были частью локальной файловой системы. Такая архитектура делает NFS идеальным решением для распределенных вычислительных сред, таких как вычислительные кластеры или конвейеры CI/CD на базе Docker.
Как настроить сервер NFS в Ubuntu (установка и настройка)
Шаг 1: Установка сервера NFS в Ubuntu
Для начала установите пакет сервера NFS для ядра:
sudo apt update sudo apt install nfs-kernel-server
Это установит необходимые демоны для общего доступа к каталогам через NFS.
Настройка на стороне клиента
На клиентских машинах установите утилиты NFS-клиента:
sudo apt update sudo apt install nfs-common
Шаг 2: Создание и настройка общих каталогов на хосте
Допустим, вы хотите открыть общий доступ к /mnt/shared. Сначала создайте каталог и установите правильное владение:
sudo mkdir -p /mnt/shared sudo chown nobody:nogroup /mnt/shared
Вы можете настроить права доступа в соответствии с вашим сценарием использования, например, для многопользовательского доступа на запись.
Шаг 3: Предоставление доступа клиентским компьютерам
Отредактируйте файл /etc/exports , чтобы определить, какие клиенты могут получить доступ к каким каталогам:
/mnt/shared 192.168.1.0/24(rw,sync,no_subtree_check)
Это позволяет всей подсети 192.168.1.x монтировать каталог с правами чтения и записи.
Шаг 4: Экспорт общего каталога через NFS
После редактирования /etc/exports перезагрузите таблицу экспорта:
sudo exportfs -a
Убедитесь, что служба NFS включена и работает:
sudo systemctl enable nfs-server sudo systemctl start nfs-server
Шаг 5: Откройте доступ через брандмауэр для трафика NFS
Используйте UFW или iptables , чтобы разрешить порты, связанные с NFS (2049 для NFSv4):
sudo ufw allow from 192.168.1.0/24 to any port nfs sudo ufw reload
Устранение распространённых проблем с монтированием NFS
1. Не удаётся получить доступ к файлам в смонтированном ресурсе NFS
Убедитесь, что каталог ресурса NFS имеет правильные права доступа. Если владельцем является nobody:nogroup, измените права по необходимости с помощью команды chown или списков доступа (ACL) для более точного управления.
2. Сбой при монтировании NFS-ресурса
Убедитесь, что сервер доступен, а каталог экспортирован. Попробуйте:
sudo showmount -e <nfs-server-ip>
Ошибка: отказ в доступе со стороны сервера
Ещё раз проверьте настройки подсети или IP-адресов в файле /etc/exports. Несоответствие приведёт к ошибке «Permission Denied» («Доступ запрещён»).
3. Узкие места в производительности NFS и способы их устранения
Производительность может снижаться из-за режима синхронизации . Используйте async для повышения скорости, но только если вы готовы принять некоторый риск потери данных в случае сбоя системы. Рассмотрите возможность настройки параметров монтирования, таких как rsize, wsize, а также использование NFSv4 для повышения производительности и уменьшения количества открытых портов.
Рекомендации по надежной настройке NFS
Для надежной настройки NFS можно руководствоваться следующими принципами:
- Используйте статические IP-адреса или записи DNS для всех клиентов в /etc/exports.
- Отдавайте предпочтение NFSv4 для повышения безопасности и сокращения количества используемых портов.
- Обеспечьте безопасность вашей конфигурации с помощью правил брандмауэра и средств контроля доступа пользователей.
- Контролируйте работу вашего NFS-сервера с помощью таких инструментов, как nfsstat и iotop.
- Избегайте экспорта каталогов со сложной структурой прав доступа (например, /home), если вы не обеспечиваете согласованность идентификаторов пользователей между узлами.
Часто задаваемые вопросы
Как проверить, установлен ли NFS в Ubuntu?
Запустите dpkg -l | grep nfs или проверьте службы с помощью systemctl status nfs-server.
Можно ли смонтировать общий ресурс NFS на компьютере с Windows?
Да, Windows 10 Pro и более поздние версии поддерживают функции клиента NFS через дополнительную функцию «Services for NFS».
Почему мой NFS-монтируемый ресурс в Ubuntu доступен только для чтения?
Проверьте флаг ro в файле /etc/exports и убедитесь, что параметры монтирования на стороне клиента не навязывают режим «только для чтения».
Как перезапустить службу NFS в Ubuntu?
Используйте: sudo systemctl restart nfs-server.
Как принудительно размонтировать NFS?
Выполните: sudo umount -f /mount/point.
Поддерживает ли NFS шифрование?
Изначально — нет. Для безопасной передачи данных используйте NFS через VPN или настройте его с использованием Kerberos (NFSv4 с параметром sec=krb5p).
Как просмотреть активные NFS-соединения?
Используйте ss -tulpn | grep nfs, netstat, или проверьте с помощью nfsstat и /var/log/syslog.