Nfs share
Содержание
Конфигурирование NFS
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
bash-completion
,policycoreutils
,policycoreutils-python
,policycoreutils-devel
,setroubleshoot-server
,nfs-utils
Конфигурирование сетевой директории
Для развертывания NFS
необходимые утилиты и демоны включены в пакет nfs-utils
. Файл /etc/sysconfig/nfs
необходим для настроек параметров демона rpc.nfsd
.
В данном файле необходимо указать версию протокола NFS
- 4.1. Приводим файл /etc/sysconfig/nfs
к следующему виду:
[root@vm-01 ~]# cat /etc/sysconfig/nfs
#
# Optinal options passed to rquotad
RPCRQUOTADOPTS=""
#
# Optional arguments passed to in-kernel lockd
#LOCKDARG=
# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769
#
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
RPCNFSDARGS="-V 4.1"
# Number of nfs server processes to be started.
# The default is 8.
RPCNFSDCOUNT=8
# Set V4 grace period in seconds
#NFSD_V4_GRACE=90
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
RPCMOUNTDOPTS=""
#
# Optional arguments passed to rpc.statd. See rpc.statd(8)
STATDARG=""
#
# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
RPCIDMAPDARGS=""
#
# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
RPCGSSDARGS=""
# Enable usage of gssproxy. See gssproxy-mech(8).
GSS_USE_PROXY="no"
#
# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
RPCSVCGSSDARGS=""
#
# Optional arguments passed to blkmapd. See blkmapd(8)
BLKMAPDARGS=""
[root@vm-01 ~]#
Настройки сетевых директорий располагаются в файле /etc/exports
, для удобства, можно класть файлы с расширением .exports
в директорию /etc/exports.d
.
Структура файла /etc/exports следующая:
- Путь к сетевой директории
- Хост или сеть, для который будет предоставляться общий доступ к директории
- Опции для хоста
Создаем файл /etc/exports.d/public.exports
в котором будет указана сетевая директория, следующего содержания:
[root@vm-01 ~]# cat /etc/exports.d/public.exports
/srv/nfs/public 192.168.10.0/24(ro,no_root_squash)
[root@vm-01 ~]#
Директория /srv/nfs/public
доступна машинам из сети 192.168.10.0/24, директория доступна только для чтения.
Создаем директорию и записываем в нее проверочный файл:
[root@vm-01 ~]# mkdir -p /srv/nfs/public
[root@vm-01 ~]# printf "This is test file for NFSv4.1 for RHEL7.0\n" > /srv/nfs/public/nfs_test.txt
[root@vm-01 ~]# ls -lahi /srv/nfs/public/nfs_test.txt
12948466 -rw-r--r--. 1 root root 42 Nov 30 14:30 /srv/nfs/public/nfs_test.txt
[root@vm-01 ~]# cat /srv/nfs/public/nfs_test.txt
This is test file for NFSv4.1 for RHEL7.0
[root@vm-01 ~]#
Запуск
Запускаем сервис:
[root@vm-01 logs]# systemctl start httpd
[root@vm-01 logs]# systemctl is-active httpd
active
[root@vm-01 logs]#
Добавляем разрешение в файрволе:
[root@vm-01 ~]# firewall-cmd --add-service={http,https} --permanent
success
[root@vm-01 ~]# firewall-cmd --reload
success
[root@vm-01 ~]# firewall-cmd --list-services
dhcpv6-client https http ssh dns
[root@vm-01 ~]#
Проверка
С виртуальной машины vm-02
обратимся к странице при помощи утилиты curl
:
[root@vm-02 ~]# curl "http://192.168.1.1"
Hello world.
Tue Jan 23 13:57:22 MSK 2018
[root@vm-02 ~]#