Рассмотрим процесс быстрой и простой настройкой NFS-сервера в системе RHEL7 Linux. Мы не принимаем во внимание какие-либо проблемы безопасности и не будем заниматься тонкой настройкой и контролем доступа. В нашем сценарии мы определяем два хоста:
- NFS сервер, IP 10.1.1.100
- Клиент NFS, IP 10.1.1.18
Предполагая, что у вас уже есть работающая система Redhat 7 Linux, чтобы настроить сервер NFS, вам нужно будет установить несколько дополнительных пакетов:
Конфигурация NFS-сервера
Выполните следующие команды, чтобы начать установку NFS-сервера:
[nfs-server ]# yum install nfs-utils rpcbind
Далее мы экспортируем произвольный каталог с именем /opt/nfs
. Создать /opt/nfs
каталог:
[nfs-server ]# mkdir -p /opt/nfs
и отредактируйте /etc/exports
файл экспорта NFS, добавив строку ниже, заменив IP-адрес 10.1.1.18
на IP-адрес вашего клиента:
/opt/nfs 10.1.1.18(no_root_squash,rw,sync)
Затем убедитесь, что на вашем брандмауэре включен порт 2049
для разрешения запросов клиентов:
[nfs-server ]# firewall-cmd --zone=public --add-port=2049/tcp --permanent
[nfs-server ]# firewall-cmd --reload
Запустите rpcbind
демон и NFS-сервер в следующем порядке:
[nfs-server ]# service rpcbind start; service nfs start
Проверьте состояние сервера NFS:
[nfs-server ]# service nfs status
Конфигурация клиента NFS
Чтобы иметь возможность монтировать экспортированные каталоги NFS на вашем клиенте, необходимо установить следующие пакеты. В зависимости от дистрибутива вашего клиента Linux процедура установки может отличаться. В Redhat 7 Linux шаги установки следующие:
[nfs-client] # yum install nfs-utils rpcbind
[nfs-client] # service rpcbind start
Осталось создать каталог точки монтирования, например. /mnt/nfs
и смонтировать ранее экспортированный /opt/nfs
каталог NFS :
[nfs-client ]# mkdir -p /mnt/nfs
[nfs-client ]# mount 10.1.1.110:/opt/nfs /mnt/nfs/
Проверьте правильность наших настроек между NFS-сервером и NFS-клиентом. Создайте произвольный файл в подключенном каталоге NFS на стороне клиента:
[nfs-client ]# cd /mnt/nfs/
[nfs-client ]# touch NFS.test
[nfs-client ]# ls -l
total 0
-rw-r--r--. 1 root root 0 Dec 11 08:13 NFS.test
Переместите серверную часть и проверьте, NFS.test
существует ли наш новый файл:
[nfs-server ]# cd /opt/nfs/
[nfs-server ]# ls -l
total 0
-rw-r--r--. 1 root root 0 Dec 11 08:13 NFS.test
Настройка постоянного монтирования NFS
Теперь, когда у нас есть базовая конфигурация NFS в системе RHEL7 Linux, мы можем добавить дополнительные параметры, такие как постоянство сервера и постоянное монтирование клиента с помощью /etc/fstab
. Чтобы наши NFS-экспорты были постоянно доступны после перезагрузки системы NFS-сервера, нам нужно убедиться, что nfs
служба запускается после перезагрузки:
[nfs-server ]# systemctl enable nfs-server
ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
Чтобы позволить клиенту постоянно монтировать экспортированный каталог NFS после перезагрузки, нам нужно определить процедуру монтирования в /etc/fstab
файле конфигурации. Откройте /etc/fstab
файл и добавьте следующую строку:
10.1.1.110:/opt/nfs/mnt/nfsnfsdefaults 0 0
Домашний каталог пользователя
В следующих шагах мы экспортируем домашний каталог пользователя /home/rhel7
. Так как NFS нужны полные права доступа для доступа /home/rhel7
:
[nfs-server ]# ls -ld /home/rhel7/
drwx------. 2 rhel7 rhel7 59 Jul 17 14:22 /home/rhel7/
мы свяжем его с новым каталогом:
[nfs-server ]# mkdir -p /exports/rhel7
[nfs-server ]# mount --bind /home/rhel7/ /exports/rhel7/
Чтобы сделать это постоянным, добавьте следующую строку в ваш /etc/fstab
файл:
/home/rhel7 /exports/rhel7 none bind 0 0
Затем добавьте еще одну строку экспорта в /etc/exports
файл:
/exports/rhel7 10.1.1.18(no_root_squash,rw,sync)
Реэкспорт всех каталогов NFS:
[nfs-server ]# exportfs -ra
Осталось смонтировать вышеуказанный каталог пользователя с помощью нашего клиентского хоста:
nfs-client ]# mount 10.1.1.110:/exports/rhel7 /mnt/rhel7/
[nfs-client ]# cd /mnt/rhel7/
[nfs-client ]# ls
[nfs-client ]# touch RHEL7-test-nfs
[nfs-client ]# ls
RHEL7-test-nfs
Убедитесь, что файл RHEL7-test-nfs
существует на сервере NFS:
# ls -l /home/rhel7/
total 0
-rw-r--r--. 1 root root 0 Dec 11 09:13 RHEL7-test-nfs