NFS расшифровывается как Сетевая Файловая Система. В этом руководстве будет подробно описано, как настроить расшаривание NFS на Ubuntu 20.04 и 22.04, чтобы другие устройства в вашей локальной сети могли иметь доступ к файлам и папкам на системах Ubuntu 20.04 и 22.04.
NFS предоставляет возможность обмена каталогами и файловыми системами по локальной сети. Также его можно настроить для работы через Интернет с применением VPN-протокола для шифрования соединения. В этом руководстве мы настроим расшаривание NFS-файлов в домашней сети с двумя компьютерами под управлением Ubuntu 20.04/22.04.
Содержание статьи
Конфигурация NFS-сервера.
На Ubuntu-сервере выполните установку пакета nfs-kernel-server.
sudo apt install nfs-kernel-server
Далее измените файл /etc/exports, используя текстовый редактор командной строки, например, Nano. Этот файл сообщает серверу NFS, какие директории или файловые системы должны быть доступны для клиента.
sudo nano /etc/exports
Следующий синтаксис:
/path/to/directory client-IP address(options)
Если вы желаете предоставить доступ к своему домашнему каталогу для другого компьютера на Ubuntu с IP-адресом 192.168.1.101, добавьте следующую строку в конец файла. Не забудьте заменить username на ваше реальное имя пользователя. Разделяйте два столбца с помощью клавиши Tab.
/home/username 192.168.1.101(rw, sync, root_squash, subtree_check)

Чтобы сохранить файл, нажмите Ctrl+O, а затем используйте Ctrl+X для выхода. IP-адрес клиентского устройства можно определить, выполнив следующую команду на стороне клиента.
ifconfig

Обновите файл /etc/exports.
sudo exportfs - ra sudo systemctl restart nfs-server
Конфигурация клиента
На втором компьютере с Ubuntu необходимо установить пакет nfs-common.
sudo apt install nfs-common
После этого внесите изменения в файл /etc/fstab.
sudo nano /etc/fstab
Вставьте указанную строку в файл, заменив nfs-server-ip на адрес сервера Ubuntu.
nfs-server-ip:/home/username /mnt/nfs-share nfs rw, soft, intr, noatime, x-gvfs-show
Эта команда подключит ваш домашний каталог к директории /mnt/nfs-share с правами на чтение и запись. Параметр x-gvfs-show даст возможность отображать общий каталог в файловом менеджере.
Сохраните файл и закройте его. После этого выполните создание точки монтирования.
sudo mkdir /mnt/nfs-share
Затем выполните следующую инструкцию.
sudo mount - a
Теперь у вас есть возможность открыть домашний каталог сервера через ваш файловый менеджер.

Чтобы предоставить доступ к своему домашнему каталогу для всех устройств в вашей локальной сети, внесите эту строку в файл /etc/exports, если 192.168.1.1 является IP-адресом вашего роутера.
/home/username 192.168.1.0/24(rw, sync, root_squash, subtree_check)
После внесения изменений в файл /etc/exports на сервере, выполните следующую команду для обновления конфигурации NFS.
sudo exportfs - ra
Если у вас нет возможности добавлять или удалять файлы и вносить изменения в общий ресурс NFS (доступ запрещен), это может быть связано с тем, что вы действуете от имени другого пользователя. Например, если файл принадлежит пользователю user1 на сервере, вы должны выполнять действия как user1, чтобы изменять данные в общем ресурсе NFS.
NFS по сети Интернет
По умолчанию NFS не обеспечивает шифрование. Если вы планируете подключаться к NFS через Интернет, рекомендуется использовать VPN, такой как WireGuard, для защиты соединения.
- Настройте индивидуальный сервер WireGuard VPN на Ubuntu.
Я предпочитаю WireGuard, так как он является самым быстрым VPN-протоколом.
Легкий способ улучшить эффективность NFS
Для улучшения производительности сетевого сервера рекомендуется активировать алгоритм TCP BBR.
- Увеличить производительность сети в Ubuntu можно, активировав TCP BBR.
Заключение
На этом заканчиваем! Надеюсь, этот урок был полезен для настройки NFS на Ubuntu. Вам также может быть интересно ознакомиться с:
- Как установить и настроить Samba Server на Ubuntu для обмена файлами.
Если этот пост оказался для вас полезным, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать дополнительные советы и рекомендации.

