NFS (сетевая файловая система) — это протокол файловой системы, который позволяет пользователям просматривать и получать доступ к файлам и папкам в удаленной системе, как если бы они хранились локально. Это конфигурация клиент-сервер, в которой система, которая совместно использует хранилище, называется сервером, а система, которая обращается к хранилищу, хранящемуся на сервере, называется клиентом. NFS позволяет пользователям или системным администраторам монтировать всю или часть файловой системы сервера в системе клиента. Затем клиенты могут получить доступ к смонтированным файлам на основе определенных разрешений (чтение, запись), назначенных этим файлам.
Создание конфигурации клиент-сервер NFS — это простая задача, которую можно выполнить в несколько шагов — установка, экспорт, монтирование и доступ. В этой статье мы объясним процесс настройки сервера и клиента NFS в системе Debian, чтобы вы могли обмениваться файлами между удаленными системами.
NFS Server
Чтобы настроить хост-систему для совместного использования каталогов, нам нужно будет установить в ней сервер ядра NFS. Для этого выполните следующие действия:
Шаг 1: Установка сервера NFS
Перед тем, как приступить к установке сервера NFS, обновите индекс вашего системного репозитория, выполнив следующую команду в Терминале:
1 | sudo apt-get update |
После обновления установите NFS. Сервер ядра, выполнив следующую команду в Терминале:
1 | sudo apt install nfs-kernel-server |
Система может предоставить вам параметр Y / n для подтверждения установки. Нажмите y для подтверждения, и установка начнется в вашей системе.
Шаг 2. Создание каталога экспорта
Теперь нам нужно создать каталог экспорта, который будет использоваться для совместного использования с системами клиента. Вы можете обозначить его по своему усмотрению. Здесь мы создаем каталог экспорта с именем «sharedfolder» в каталоге / mnt.
Выполните следующую команду, указав путь к каталогу экспорта следующим образом:
1 | sudo mkdir –p /mnt/sharedfolder |
Чтобы разрешить всем клиентам доступ к каталогу экспорта, вам необходимо удалить ограничительные разрешения. Для этого выполните следующую команду:
1 | sudo chown nobody:nogroup /mnt/sharedfolder |
Затем примените новое разрешение, которое позволяет всем читать, писать и выполнять доступ.
1 | sudo chmod 755 /mnt/sharedfolder |
Это позволит всем клиентам получить доступ к общей папке.
Шаг 3: Настройте каталог экспорта
Файл конфигурации для сервера NFS находится в каталоге / etc /. Здесь вы можете указать каталоги, которые вы хотите предоставить своим клиентам, вместе с именами хостов клиентов. Чтобы отредактировать файл / etc / exports с помощью редактора nano, выполните следующую команду от имени sudo в Терминале:
$ sudo nano /etc/exports
Используйте следующий формат для назначения доступа клиентам:
1 | directory hostname(options) |
Чтобы разрешить доступ к одному client, добавьте в него следующую строку:
1 | /mnt/sharedfolder clientIP(rw,sync,no_subtree_check) |
Чтобы разрешить доступ нескольким клиентам, добавьте в него следующую строку:
1 2 | /mnt/sharedfolder client1IP(rw,sync,no_subtree_check) /mnt/sharedfolder client2IP(rw,sync,no_subtree_check) |
Чтобы разрешить доступ нескольким клиентам, указав всю подсеть, добавьте следующее строка в нем:
1 | /mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check) |
Здесь мы указываем всю подсеть для клиентов, чтобы разрешить им доступ к нашему общему каталогу.
Закончив редактирование файла /etc/exports, нажмите ctrl + O для сохранения и ctrl + X для выхода из файла.
Параметры (rw, sync, no_subtree_check) в приведенном выше файле означают, что клиент имеет следующие разрешения:
- r w : операции чтения и записи
- sync : записывать любые изменения на диск перед их применением
- no_subtree_check : нет проверки поддерева
Шаг 4: Экспорт общего каталога
Далее на этом шаге вам нужно будет экспортировать общий каталог, указанный в / etc / exports. Для этого выполните следующую команду в Терминале:
1 | sudo exportfs –a |
Затем перезапустите сервер ядра NFS, чтобы применить изменения конфигурации.
Шаг 5: Настройте брандмауэр
Теперь важно убедиться, что сервер открыт для клиентов для доступа к общему контенту. Вам необходимо добавить правило, разрешающее трафик от указанных клиентов к порту NFS. Для этого используйте следующий синтаксис:
1 | sudo ufw allow from [client-IP or client-Subnet] to any port nfs |
В нашем примере мы собираемся разрешить всю подсеть 192.168.72.0 для порта NF:
1 | sudo ufw allow from 192.168.72.0/24 to any port nfs |
Теперь, чтобы проверить, успешно ли добавлено правило, выполните следующую команду в Терминале:
1 | sudo ufw status |
Теперь наш хост-сервер NFS настроен и готов к доступу указанным клиентам.
Настройка клиентской машины
Теперь мы настроим клиентскую машину, чтобы они имели доступ к каталогу экспорта сервера. Для этого выполните следующие шаги:
Шаг 1. Установите клиент NFS
Сначала обновите индекс репозитория клиентского компьютера, выполнив следующую команду в Терминале:
1 | sudo apt-get update |
Затем установите клиентское приложение NFS, известное как NFS common, запустив следующую команду в Терминале:
1 | sudo apt-get install nfs-common |
Система может предоставить вам вариант Y / n для подтверждения установки. Нажмите y для подтверждения, и установка начнется в вашей системе.
Шаг 2. Создайте точку монтирования для общей папки сервера NFS
Теперь создайте точку монтирования, которая будет использоваться для доступа к общему содержимому сервера. Здесь мы создаем точку монтирования с именем "sharedfolder_clientr" в каталоге / mnt. Для этого мы использовали следующую команду:
1 | sudo mkdir -p /mnt/sharedfolder_client |
Шаг 3: Подключите общий каталог сервера к клиенту
На предыдущем шаге мы создали точку монтирования. Теперь мы смонтируем общий каталог сервера NFS в созданную выше точку монтирования. Для этой цели можно использовать следующий синтаксис:
1 | sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client |
Например, в нашем случае мы смонтируем общий каталог «/ mnt / sharedfolder» с сервера NFS в точку монтирования «/ mnt / mountfolder_client» на нашем клиентском компьютере.
Шаг 4: Проверьте соединение
Теперь пришло время протестировать нашу настройку клиент-сервер NFS. Для этого создайте тестовый файл или папку в общем каталоге вашего сервера NFS. Как и в приведенном ниже примере, вы можете видеть, что мы создали две папки с именами «документы» и «музыка» в общем каталоге нашего сервера NFS.
Теперь откройте точку монтирования на вашем клиентском компьютере. Здесь вы увидите те же файлы и папки, которые были созданы в общем каталоге сервера.
Вот и все! Надеюсь, вы научились устанавливать и настраивать сервер и клиент NFS в системе Debian 10. В этой статье также рассказывается, как получить доступ к хосту NFS для доступа к общей информации.