Как настроить NFS-сервер Linux в домашней сети (и почему)
Если вам необходимо совместно использовать папки в сети и скорость является вашим главным приоритетом, NFS может стать для вас решением.
У меня есть различные папки, общие для всей моей сети. Некоторые из этих папок предназначены для файлов меньшего размера, к которым необходим доступ с каждого компьютера в моей локальной сети (локальной сети), тогда как другие, как правило, используются для файлов большего размера (например, видео). Однако для файлов меньшего размера (например, резервных копий гранок) я использую Samba, поскольку он гибкий и простой в использовании. Для файлов большего размера я часто использую NFS.
NFS означает «Сетевая файловая система» и представляет собой простую систему для совместного использования папок по сети. Помимо гибкости, с Samba немного проще работать, чем с NFS, поэтому многие предпочитают идти по этому пути. Но когда вам нужно сохранить файлы большего размера в сетевой ресурс, NFS — хороший вариант.
Я хочу показать вам, как настроить общий ресурс NFS в вашей сети с помощью Linux.
Как установить НФС
Что вам понадобится:Все, что вам для этого понадобится, — это работающий экземпляр Linux (я продемонстрирую на Pop!_OS на базе Ubuntu), пользователь с привилегиями sudo и домашняя сеть.
1. Установите необходимые серверные пакеты.
Войдите в свой компьютер с Linux, откройте окно терминала и приготовьтесь выполнить команду. Если вы предпочитаете дистрибутив Ubuntu, эта команда будет такой:
sudo apt-get install nfs-kernel-server -y
Если машина основана на Fedora, команда будет такой:
sudo dnf -install libnfsidmap sssd-nfs-idmap nfs-utils -y
Если машина основана на Arch, команда следующая:
sudo pacman -S nfs-utils
2. Установите необходимый клиентский пакет.
Мы уже установили клиентский пакет в Fedora и Arch, и нам нужно сделать то же самое в Ubuntu. Команда для этого:
sudo apt-get install nfs-common -y
Как создать общий ресурс NFS
1. Создайте новый каталог.
Далее мы создадим каталог для размещения файлов нашего общего ресурса NFS. Вы можете разместить его где угодно, но мы добавим его в корневой каталог с помощью команды:
sudo mkdir /share
2. Дайте папке соответствующие разрешения.
Когда общая папка создана, пришло время предоставить ей необходимые разрешения с помощью команды:
sudo chmod -R 777 /share
Как определить нашу новую долю с помощью NFS
Следующим шагом является определение новой доли. Для этого вам нужно знать IP-адрес компьютера, который будет иметь доступ к общему ресурсу. Имея эту информацию на руках, давайте определим долю.
1. Откройте файл конфигурации NFS.
Откройте файл конфигурации командой:
sudo nano /etc/exports
2. Добавьте долю
В файл экспорта добавьте следующее:
/share ADDRESS(rw)
Где АДРЕС — это IP-адрес клиентского компьютера, который будет иметь доступ к общему ресурсу NFS. Rw означает, что клиент будет иметь доступ для чтения и записи к общему ресурсу.
Как открыть брандмауэр
1. Машины на базе Fedora и Arch
Затем вам нужно будет открыть брандмауэр на вашем сервере. Если сервер представляет собой машину на базе Arch или Fedora, для этого используются следующие команды:
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --reload
2. Машины на базе Ubuntu
Если машина основана на Ubuntu, команда для открытия брандмауэра:
sudo ufw allow from 192.168.1.0/24 to any port nfs
Запустить службу
Теперь вы можете запустить службу NFS. Эту же команду можно использовать в системах Arch, Fedora и Ubuntu. Эта команда:
sudo systemctl --enable now nfs-server
Сервер должен запуститься и теперь готов к подключениям.
Как смонтировать общий ресурс
В отличие от Samba, общий ресурс не виден автоматически в вашей сети. Вместо этого вам нужно смонтировать его с других компьютеров с Linux. Вот как это сделать.
Допустим, IP-адрес вашего NFS-сервера — 192.168.1.176, а общий ресурс — /share. Чтобы смонтировать его на клиентском компьютере, сначала необходимо создать папку, для которой будет монтироваться общий ресурс. На клиентском компьютере введите команду:
nano mkdir ~/nfs_mount
Далее откройте файл fstab командой:
sudo nano /etc/fstab
Внизу файла добавьте следующую строку:
192.168.1.176:/share /home/USER/nfs_mount nfs rw 0 0
Где USER — ваше имя пользователя Linux.
Сохраните и закройте файл. Проверьте конфигурацию с помощью:
sudo mount -a
Вы не должны увидеть ошибок в выводе.
На этом этапе общий ресурс NFS теперь доступен на вашем компьютере с Linux из каталога ~/nfs_mount. Любые файлы, уже находящиеся в общем ресурсе, будут доступны, и любой файл, который вы добавите в ~/nfs_mount (на клиенте), появится в каталоге /share на сервере. Поскольку мы добавили команду монтирования в /etc/fstab, общий ресурс будет автоматически монтироваться даже после перезагрузки.