Поиск по сайту:

Как установить сервер и клиент NFS в Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 10.04 (Lucid Lynx)

На этой странице

  1. Предпосылки
  2. Установка и настройка сервера NFS
  3. Установить пакет сервера NFS
  4. Настройка общего каталога
  5. Защита сервера NFS с помощью брандмауэра
  6. Установка и настройка клиента NFS
  7. Установка клиентского пакета NFS
  8. Настройка каталога монтирования
  9. Проверка доступа для записи к серверу NFS
  10. Автоматическое подключение сервера NFS с помощью /etc/fstab
  11. Заключение

Что такое НФС? 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\, чтобы получить привилегии суперпользователя.

ssh 
sudo su

Установить пакет сервера NFS

Перед установкой каких-либо пакетов запустите приведенную ниже команду apt, чтобы обновить и обновить репозиторий Ubuntu.

sudo apt update

Теперь установите пакет сервера 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 с помощью приведенной ниже команды.

cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

Настройка общего каталога

После установки пакета сервера 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\ с помощью следующей команды.

sudo nano /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 — отключает проверку поддерева и гарантирует отсутствие конфликтов при изменении пользователем имени файла.

Затем выполните следующую команду, чтобы применить и экспортировать все каталоги. Если вы не получили никакого сообщения, то ваши настройки верны.

sudo exportfs -a

Теперь выполните следующую команду, чтобы перезапустить и проверить службу NFS. И вы должны увидеть, что служба NFS работает с новым экспортированным каталогом.

sudo systemctl restart nfs-server
sudo systemctl status nfs-server

Выполните следующую команду, чтобы проверить доступные общие каталоги на сервере NFS. Вы должны увидеть две папки \/srv/backups\ и \/mnt/shared\, доступные клиентам как общие папки.

sudo exportfs -v

Защита 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, как показано ниже.

ssh 

Установка клиентского пакета NFS

Первый шаг, который вы будете делать на клиентской машине, это установка пакета nfs-common, который позволяет вам монтировать сервер NFS на клиентскую машину.

Запустите приведенную ниже команду apt, чтобы обновить репозитории Ubuntu.

sudo apt update

Теперь установите пакет \nfs-common\, используя следующую команду. Введите Y, чтобы подтвердить установку, и нажмите ENTER. Теперь начнется установка.

sudo apt install nfs-common

Настройка каталога монтирования

Прежде чем начать монтировать общий каталог NFS, вы создадите новый специальный каталог для места назначения монтирования. В этом примере. целевым каталогом для установки общих ресурсов NFS является каталог \/mnt/data\.

Выполните приведенную ниже команду, чтобы создать новый каталог \/mnt/data\.

sudo mkdir -p /mnt/data

Чтобы смонтировать общий каталог NFS, выполните приведенную ниже команду mount. В этой демонстрации вы будете монтировать общий каталог \/srv/backups\ в целевой каталог \/mnt/data\.

sudo mount nfs_server_ip:/srv/backups /mnt/data

Теперь выполните следующую команду, чтобы проверить список подключенных дисков на вашем компьютере с Ubuntu. Вы должны увидеть, что общий каталог NFS \/srv/backups\ смонтирован на вашем локальном компьютере в каталоге \/mnt/data\.

sudo df -h

Проверка доступа для записи к серверу 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\.

sudo umount /mnt/data

Отредактируйте файл \/etc/fstab\, используя приведенную ниже команду.

sudo nano /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\ будут смонтированы на вашем компьютере.

sudo mount -a

Проверьте список смонтированных дисков на клиентском компьютере с помощью приведенной ниже команды. И вы должны увидеть, что общий каталог NFS \/srv/backups\ подключен к целевому каталогу \/mnt/data\. Если вы перезапустите или перезагрузите клиентский компьютер, общий каталог NFS будет автоматически подключен к каталогу \/mnt/data\.

sudo df -h

Заключение

Поздравляем! Теперь вы успешно установили сервер NFS на сервер Ubuntu 22.04. вы также защитили доступ к серверу NFS с помощью брандмауэра UFW. В конце концов, вы также узнали, как настроить клиентский компьютер Ubuntu для монтирования общего каталога NFS, в том числе, как автоматически монтировать общий каталог NFS при запуске системы через файл \/etc/fstab\.