Установка и настройка клиентской части NFS
Ubuntu
На Убунту подключить настроенный сервер не составит труда. Делается это всего за пару команд.
Устанавливаем специальный клиентский пакет:
Дальше просто пользуемся командой:
Сетевая папка подключена. С помощью df можно проверить все подключенные сетевые папки:
Также можно проверить свой уровень доступа специальной командой:
Отключаем файловую систему следующим образом:
Почти везде используется команда mount. Она отвечает за процесс монтирования, то есть, подготовки пространства на жёстком диске для использования его операционной системой. Звучит сложно, но если упростить, получится, что мы просто перекидываем сетевые файлы на наш компьютер в новоявленную папку. Здесь она называется /mnt/.
Windows
С Виндой, как правило, всё складывается куда сложнее. NFS клиент без проблем можно запустить на всех серверных Windows. Из стандартных он присутствует на:
- Windows 7 Ultimate/Enterprise
- Windows 8/8.1 Enterprise
- Windows 10 Enterprise
Больше нигде не найти. Если у вас одна из этих версий, делаем следующее:
- Открываем меню «Программы и компоненты».
- Жмём «Добавление компонентов».
- Находим там NFS и ставим только «Клиент для NFS», другой компонент нам не нужен.
После подключения монтируется всё такой же командой:
Размонтировать можно следующим образом:
Команды вводятся в командную строку, запущенную от лица администратора. После этого вы без труда, пользуясь Проводником, сможете найти нужный сетевой диск.
А что делать, если клиента для NFS на компьютере нет? Можно попробовать загрузить софт через сайт Microsoft или со сторонних ресурсов. Возможно, что здесь понадобятся другие команды или действия.
Теперь у вас появились базовые представления о том, как можно использовать NFC и провести простейшую настройку. Этих знаний хватит, чтобы наладить доступ с одного компьютера к другому. Причём в роли клиента может выступить и ПК на Windows.
Step 3 — Configuring the NFS Exports on the Host Server
Next, we’ll dive into the NFS configuration file to set up the sharing of these resources.
Open the file in your text editor with root privileges:
The file has comments showing the general structure of each configuration line. The syntax is basically:
/etc/exports
We’ll need to create a line for each of the directories that we plan to share. Since our example client has an IP of , our lines will look like the following. Be sure to change the IPs to match your client:
/etc/exports
We’re using the same configuration options for both directories with the exception of . Let’s take a look at what each one means.
- rw: This option gives the client computer both read and write access to the volume.
- sync: This option forces NFS to write changes to disk before replying. This results in a more stable and consistent environment since the reply reflects the actual state of the remote volume. However, it also reduces the speed of file operations.
- no_subtree_check: This option prevents subtree checking, which is a process where the host must check whether the file is actually still available in the exported tree for every request. This can cause many problems when a file is renamed while the client has it opened. In almost all cases, it is better to disable subtree checking.
- no_root_squash: By default, NFS translates requests from a root user remotely into a non-privileged user on the server. This was intended as security feature to prevent a root account on the client from using the file system of the host as root. disables this behavior for certain shares.
When you are finished making your changes, save and close the file. Then, to make the shares available to the clients that you configured, restart the NFS server with the following command:
Before you can actually use the new shares, however, you’ll need to be sure that traffic to the shares is permitted by firewall rules
NFS и файл /etc/exports
Сетевая файловая система (Network File System, NFS) позволяет монтировать файловую систему с
удаленного компьютера так, как будто она локальная и находится в вашей системе. После такого
монтирования вы можете непосредственно обращаться к файлам этой удаленной файловой системы.
Преимущество состоит в том, что различные компьютеры сети могут получать прямой доступ к одним
и тем же файлам без необходимости создания их копий. Существует только один экземпляр файла,
находящийся в удаленной файловой системе, и к нему может обращаться любой компьютер.
Система NFS работает в сети TCP/IP. Удаленный компьютер, на котором находится файловая система,
предоставляет ее другим машинами сети. Это достигается за счет экспорта файловой системы, для
чего на удаленном компьютере следует добавить соответствующие строки в файл конфигурации NFS
(его имя — /etc/exports), а также запустить два процесса-демона,
обеспечивающих доступ к удаленному компьютеру (это программы rpc.mountd
и rpc.nfsd). В каждой строке файла /etc/exports
указывается экспортируемая система и сетевые компьютеры, которые имеют право доступа к ней.
Для файловой системы указывается точка монтирования — каталог, в который она монтируется.
Затем следует список компьютеров, имеющих к ней доступ. За каждым именем может следовать
разделенный запятыми список опций мон-тирования, взятый в круглые скобки. Например, одному
компьютеру можно предоставить доступ только для чтения, другому — для чтения и записи и т.д.
Если указаны только опции, они распространяются на всех. Перечень опций монтирования приведен
в . Ниже приведены примеры записей файла /etc/exports. К файловой системе,
смонтированной в каталоге /pub (это имя обычно используется для общедоступного каталога), всем
компьютерам предоставляется доступ только для чтения без проверки прав доступа. Компьютеру
ant.trek.com предоставляется доступ для чтения и записи к файловой системе, смонтированной в
каталоге /home/foodstuff. Следующая запись предоставляет
компьютеру biitterny.trek.com доступ к компакт-диску. Последняя запись запрещает всем
компьютерам доступ к каталогу /home/ richlp.
/etc/exports /pub (ro,insecure,all_squash) /home/foodstuff ant.trek.com(rw) /mnt/cdrom butterfly.trck.com(ro) /home/richip (noaccess)
Прежде чем начать пользоваться удаленной файловой системой, ее нужно смонтировать на локальном
компьютере. Удаленную файловую систему можно смонтировать, либо сделав соответствующую запись
в файле /etc/fetab, либо явно командой mount.
В строке, описывающей сетевую файловую систему, в поле filesystemtype файла /etc/fetab
тип файловой системы должен быть определен как NFS. Имя сетевой файловой системы состоит из
имени хост-компьютера, на котором она расположена, и путевого имени каталога, в котором она
находится. Эти имена разделяются двоеточием. Например, имя rose.berkeley.edu:/ home/project
относится к файловой системе, смонтированной в каталоге /home/ project
на компьютере rose.berkeley.edu.
Существует несколько специальных опций монтирования NFS, которые можно указать в файле
/etc/fstab. Допускается, в частности, указание размера передаваемых
и принимаемых дейтаграмм, а также периода, в течение которого компьютер будет ждать ответа от
удаленной системы. Можно указать и режим монтирования файловой системы — hard
или soft. Если система смонтирована в режиме hard,
то в случае, когда удаленная система не отвечает, ваш компьютер будет непрерывно пытаться
установить соединение с нею. При монтировании в режиме soft
компьютер прекращает попытки и выдает сообщение об ошибке. По умолчанию осуществляется монтирование
в режиме hard. Полный перечень опций монтирования NFS со стороны
клиента содержится на man-странице, относящейся к команде mount,
и в . Они отличаются от опций монтирования NFS на
стороне сервера.
Ниже приведен пример строки файла /etc/fstab для сетевой файловой
системы. Удаленная система — ant.trek.com, а файловая система
смонтирована в каталоге /home/projects. В локальной системе эту
файловую систему необходимо смонтировать в каталоге /home/richlp.
Тип системы — NFS. Опция timeo указывает на то, что локальная
система будет ожидать ответа в течение 20 десятых секунды, т.е. 2 секунды.
ant.trek.com:/home/projects /home/richlp nfs timeo=-20
Файловую систему NFS можно смонтировать явно командой mount с
опцией -t nfs. Предыдущая операция выполняется следующей командой:
t mount -t nfs -о timeo=20 aut.trek.com:/home/projects /home/richlp
Спонсоры:
Хостинг:
Maxim ChirkovДобавить, Поддержать, Вебмастеру
Версии и вариации [ править ]
Sun использовала версию 1 только для собственных экспериментальных целей. Когда группа разработчиков внесла существенные изменения в NFS версии 1 и выпустила ее вне Sun, они решили выпустить новую версию как v2, чтобы можно было протестировать взаимодействие версий и откат версии RPC.
NFSv2 править
Интерфейс виртуальной файловой системы допускает модульную реализацию, отраженную в простом протоколе. К февралю 1986 года были продемонстрированы реализации для таких операционных систем, как System V выпуска 2, DOS и VAX / VMS с использованием Eunice .
NFSv2 позволяет читать только первые 2 ГБ файла из-за 32-разрядных ограничений.
NFSv3 править
- поддержка 64-битных размеров файлов и смещений для обработки файлов размером более 2 гигабайт (ГБ);
- поддержка асинхронной записи на сервере для повышения производительности записи;
- дополнительные атрибуты файлов во многих ответах, чтобы избежать их повторной загрузки;
- операция READDIRPLUS, чтобы получить дескрипторы файлов и атрибуты вместе с именами файлов при сканировании каталога;
- разные другие улучшения.
Первое предложение по NFS версии 3 в Sun Microsystems было создано вскоре после выпуска NFS версии 2. Основным мотивом была попытка смягчить проблему производительности синхронной операции записи в NFS версии 2. К июлю 1992 года реализация Практика устранила многие недостатки NFS версии 2, оставив только отсутствие поддержки больших файлов (64-битные размеры файлов и смещения) насущной проблемой. Это стало острой проблемой для Digital Equipment Corporation с представлением 64-битной версии Ultrix для поддержки их недавно выпущенного 64-битного процессора RISC Alpha 21064 . На момент выпуска версии 3 поставщик поддерживал TCP какПротокол транспортного уровня начал расти. В то время как несколько поставщиков уже добавили поддержку NFS версии 2 с TCP в качестве транспорта, Sun Microsystems добавила поддержку TCP в качестве транспорта для NFS, в то же время добавила поддержку версии 3. Использование TCP в качестве транспорта, созданного с использованием NFS через глобальную сеть. более осуществимо и позволяло использовать более крупные объемы передачи для чтения и записи, превышающие ограничение в 8 КБ, налагаемое протоколом пользовательских дейтаграмм .
NFSv4 править
Одним из больших преимуществ NFSv4 по сравнению с его предшественниками является то, что для запуска службы используется только один порт UDP или TCP, 2049, что упрощает использование протокола через межсетевые экраны.
Другие расширения править
WebNFS , расширение для версий 2 и 3, позволяет NFS более легко интегрироваться в веб-браузеры и обеспечивать работу через брандмауэры. В 2007 году Sun Microsystems открыла исходный код своей реализации WebNFS на стороне клиента.
С NFS стали ассоциироваться различные протоколы боковой полосы. Примечание:
- протокол Network Lock Manager (NLM) с рекомендациями по диапазону байтов (добавлен для поддержки API-интерфейсов блокировки файлов UNIX System V )
- протокол удаленной отчетности о квотах (RQUOTAD), который позволяет пользователям NFS просматривать свои квоты хранения данных на серверах NFS
- NFS поверх RDMA , адаптация NFS, которая использует удаленный прямой доступ к памяти (RDMA) в качестве транспорта
- NFS-Ganesha, сервер NFS, работающий в пользовательском пространстве и поддерживающий различные файловые системы, такие как GPFS / Spectrum Scale, CephFS, через соответствующие модули FSAL (уровень абстракции файловой системы). CephFS FSAL поддерживается с помощью libcephfs
Надежная NFS (TNFS)
Conclusion
In this tutorial, we created an NFS host and illustrated some key NFS behaviours by creating two different NFS mounts, which we shared with our NFS client. If you’re looking to implement NFS in production, it’s important to note that the protocol itself is not encrypted. In cases where you’re sharing files that are intended to be publicly accessible, this doesn’t cause any serious problems.
If you’re using NFS for private data, however, you’ll need to decide how you want to protect that data. You might be able to route NFS over SSH or a VPN connection to create a more secure experience, but this often comes with a significant reduction in performance. If performance is an issue, consider SSHFS. It’s slightly slower than unencrypted NFS traffic, but usually much faster than tunnelled NFS. Kerberos authenticated encryption for NFS is another option to explore.
Поднимаем NFS сервер на Ubuntu
Сетевые файловые системы
4 минуты чтения
Рассказываем как быстро и просто поднять свой NFS сервер на Ubuntu Linux Server 14-04.1, а также разберёмся с принципами работы протокола NFS и рассмотрим теорию.
Теория
Аббревиатура NFS расшифровывается как Need for Speed – Network File System. Это протокол для доступа к распределённым сетевым файловым системам, с помощью которого можно подмонтировать удалённые директории к своему серверу. Это позволяет использовать дисковое пространство другого сервера для хранения файлов и регулярно производить запись данных на него с нескольких серверов.
Протокол имеет клиент-серверную модель, то есть один сервер (ещё его называют “шара” от слова share), с установленным пакетом NFS, будет обеспечивать доступ к своим каталогам и файлам, а клиентские компьютеры будут подключаться к нему по сети. Закрепим прочитанное схемкой:
Обращения к серверу NFS осуществляются в виде пакетов протокола RPC (Remote Call Procedure), который позволяет выполнить различные функции или процедуры в другом сетевом пространстве, то есть на удалённом сервере.
Авторизация пользователей, которые подключаются к серверу осуществляется по IP-адресу, а также по специальным идентификаторам пользователя UID и группы GID. Это не лучший способ относительно безопасности хранимых файлов, в сравнении с классической моделью «логин/пароль». Зато, благодаря такой архитектуре и тому, что NFS использовал протокол UDP без установления сессии, он практически невосприимчив к сбоям сети и самих клиентских компьютеров. Так, при каком-либо сбое, передача файла просто приостановится, а когда связь будет налажена, то передача возобновиться без необходимости какой-либо перенастройки.
Настройка
Думаю, с теорией понятно, так что давайте переходить к практике. Как было сказано, все настройки будет проводить на Ubuntu 14.04.1
Прежде всего, на компьютер, который будет выступать в роли сервера NFS, нужно установить необходимые компоненты.
Итак, скачиваем пакет nfs-kernel-server , с помощью которого мы сможем раздать доступ (“расшарить”) директории. Для этого на будущем NFS сервере вводим команды:
Теперь создаём собственно директорию к которой хотим раздать доступ. Стоит отметить, что можно также “расшарить” уже имеющиеся на сервере директории, но мы создадим новую:
Далее мы должны сделать так, чтобы владельцем директории /var/nfs и группе, к которой он принадлежит стали все пользователи в нашей системе. Для этого вводим на сервере команду:
Следующим шагом необходимо изменить конфигурацию самого NFS, она лежит в файле /etc/exports , открываем его для редактирования любимым редактором:
Перед вами откроется конфигурационный файл с закомментированными строками, которые содержат примеры настройки для разных версий NFS.
Нам необходимо внести в этот файл следующие не закомментированные строки:
- /var/nfs – Директория, которую мы хотим расшарить
- 10.10.0.10 – IP-адрес и маска клиентского компьютера, которому нужно раздать доступ к директории
- rw – Разрешает клиенту читать (r) и записывать (w) файлы в директории
- sync – Этот параметр заставляет NFS записывать изменения на диск перед ответом клиенту.
- no_subtree_check – Данная опция отключает проверку того, что пользователь обращается именно к файлу в определённом подкаталоге. Если это проверка включена, то могут возникнуть проблемы, когда, например, название файла или подкаталога было изменено и пользователь попробует к ним обратиться.
После этого, нужно создать таблицу соответствия расшаренных директорий и клиентов, а затем запустить NFS сервис. Для этого вводим следующие команды:
После выполненных действий расшаренные директории должны стать доступными для доступа с клиентов.
Пожалуйста, расскажите почему?
Нам жаль, что статья не была полезна для вас Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!
Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации Просто оставьте свои данные в форме ниже.
Главное меню » Операционная система Linux » Как настроить NFS (Network File System) на RHEL/CentOS/Fedora и Debian/Ubuntu
Configuring the Client Machine
Now is the time to make some simple configurations to the client machine, so that the shared folder from the host can be mounted to the client and then accessed smoothly.
Step 1: Install NFS Common
Before installing the NFS Common application, we need to update our system’s repository index with that of the Internet through the following apt command as sudo:
$ sudo apt-get update
The above command lets us install the latest available version of a software through the Ubuntu repositories.
Now, run the following command in order to install the NFS Common client on your system:
$ sudo apt-get install nfs-common
The system will prompt you with a Y/n option to confirm if you want to continue with the installation. Please enter Y and then hit Enter to continue, after which the software will be successfully installed on your system.
Step 2: Create a mount point for the NFS host’s shared folder
Your client’s system needs a directory where all the content shared by the host server in the export folder can be accessed. You can create this folder anywhere on your system. We are creating a mount folder in the mnt directory of our client’s machine:
$ sudo mkdir -p /mnt/sharedfolder_client
Step 3: Mount the shared directory on the client
The folder that you created in the above step is like any other folder on your system unless you mount the shared directory from your host to this newly created folder.
Use the following command in order to mount the shared folder from the host to a mount folder on the client:
$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client
In our example, we are running the following command to export our “sharedfolder” from the server to the mount folder “sharedfolder_client” on the client machine:
$ sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client
Step 4: Test the connection
Please create or save a file in the export folder of the NFS host server. Now, open the mount folder on the client machine; you should be able to view the same file shared and accessible in this folder.
Шаг 6. Настройте клиентов NFS.
На клиентских машинах нам нужно установить только инструменты, необходимые для монтирования удаленной файловой системы NFS.
Установите клиент NFS в Debian и Ubuntu
Выполните следующую команду, чтобы установить его:
sudo apt install nfs-common
Создайте точки монтирования на клиенте.
Теперь создаем на клиенте две директории для монтирования:
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Затем смонтируйте общие ресурсы, используя IP-адрес хоста:
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Убедитесь, что удаленные файловые системы успешно смонтированы, используя команду mount или команду:
df -h
Чтобы сделать монтирование постоянным при перезагрузке, откройте файл и добавьте следующие строки:
sudo nano /etc/fstab
Добавьте следующую строку:
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Step 6 — Testing NFS Access
Next, let’s test access to the shares by writing something to each of them.
Example 1: The General Purpose Share
First, write a test file to the share:
Then, check its ownership:
Because we mounted this volume without changing NFS’s default behavior and created the file as the client machine’s root user via the command, ownership of the file defaults to . client superusers won’t be able to perform typical administrative actions, like changing the owner of a file or creating a new directory for a group of users, on this NFS-mounted share.
Example 2: The Home Directory Share
To compare the permissions of the General Purpose share with the Home Directory share, create a file Home Directory the same way:
Then look at the ownership of the file:
We created as root using the command, exactly the same way we created the file. However, in this case it is owned by root because we overrode the default behavior when we specified the option on this mount. This allows our root users on the client machine to act as root and makes the administration of user accounts much more convenient. At the same time, it means we don’t have to give these users root access on the host.
Проблемы с гибернацией или выключением
После настройки автомонтирования сетевых папок NFS могут обнаружится некотрые проблемы с выключением или гибернацией системы. Чаще всего это проявляется как прерывающаяся гибернация (компьютер начинает уходить в гибернацию, гаснет экран, после чего экран опять загорается и работа продолжается, так же в этих случаях возможны проблемы с выключением и перезагрузкой системы. При последующих попытках отправить компьютер в гибернацию на черном экране вверрху можно наблюдать строку типа:
Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0)
Для диагностирования смотрим лог dmesg, возможный вывод:
dmesg | grep -A 2 refuse Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0): nfs D 0000000000000000 0 2065 1 0x00800004
или
dmesg | grep -A 2 refuse Freezing of tasks failed after 20.00 seconds (1 tasks refusing to freeze): updatedb.mloc D ffff88008e907578 0 9268 9261 0x00800004
Пакет, являющийся причиной зависания указан в начале строки, следующей после сообщения об ошибке.
Причина №1: пакет NFS
Причиной данной проблемы является скрипт прерывания работы NetworkManager, необходимо запретить его выполнение переименовав его:
sudo mv /usr/lib/pm-utils/sleep.d/55NetworkManager /usr/libg/pm-utils/sleep.d/old.55NetworkManager
Причина №2: пакет updatedb.mloc
updatedb является частью пакета mlocate— удобного пакета для быстрого поиска файлов по системе. К сожалению, версия 0.23.1-1ubuntu21), находящаяся в репозиториях Ubuntu содержит баг, при котором возникает ситуация, когда компьютер не может выключиться или отправиться в гибернацию, когда сервер NFS выключен. Для решения данной проблемы необходимо установить пакет версии 0.23.1-1 из репозитория debian-sid:
wget http://ftp.ru.debian.orgdebianpoolmainmmlocatemlocate_0.23.1-1_i386.deb sudodpkg-i mlocate*
Развитие на сегодняшний день
К 21-му столетию протоколы-конкуренты DFS и AFS не достигли какого-либо крупного коммерческого успеха по сравнению с Network File System. Компания IBM, которая ранее приобрела все коммерческие права на вышеуказанные технологии, безвозмездно передала большую часть исходного кода AFS сообществу свободных разработчиков программного обеспечения в 2000 году. Проект Open AFS существует и в наши дни. В начале 2005 года IBM объявила о завершении продаж AFS и DFS.
В свою очередь, в январе 2010 года компания Panasas предложила NFS v 4.1 на основе технологии, позволяющей улучшить возможности параллельного доступа к данным. Протокол Network File System v 4.1 определяет метод разделения метаданных файловой системы из местоположения определенных файлов. Таким образом, он выходит за рамки простого разделения имен/данных.
Что такое NFS этой версии на практике? Вышеуказанная особенность отличает его от традиционного протокола, который содержит имена файлов и их данных под одной привязкой к серверу. При реализации Network File System v 4.1 некоторые файлы могут распределяться между многоузловыми серверами, однако участие клиента в разделении метаданных и данных ограничено.
При реализации четвертого дистрибутива протокола NFS-сервер представляет собой набор серверных ресурсов или компонентов; предполагается, что они контролируются сервером метаданных.
Клиент по-прежнему обращается к одному серверу метаданных для обхода или взаимодействия с пространством имен. Когда он перемещает файлы на сервер и с него, он может напрямую взаимодействовать с набором данных, принадлежащих группе NFS.
Setting up the host server
In order to set up the host system to share directories, we will need to install the NFS Kernel server on it, and then create and export the directories that we want the client systems to access. Please follow these steps in order to smoothly set up the host side:
Step 1: Install NFS Kernel Server
Before installing the NFS Kernel server, we need to update our system’s repository index with that of the Internet through the following apt command as sudo:
$ sudo apt-get update
The above command lets us install the latest available version of a software through the Ubuntu repositories.
Now, run the following command in order to install the NFS Kernel Server on your system:
$ sudo apt install nfs-kernel-server
The system will prompt you with a Y/n option to confirm if you want to continue with the installation. Please enter Y and then hit Enter to continue, after which the software will be successfully installed on your system.
Step 2: Create the Export Directory
The directory that we want to share with the client system is called an export directory. You can name it according to your choice; here, we are creating an export directory by the name of “sharedfolder” in our system’s mnt(mount) directory.
Use the following command, by specifying a mount folder name according to your need, through the following command as root:
$ sudo mkdir -p /mnt/sharedfolder
As we want all clients to access the directory, we will remove restrictive permissions of the export folder through the following commands:
$ sudo chown nobody:nogroup /mnt/sharedfolder
$ sudo chmod 777 /mnt/sharedfolder
Now all users from all groups on the client system will be able to access our “sharedfolder”.
You can create as many sub-folders in the export folder as you want, for the client to access.
Step 3: Assign server access to client(s) through NFS export file
After creating the export folder, we will need to provide the clients the permission to access the host server machine. This permission is defined through the exports file located in your system’s /etc folder. Please use the following command in order to open this file through the Nano editor:
$ sudo nano /etc/exports
Editing this file needs root access; therefore you will need to use sudo with your command. You can also open the file in any of your personal favorite text editors.
Once you have opened the file, you can allow access to:
A single client by adding the following line in the file:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
Multiple clients by adding the following lines in the file:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
Multiple clients, by specifying an entire subnet that the clients belong to:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)
In this example, we are specifying an entire subnet of all the clients we want to grant access to our export folder (sharedfolder):
Add the required line(s) to your exports file and then save it by hitting Ctrl+X, entering Y, and then hitting Enter.
The permissions “rw,sync,no_subtree_check” permissions defined in this file mean that the client(s) can perform:
- rw: read and write operations
- sync: write any change to the disc before applying it
- no_subtree_check: prevent subtree checking
Step 4: Export the shared directory
After making all the above configurations in the host system, now is the time to export the shared directory through the following command as sudo:
$ sudo exportfs -a
Finally, in order to make all the configurations take effect, restart the NFS Kernel server as follows:
$sudo systemctl restart nfs-kernel-server
Step 5: Open firewall for the client (s)
An important step is to verify that the server’s firewall is open to the clients so that they can access the shared content. The following command will configure the firewall to give access to clients through NFS:
$ sudo ufw allow from to any port nfs
In our example, we are giving access to an entire subnet of clients machines through the following command:
$ sudo ufw allow from 192.168.100/24 to any port nfs
Now when you check the status of your Ubuntu firewall through the following command, you will be able to view the Action status as “Allow” for the client’s IP.
$ sudo ufw status
Your host server is now ready to export the shared folder to the specified client(s) through the NFS Kernel Server.