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

Установите сервер и клиент NFS в Ubuntu


NFS или Network File System — это протокол распределенной файловой системы, первоначально разработанный только компанией Sun Microsystems. С помощью NFS вы можете разрешить системе делиться каталогами и файлами с другими пользователями по сети. Совместно используя файлы NFS, пользователи и даже программы могут получать доступ к информации в удаленных системах почти так же, как если бы они находились на локальном компьютере.

NFS работает в среде клиент-сервер, где сервер отвечает за управление аутентификацией, авторизацией и администрированием клиентов, а также за все данные, совместно используемые в конкретной файловой системе. После авторизации любое количество клиентов может получить доступ к общим данным, как если бы они находились в их внутреннем хранилище. Настроить сервер NFS в вашей системе Ubuntu очень просто. Вам нужно всего лишь выполнить некоторые необходимые установки и настройки как на сервере, так и на клиентских машинах, и все готово.

В этой статье мы шаг за шагом объясним, как настроить сервер и клиент NFS, которые позволят вам обмениваться файлами из одной системы Ubuntu в другую.

Мы выполнили команды и процедуры, описанные в этой статье, в системе Ubuntu 18.04 LTS и недавно протестировали их с новой Ubuntu 20.04. Поскольку для выполнения всех операций мы используем командную строку Ubuntu, терминал, открыть его можно либо с помощью системного тире, либо с помощью комбинации клавиш Ctrl+Alt+T.

Настройка хост-сервера

Чтобы настроить хост-систему для совместного использования каталогов, нам нужно будет установить на нее сервер ядра NFS, а затем создать и экспортировать каталоги, к которым мы хотим, чтобы клиентские системы имели доступ. Пожалуйста, выполните следующие действия, чтобы плавно настроить хост-сторону:

Шаг 1. Установите сервер ядра NFS

Перед установкой сервера ядра NFS нам необходимо обновить индекс репозитория нашей системы индексом из Интернета с помощью следующей apt-команды как sudo:

sudo apt-get update

Приведенная выше команда позволяет нам установить последнюю доступную версию программного обеспечения через репозитории Ubuntu.

Теперь выполните следующую команду, чтобы установить сервер ядра NFS в вашей системе:

sudo apt install nfs-kernel-server

Система предложит вам выбрать вариант «Да/нет», чтобы подтвердить, хотите ли вы продолжить установку. Пожалуйста, введите Y и нажмите Enter, чтобы продолжить, после чего программное обеспечение будет успешно установлено в вашей системе.

Шаг 2. Создайте каталог экспорта

Каталог, который мы хотим использовать совместно с клиентской системой, называется каталогом экспорта. Вы можете назвать его по своему выбору; здесь мы создаем каталог экспорта с именем «sharedfolder» в каталоге mnt(mount) нашей системы.

Используйте следующую команду, указав имя папки монтирования в соответствии с вашими потребностями, выполнив следующую команду от имени пользователя root:

sudo mkdir -p /mnt/sharedfolder

Поскольку мы хотим, чтобы все клиенты имели доступ к каталогу, мы удалим ограничительные разрешения для папки экспорта с помощью следующих команд:

sudo chown nobody:nogroup /mnt/sharedfolder
sudo chmod 777 /mnt/sharedfolder

Теперь все пользователи из всех групп клиентской системы смогут получить доступ к нашей «общей папке».

Вы можете создать столько подпапок в папке экспорта, сколько захотите, чтобы клиент мог получить к ним доступ.

Шаг 3. Назначьте доступ к серверу клиентам через файл экспорта NFS.

После создания папки экспорта нам нужно будет предоставить клиентам разрешение на доступ к компьютеру хост-сервера. Это разрешение определяется через файл экспорта, расположенный в папке /etc вашей системы. Используйте следующую команду, чтобы открыть этот файл через редактор Nano:

sudo nano /etc/exports

Для редактирования этого файла требуется root-доступ; поэтому вам нужно будет использовать sudo со своей командой. Вы также можете открыть файл в любом из ваших любимых текстовых редакторов.

Открыв файл, вы можете разрешить доступ к:

  • Один клиент, добавив в файл следующую строку:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
  • Несколько клиентов, добавив в файл следующие строки:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
  • Несколько клиентов, указав всю подсеть, к которой принадлежат клиенты:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)

