- Как установить сервер и клиент NFS в Ubuntu 22.04
- Предпосылки
- Установка и настройка NFS-сервера
- Установить пакет сервера NFS
- Настройка общего каталога
- Защита NFS-сервера с помощью брандмауэра
- Установка и настройка клиента NFS
- Установка клиентского пакета NFS
- Настройка каталога монтирования
- Проверка доступа для записи к серверу NFS
- Автоматически монтировать сервер NFS с помощью /etc/fstab
- Заключение
Как установить сервер и клиент NFS в Ubuntu 22.04
Что такое НФС? NFS или сетевая файловая система — это протокол, который позволяет локальным пользователям получать доступ к удаленным данным с нескольких дисков и каталогов так же, как и локальный доступ. Протокол NFS изначально был разработан Sun Microsystem и стал стандартным протоколом для обмена файлами по сети. Он широко используется в централизованной среде, где пользователи или клиентские компьютеры смогут хранить и получать доступ к данным на одном централизованном удаленном сервере.
В большинстве систем Linux NFS можно легко установить и настроить как для сервера NFS, так и для клиента. Почти каждый дистрибутив Linux по умолчанию предоставляет пакеты NFS в собственном репозитории. Имя пакета отличается, но конфигурация остается неизменной почти для всех дистрибутивов Linux.
В этом руководстве вы узнаете, как установить сервер и клиент NFS на сервере Ubuntu 22.04. Вы также узнаете, как автоматически монтировать общий каталог NFS при загрузке системы на клиентской машине.
Предпосылки
Для этого руководства требуются следующие предварительные условия:
- Сервер Ubuntu 22.04 — для установки сервера NFS.
- Клиентский компьютер Linux. Этот пример будет использоваться клиентским компьютером Ubuntu.
- Пользователь без полномочий root с правами root/администратора.
Установка и настройка NFS-сервера
Первое, что вам нужно сделать, это установить и настроить сервер NFS. Прежде чем начать, войдите на свой сервер и получите привилегии root.
Вы можете войти в систему, используя команду ssh ниже. Затем выполните команду \sudo su\, чтобы получить привилегии суперпользователя.
Установить пакет сервера NFS
Перед установкой каких-либо пакетов запустите приведенную ниже команду apt, чтобы обновить и обновить репозиторий Ubuntu.
Теперь установите пакет сервера NFS, используя приведенную ниже команду. Введите Y, чтобы подтвердить установку, и нажмите ENTER, и установка начнется.
sudo apt install nfs-kernel-server
После завершения установки сервера NFS проверьте и проверьте службу сервера NFS с помощью следующей команды. При установке Ubuntu сервер NFS будет автоматически включен и будет автоматически запускаться при загрузке системы.
sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server
На сервере Ubuntu 22.04 конфигурация NFS изменилась. Основная конфигурация для NFS находится в файле \/etc/nfs.conf\, который позволяет установить и настроить сервер NFS. Другая конфигурация для службы NFS находится в папке \/etc/default/nfs-*\, ее можно использовать для настройки службы NFS в зависимости от того, как она будет работать.
Кроме того, версии NFS по умолчанию, включенные при установке по умолчанию, — это NFSv3 и NFSv4. Вы можете проверить включенные по умолчанию версии NFS с помощью приведенной ниже команды.
Настройка общего каталога
После установки пакета сервера NFS вы будете настраивать общие каталоги. Общие каталоги NFS можно определить с помощью файла \/etc/exports\. Кроме того, вы можете указать IP-адрес клиента для общего каталога или настроить чтение/запись в общий каталог.
Запустите приведенную ниже команду, чтобы создать новые общие каталоги. В этом примере для клиентов будут доступны два общих каталога: \/srv/backups\ и \/mnt/shared\.
sudo mkdir -p /srv/backups /mnt/shared
Теперь измените владельца и права доступа к общим каталогам с помощью приведенной ниже команды. Пользователь и группа должны быть \nobody:nogroup\, а разрешение будет \777\, чтобы обеспечить возможность записи в общие каталоги.
sudo chown -R nobody:nogroup /srv/backups /mnt/shared
sudo chmod 777 /srv/backups /mnt/shared
Затем измените файл \/etc/exports\ с помощью следующей команды.
Добавьте следующую конфигурацию в файл.
/srv/backups 192.168.5.100(rw,sync,no_subtree_check)
/mnt/shared 192.168.10.0/24(rw,sync,no_subtree_check)
Сохраните и закройте файл, когда закончите.
- Каталог \/srv/backups\ будет доступен только для клиента NFS с IP-адресом \192.168.5.100\.
- Каталог \/mnt/shared\ будет доступен для всех клиентов во всей сети \192.168.10.0/24\.
- rw — включить чтение и запись для общего каталога.
- синхронизация — разрешить NFS записывать изменения перед ответом клиентским компьютерам и гарантировать, что сервер NFS всегда будет доступен клиентам.
- no_subtree_check — отключает проверку поддерева и гарантирует отсутствие конфликтов при изменении пользователем имени файла.
Затем выполните следующую команду, чтобы применить и экспортировать все каталоги. Если вы не получили никакого сообщения, то ваши настройки верны.
Теперь выполните следующую команду, чтобы перезапустить и проверить службу NFS. И вы должны увидеть, что служба NFS работает с новым экспортированным каталогом.
sudo systemctl restart nfs-server
sudo systemctl status nfs-server
Выполните следующую команду, чтобы проверить доступные общие каталоги на сервере NFS. Вы должны увидеть две папки \/srv/backups\ и \/mnt/shared\, доступные клиентам как общие папки.
Защита NFS-сервера с помощью брандмауэра
После настройки общего каталога NFS пришло время защитить сервер NFS с помощью брандмауэра, в данном случае брандмауэром по умолчанию для Ubuntu является UFW.
Как вы можете видеть сверху, каждый общий каталог доступен через определенный клиентский IP-адрес и сеть. Поэтому вам нужно будет указать IP-адрес клиента или сеть в правиле брандмауэра UFW, которому будет разрешен доступ к порту службы NFS.
Запустите приведенную ниже команду ufw, чтобы разрешить IP-адресу клиента \192.168.5.100\ и сети \192.168.10.0/24\ доступ к сервисному порту NFS. .
sudo ufw allow from 192.168.5.100 to any port nfs
sudo ufw allow from 192.168.10.0/24 to any port nfs
Теперь перезагрузите правило брандмауэра UFW и проверьте список правил брандмауэра с помощью приведенной ниже команды. Вы должны увидеть, что порт службы NFS по умолчанию \2049\ доступен через определенные клиентские IP-адреса и сети.
sudo ufw reload
sudo ufw status
Установка и настройка клиента NFS
После того, как вы установили сервер NFS, пришло время настроить клиент NFS и смонтировать общий каталог на клиентской машине. В этом примере клиент также будет машиной Ubuntu.
Войдите в свою клиентскую машину Ubuntu. Если вы используете рабочий стол Ubuntu, вы можете просто открыть терминал в своей системе. Но если вы используете версию Ubuntu Server для клиента, вы можете подключиться с помощью команды ssh, как показано ниже.
Установка клиентского пакета NFS
Первый шаг, который вы будете делать на клиентской машине, это установка пакета nfs-common, который позволяет вам монтировать сервер NFS на клиентскую машину.
Запустите приведенную ниже команду apt, чтобы обновить репозитории Ubuntu.
Теперь установите пакет \nfs-common\, используя следующую команду. Введите Y, чтобы подтвердить установку, и нажмите ENTER. Теперь начнется установка.
sudo apt install nfs-common
Настройка каталога монтирования
Прежде чем начать монтировать общий каталог NFS, вы создадите новый специальный каталог для места назначения монтирования. В этом примере. целевым каталогом для установки общих ресурсов NFS является каталог \/mnt/data\.
Выполните приведенную ниже команду, чтобы создать новый каталог \/mnt/data\.
Чтобы смонтировать общий каталог NFS, выполните приведенную ниже команду mount. В этой демонстрации вы будете монтировать общий каталог \/srv/backups\ в целевой каталог \/mnt/data\.
sudo mount nfs_server_ip:/srv/backups /mnt/data
Теперь выполните следующую команду, чтобы проверить список подключенных дисков на вашем компьютере с Ubuntu. Вы должны увидеть, что общий каталог NFS \/srv/backups\ смонтирован на вашем локальном компьютере в каталоге \/mnt/data\.
Проверка доступа для записи к серверу NFS
После того, как вы успешно смонтировали общий каталог NFS, пришло время проверить доступ для записи к общему каталогу NFS.
Теперь выполните следующую команду, чтобы создать и записать новый файл \write.txt\ в целевой смонтированный каталог NFS \/mnt/data/\.
echo "This file from client" > /mnt/data/write.txt
cat /mnt/data/write.txt
Затем вернитесь к серверу NFS и выполните следующую команду, чтобы проверить файл \write.txt\. Вы должны увидеть точно такой же файл, который вы только что создали на клиентской машине NFS.
cat /srv/backups/write.txt
ls /srv/backups/
Автоматически монтировать сервер NFS с помощью /etc/fstab
На этом этапе вы успешно смонтировали общий каталог NFS на клиентской машине Ubuntu и проверили доступ для записи к общему каталогу. Теперь вы настроите общий каталог NFS для автоматического монтирования во время загрузки системы, и это можно сделать с помощью файла /etc/fstab.
Перед редактированием файла /etc/fstab выполните следующую команду, чтобы отключить общий каталог NFS от целевого \/mnt/data\.
Отредактируйте файл \/etc/fstab\, используя приведенную ниже команду.
Добавьте следующую конфигурацию в файл.
nfs_server_ip:/srv/backups /mnt/data nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Сохраните и закройте файл, когда закончите.
Затем запустите приведенную ниже команду mount, чтобы проверить файл \/etc/fstab\. Если ваша конфигурация правильная, все файловые системы в файле \/etc/fstab\ будут смонтированы на вашем компьютере.
Проверьте список смонтированных дисков на клиентском компьютере с помощью приведенной ниже команды. И вы должны увидеть, что общий каталог NFS \/srv/backups\ подключен к целевому каталогу \/mnt/data\. Если вы перезапустите или перезагрузите клиентский компьютер, общий каталог NFS будет автоматически подключен к каталогу \/mnt/data\.
Заключение
Поздравляем! Теперь вы успешно установили сервер NFS на сервер Ubuntu 22.04. вы также защитили доступ к серверу NFS с помощью брандмауэра UFW. В конце концов, вы также узнали, как настроить клиентский компьютер Ubuntu для монтирования общего каталога NFS, в том числе, как автоматически монтировать общий каталог NFS при запуске системы через файл \/etc/fstab\.