0

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

Краткая записка по установке и настройке NFS сервера на Centos6. Ничего необычного, просто на память.

Подготовка

На клиенте и сервере:
# yum install nfs-utils nfs-utils-lib
# service rpcbind start
# chkconfig rpcbind on
# service nfs start
# chkconfig nfs on

Создаю директорию для шары:
# mkdir /nfsshare

Настройка экспортов NFS:
Настройка происходит в /etc/exports

/nfsshare/  192.168.122.0/24(rw,sync,root_squash,all_squash,anonuid=501,anongud=501)

В этом случае происходит следующее:
Все пользователи, в том числе root преобразуются в пользователя c uid и gid 501.
Есть возможность маппинг пользователей, но я с этой темой не разобрался.

Открытие необходиых портов

Сначала фиксируем используемые порты в /etc/sysconfig/nfs:

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020

Применяю изменения:
# service portmap restart
# service nfs restart

На сервере необходимо открыть следующие порты на входящий трафик:
— 111 TCP/UDP
— 2049 TCP
— 32803 TCP
— 32769 UDP
— 875 TCP/UDP
— 892 TCP/UDP
— 662 TCP/UDP

Для этого в /etc/sysconfig/iptables прописываю:

-A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 662 -j ACCEP

и перезапускаю iptables:
# service iptables restart

Монтирование на клиенте:

# mount -t nfs 192.168.122.175:/var/nfstest /mnt/

Оставлю пару ссылок по тюнингу NFS:
NFS Tuning 1
NFS Tuning 2

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.