В этом примере мы указываем всю подсеть всех клиентов, которым мы хотим предоставить доступ к нашей папке экспорта (общей папке):

Добавьте необходимые строки в файл экспорта, а затем сохраните его, нажав Ctrl+X, введя Y, а затем нажав Enter.

Разрешения «rw,sync,no_subtree_check», определенные в этом файле, означают, что клиент(ы) могут выполнять:

  • rw: операции чтения и записи.
  • синхронизация: записывайте любые изменения на диск перед их применением.
  • no_subtree_check: запретить проверку поддерева.

Шаг 4. Экспортируйте общий каталог

После выполнения всех вышеуказанных настроек в хост-системе пришло время экспортировать общий каталог с помощью следующей команды как sudo:

sudo exportfs -a

Наконец, чтобы все настройки вступили в силу, перезапустите сервер ядра NFS следующим образом:

$sudo systemctl restart nfs-kernel-server

Шаг 5: Откройте брандмауэр для клиента(ов)

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

sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

В нашем примере мы предоставляем доступ ко всей подсети клиентских компьютеров с помощью следующей команды:

sudo ufw allow from 192.168.100/24 to any port nfs

Теперь, когда вы проверите состояние вашего брандмауэра Ubuntu с помощью следующей команды, вы сможете просмотреть статус действия как «Разрешить» для IP-адреса клиента.

sudo ufw status

Теперь ваш хост-сервер готов экспортировать общую папку указанным клиентам через сервер ядра NFS.

Настройка клиентского компьютера

Теперь пришло время выполнить несколько простых настроек на клиентском компьютере, чтобы общую папку с хоста можно было подключить к клиенту и затем беспрепятственно получить к ней доступ.

Шаг 1. Установите NFS Common

Перед установкой приложения NFS Common нам необходимо обновить индекс репозитория нашей системы индексом из Интернета с помощью следующей apt-команды как sudo:

sudo apt-get update

Приведенная выше команда позволяет нам установить последнюю доступную версию программного обеспечения через репозитории Ubuntu.

Теперь выполните следующую команду, чтобы установить общий клиент NFS в вашей системе:

sudo apt-get install nfs-common

Система предложит вам выбрать вариант «Да/нет», чтобы подтвердить, хотите ли вы продолжить установку. Пожалуйста, введите Y и нажмите Enter, чтобы продолжить, после чего программное обеспечение будет успешно установлено в вашей системе.

Шаг 2. Создайте точку монтирования для общей папки хоста NFS.

Системе вашего клиента необходим каталог, в котором можно получить доступ ко всему содержимому, совместно используемому хост-сервером в папке экспорта. Вы можете создать эту папку в любом месте вашей системы. Мы создаем папку монтирования в каталоге mnt на машине нашего клиента:

sudo mkdir -p /mnt/sharedfolder_client

Шаг 3. Подключите общий каталог на клиенте.

Папка, которую вы создали на предыдущем шаге, похожа на любую другую папку в вашей системе, если только вы не смонтируете общий каталог с вашего хоста в эту вновь созданную папку.

Используйте следующую команду, чтобы смонтировать общую папку с хоста в папку монтирования на клиенте:

sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client

В нашем примере мы запускаем следующую команду для экспорта нашей «общей папки» с сервера в папку монтирования «sharedfolder_client» на клиентском компьютере:

sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client

Шаг 4. Проверьте соединение

Создайте или сохраните файл в папке экспорта хост-сервера NFS. Теперь откройте папку монтирования на клиентском компьютере; вы должны иметь возможность просматривать один и тот же файл, общий и доступный в этой папке.

Заключение

Настройка клиент-серверной среды NFS в системах Ubuntu — простая задача. Из этой статьи вы узнали, как установить необходимые пакеты NFS как на сервер, так и на клиенты. Вы также узнали, как настроить сервер NFS и клиентские компьютеры таким образом, чтобы папки можно было использовать совместно, а затем беспрепятственно получать к ним доступ без каких-либо проблем с брандмауэром или разрешениями. Теперь вы можете легко обмениваться контентом из одной системы Ubuntu в другую, используя протокол NFS.

Статьи по данной тематике: