Ve výchozím nastavení některé služby NFS (strana_serveru) používají dobře známé porty, ale některé normálně používají pouze náhodné porty. Použití náhodných portů nefunguje tak dobře s přísnými pravidly brány firewall blokujícími náhodné, ale neznámé porty. Někdy je tedy nejlepší ručně změnit nebo zadat statické porty pro služby NFS (strana_serveru), které se mají používat.
Tento příspěvek popisuje, jak nakonfigurovat služby NFS (na straně serveru), aby se alternativně spouštěly na statických portech.
Přehled
Služby NFS (na straně serveru) zahrnují:
- NLM (správce uzamčení NFS nebo uzamčení v jádře)
- rpc.mountd
- rpc.nfsd
- rpc.rquotad
- rpc.statd
Upozorňujeme, že lockd a rpc.statd běží také na klientech NFS. Také rpc.rquotad není striktně součástí rodiny NFS, ale používá se ke kontrole kvót na souborových systémech sdílených serverem NFS a připojených jedním nebo více klienty NFS.
S NFSv3 rpc.nfsd spolupracuje s LOCKD/NLM, rpc.mountd a rpc.statd. S NFSv4 jsou však nyní všechny tyto interakce začleněny/konsolidovány.
Pro CentOS/RHEL 7 nyní nfs-utils RPM dodává /etc/modprobe.d/lockd.conf, /etc/sysconfig/nfs a /etc/sysconfig/rpc-rquotad jako hlavní konfiguraci NFS (na straně serveru). soubory. Kromě toho existuje také soubor /etc/nfs.conf, který může v blízké budoucnosti vyřadit další konfigurační soubory.
Pro CentOS/RHEL 7 jsou statické porty pro rpc.mountd, rpc.nfsd a rpc.rquotad výchozí na 20048, 2049 a 875, protože jsou považovány za dobře známé porty. Jiné služby NFS (server_side), jako LOCKD/NLM a rpc.statd, normálně používají pouze náhodné porty, ale /etc/modprobe.d/lockd.conf a /etc/sysconfig/nfs nabízejí pro referenci vzorové hodnoty portů. Ukázkové hodnoty portů jsou dost dobré pro většinu scénářů.
# cat /etc/services mountd 20048/tcp # NFS mount protocol mountd 20048/udp # NFS mount protocol nfs 2049/tcp nfsd shilp # Network File System nfs 2049/udp nfsd shilp # Network File System rquotad 875/tcp # rquota daemon rquotad 875/udp # rquota daemon
# cat /etc/modprobe.d/lockd.conf # Set the TCP port that the NFS lock manager should use. # port must be a valid TCP port value (1-65535). #options lockd nlm_tcpport # # Set the UDP port that the NFS lock manager should use. # port must be a valid UDP port value (1-65535). #options lockd nlm_udpport
# cat /etc/sysconfig/nfs # Port rpc.mountd should listen on. #MOUNTD_PORT=892 # Port rpc.statd should listen on. #STATD_PORT=662 # Outgoing port statd should used. The default is port # is random #STATD_OUTGOING_PORT=2020
# cat /etc/sysconfig/rpc-rquotad # -I, --autofs Ignore autofs mount points # -p port, --port port Listen on alternative port # -s, --no-setquota Don't allow setting quotas with RPC (default) # -S, --setquota Allow setting quotas with RPC # -x path, --xtab path Use alternative NFSD export table RPCRQUOTADOPTS=""
Příklady konfigurace /etc/modprobe.d/lockd.conf
Chcete-li určit LOCKD/NLM pro použití volných statických portů, stačí odkomentovat nlm_tcpport a nlm_udpport pro nastavení nových hodnot portů a poté znovu načíst uzamčený modul jádra nebo prostě restartovat.
options lockd nlm_tcpport=32803 options lockd nlm_udpport=32769
Příklady konfigurace /etc/sysconfig/nfs
Chcete-li zadat rpc.mountd, aby používal volný statický port jiný než 20048, stačí odkomentovat MOUNTD_PORT pro nastavení nové hodnoty portu a poté restartovat službu nfs-mountd nebo službu nfs-server.
MOUNTD_PORT=892
Chcete-li zadat rpc.nfsd, aby používal volný statický port jiný než 2049, stačí odkomentovat RPCNFSDARGS a přidat novou hodnotu portu a poté restartovat službu nfs-server.
RPCNFSDARGS="-p 20499"
Chcete-li zadat rpc.statd, aby používal volné statické porty, stačí odkomentovat STATD_PORT a STATD_OUTGOING_PORT pro nastavení nových hodnot portu a poté restartovat službu rpc-statd.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Příklady konfigurace /etc/sysconfig/rpc-rquotad
Chcete-li zadat rpc.rquotad, aby používal volný statický port jiný než 875, stačí odkomentovat RPCRQUOTADOPTS a přidat novou hodnotu portu a poté restartovat službu rpc-rquotad.
RPCRQUOTADOPTS="-p 8755"
Řízení služeb
Restartujte službu nfs-mountd:
# systemctl restart nfs-mountd.service
Restartujte službu nfs-server:
# systemctl restart nfs-server.service
Restartujte službu rpc-rquotad:
# systemctl restart rpc-rquotad.service
Restartujte službu rpc-statd:
# systemctl restart rpc-statd.service
Ověření:
# rpcinfo -p