Tras actualizar el servidor NFS nfs-kernel-daemon, nos encontramos con éste error.Este error se debe muchas veces a la prisa con la que se instalan los paquetes. Probablemente hemos dejado los ficheros de configuración que ya teníamos y no los que trae el nuevo paquete. Si no cambiamos nada, el nuevo NFS intenta utilizar el servidor sgss, que si no está configurado hace que no se inicie el servidor nfs.
Para solucionarlo iremos a la carpeta /etc/defaults que es donde nfsd guarda su configuración. Una vez allí, es posible que tengamos un fichero llamado nfs-kernel-server y otro nfs-kernel-server.dpkg-dist. Este último es el que nos ha instalado apt-get, con la configuración del paquete. En el caso que nos ocupa, no vamos a usar gssd, pero no se lo hemos dicho (en el fichero de configuración antiguo no lo teniamos). La solución:
NEED_SVCGSSD=no
Tag Archives: nfs
¿Cómo se monta una carpeta en red NFS?
Si queremos montar una carpeta (en Linux, un directorio) que está compartida en una máquina, con IP 10.1.1.1 , debemos añadir a /etc/fstab una línea como:
10.1.1.1:/publico /mnt/publico nfs defaults,user,noauto 0 0
aquí indicamos que en la IP 10.1.1.1, hay una carpeta /publico y que se monte en el pto. de montaje /mnt/publico. La opción user permite que cualquier usuario (no sólo root) pueda montar/desmontar la carpeta.
Cómo añado una carpeta compartida con NFS
Primero, hay que definir en /etc/exports los directorios que vamos a exportar en NFS. Un ejemplo puede ser:
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5).
/home/dfreniche/inout 10.1.1.0/255.255.255.255(sync,no_root_squash,rw)
Definimos que el directorio /home/dfreniche/inout estará disponible via NFS
Para que se exporten los directorios de forma efectiva, queda ejecutar
# exportfs -a
Si queremos ver los directorios que tenemos exportados:
# exportfs
/home/dfreniche/inout
10.1.1.0/255.255.255.255
NFS a través de un firewall
El cliente de nfs al conectarse es comprobado mediante las reglas que tenga el servidor en su fichero /etc/exports. Si estamos entre las IPs que se pueden conectar, el portmapper (/sbin/portmap del servidor) nos dará el siguiente puerto libre para montar (mountd) la carpeta nfs.
Este es el funcionamiento por defecto, pero podemos forzar a mountd a ligarse a un puerto determinado. Si cambiamos /etc/default/nfs-kernel-server (en el servidor) y ponemos algo como:
# Number of servers to start up RPCNFSDCOUNT=8
# Options for rpc.mountd RPCMOUNTDOPTS="--port 2000"
Obligamos a mountd a ligarse a ese puerto. De esa forma, en el firewall, bastará con abrir el puerto 2000 (además del 2049 nfs y el 111 del portmap) para que todo funcione,
Un par de utilidades: pmap_dump (o bien rcpinfo -p localhost) que muestra los puertos a los que están ligados el portmapper, mountd, etc. y pmap_set que los cambia.
# pmap_dump 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 793 status 100024 1 tcp 796 status 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 32773 nlockmgr 100021 3 udp 32773 nlockmgr 100021 4 udp 32773 nlockmgr 100021 1 tcp 38611 nlockmgr 100021 3 tcp 38611 nlockmgr 100021 4 tcp 38611 nlockmgr 100005 1 udp 2000 mountd 100005 1 tcp 2000 mountd 100005 2 udp 2000 mountd 100005 2 tcp 2000 mountd 100005 3 udp 2000 mountd 100005 3 tcp 2000 mountd
Enlaces relacionados
nfs.sourceforge.net/nfs-howto/security.html