This is an old revision of the document!
Condivisione NFS e firewall
Un server NFS ha il demone portmapper
sempre in ascolto sulle porte 111 tcp e 111 udp, il servizio nfs
usa la porta 2049 udp. Con il comando
# rpcinfo -p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 32111 status 100024 1 tcp 32111 status 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 32771 nlockmgr 100021 3 udp 32771 nlockmgr 100021 4 udp 32771 nlockmgr 100005 1 udp 32032 mountd 100005 1 tcp 32032 mountd 100005 2 udp 32032 mountd 100005 2 tcp 32032 mountd 100005 3 udp 32032 mountd 100005 3 tcp 32032 mountd
Possiamo vedere che esistono altri servizi in ascolto su altre porte. Ad esempio l'NFS mount daemon mountd
tradizionalmente chiamato rpc.mountd
attende le richieste di mount, generalmente ascolta su una porta casuale assegnata dal portmapper
.
Per poter aprire il firewall su una sola porta bisogna forzare rpc.mountd
con il parametro --port
. In Debian Sarge si aggiunge a /etc/default/nfs-kernel-server
una riga del tipo
RPCMOUNTDOPTS="--port 32032"
Anche l'NFS status
monitor chiamato tradizionalmente rpc.statd
, si pone in ascolto su una porta casuale assegnata dal portmapper. Per determinarla si mette in /etc/default/nfs-common
l'opzione:
STATDOPTS="--port 32111"
Infine nlockmgr
(chiamato anche rpc.lockd
) utilizza due porte scelta casualmente, una udp e una tcp. Per determinarla si deve passare l'opportuno parametro al kernel; se il supporto NFS è compilato staticamente nel boot manager si aggiunge quanto segue alla riga kernel:
lockd.nlm_udpport=32771 lockd.nlm_tcpport=32771
Altrimenti se il supporto NFS è compilato come modulo si aggiunge un file /etc/modprobe.d/local
con questa riga:
options lockd nlm_udpport=32771 nlm_tcpport=32771
NFS Permission denied: troppi gruppi!
Se cercate di accedere ad una directory NFS dove avete permessi grazie al gruppo ed ottenete un Permission denied
, controllate a quanti gruppi appartenete! Sembra che ci sia un limite a 16 gruppi.
Verificato su Linux 2.6.26 e NFS versione 3.