Problemas para montar carpeta compartida remota

Imagen de Chustin
0 puntos

Buenas a todos,

Estoy intentando montar una carpeta compartida remota, tal como dice el asunto del post. He seguido este manual.

En resumen:

aptitude install portmap
aptitude install nfs-kernel-server
aptitude install nfs-common

he incluido en /etc/exports:

/comp/general MI_IP_EXTERNA/8(rw,sync,no_root_squash)
/comp/privada MI_IP_EXTERNA/8(rw,sync,no_root_squash)

he incluido en /etc/hosts.allow:

portmap: 192.168.1.0/255.255.255.0 : allow
nfs: 192.168.1.0/255.255.255.0 : allow

portmap: MI_IP_EXTERNA/8 : allow
nfs: MI_IP_EXTERNA/8 : allow
rpcbind : MI_IP_EXTERNA/8 : allow

he incluido en /etc/hosts.deny:
portmap: ALL

/etc/init.d/nfs-common restart
* Stopping NFS common utilities [ OK ]
* Starting NFS common utilities [ OK ]

/etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon... exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.0/24:/comp/general".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: /etc/exports [3]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.0/24:/comp/privada".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: /etc/exports [5]: Neither 'subtree_check' or 'no_subtree_check' specified for export "MI_IP_EXTERNA/8:/comp/general".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: /etc/exports [6]: Neither 'subtree_check' or 'no_subtree_check' specified for export "MI_IP_EXTERNA/8:/comp/privada".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
[ OK ]
* Starting NFS kernel daemon [ OK ]

/etc/init.d/portmap restart
* Stopping portmap daemon... [ OK ]
* Starting portmap daemon... [ OK ]

luego intento montar la carpeta "General"
mount -t nfs IP_EXTERNA_SERVER:/comp/general /general
mount.nfs: mount to NFS server 'rpcbind' failed: RPC Error: Program not registered
mount.nfs: internal error

He intentado instalar rpcbind pero no lo encuentro por ningún lado, no hay señales de ese paquete con aptitude search, tampoco encuentro mucho en google.

He mirado los log, tanto del cliente (Ubuntu) como del server (Ubuntu) y solo encuentro esto:

en el Cliente:
/var/log/messages:
rpcbind: server MI_IP_EXTERNA not responding, timed out

/var/log/syslog:
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
rpc.statd[9683]: Version 1.1.2 Starting
rpcbind: server MI_IP_EXTERNA not responding, timed out

/var/log/daemon.log:
rpc.statd[9683]: Version 1.1.2 Starting

en el Server:
/var/log/messages:
nfsd: last server has exited
nfsd: unexporting all filesystems
RPC: failed to contact local rpcbind server (errno 5).
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period

/var/log/syslog:
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
connect from MI_IP_EXTERNA to getport(mountd): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host

/var/log/daemon.log:
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
connect from MI_IP_EXTERNA to getport(mountd): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host
connect from MI_IP_EXTERNA to getport(nfs): request from unauthorized host

Siento el tamaño del post, pero llevo toda la mañana y no veo algo donde agarrarme. Alguien sabe que puede estar ocurriendo? Gracias por la colaboración.

Imagen de Gabriel_M
+1
0
-1

Hola chu...:
En la pc servidor
Sistema > Administración > Carpetas compartidas pregunta que sistema, elegir NFS e instala los paquetes necesarios.
En la pantalla emergente
Añadir la carpeta a compartir
Poner la ip de la maquina cliente.

Ejecutar en consola:
sudo gedit /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#
Agregar en nombre de la carpeta a compartir (por ejemplo /media/share y la ip del cliente)
/media/share ip_pc_cliente(rw,async)

sudo gedit /etc/hosts.deny
Agregar:
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

sudo gedit /etc/hosts.allow
Agregar:
portmap:ip_cliente/255.255.255.0
lockd:ip_cliente/255.255.255.0
mountd:ip_cliente/255.255.255.0
rquotad:ip_cliente/255.255.255.0
statd:ip_cliente/255.255.255.0

En la pc cliente instalar los paquetes nfs
Crear la carpeta donde se montará la carpeta a compartir:
Ejecutar:
mkdir /home/usuario/share

Ejecutar para montar
sudo mount -t nfs ip_servidor:/media/share /home/usuario/share

Para montaje automático, ejecutar:
sudo gedit /etc/fstab
En el fstab del cliente.
ip_servidor:/media/share /home/usuario/share nfs rsize=8192,wsize=8192,timeo=14,intr,user,auto

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de Chustin
+1
0
-1

Gracias Gabriel por contestar

Ahora no tengo acceso a los equipos, mañana pruebo los cambios que me comentas.

Conoces algún manual o web donde se explique a fondo algo más del tema?

+1
0
-1
Imagen de Chustin
+1
0
-1

Hola Gabriel,

He realizado los cambios que me recomendastes, pero todo sigue igual.

Cuando intento montar la carpeta compartida en remoto:

Ejecuto en el cliente:

mount IP_EXTERNA_SERVER:/RUTA_CARPETA_COMPARTIDA_EN_SERVER /RUTA_CARPETA_LOCAL_EN_CLIENTE
mount.nfs: mount to NFS server 'rpcbind' failed: RPC Error: Program not registered
mount.nfs: internal error

en el servidor hago:

tail -f /var/log/syslog
connect from IP_EXTERNA_CLIENTE to getport(mountd): request from unauthorized host
connect from IP_EXTERNA_CLIENTE to getport(nfs): request from unauthorized host

Si comento las entradas en /etc/hosts.deny y vuelvo a ejecutar
mount IP_EXTERNA_SERVER:/RUTA_CARPETA_COMPARTIDA_EN_SERVER /RUTA_CARPETA_LOCAL_EN_CLIENTE
No hay resultado, se queda esperando confirmación de algo.

en el servidor hago:

tail -f /var/log/syslog
refused mount request from USUARIO_REMOTO for /comp/general (/comp/general): illegal port 21270

y más líneas iguales cambiando el puerto (ciclo comprobando puertos), así hasta que paro el mount en el cliente.

Debido a q veo q me fallan mis conocimientos, voy a preguntar algunas cosas supuestamente teóricas:
¿Se puede compartir una carpeta con NFS desde fuera de la red local donde se encuentra el servidor? Tengo abiertos los puertos en el router, actualmente no levanto las IP_TABLES (no hay firewall al hacer las pruebas)

El usuario con el que lanzo el mount en el cliente remoto, ¿debe estar logeado en alguna BD del sistema del servidor?

He visto que con Ubuntu Hardy Heron 8.04 existen algunos problemas al compartir carpetas por NFS. ¿Sabes si es un bug de esa versión? si es así, ¿estará solucionado?

Siento tantas preguntas, pero no encuentro nueva info sobre el tema, ni en español, ni en ingles, ni en aleman.

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola chu...:
Prueba cambiar en /etc/exports
la línea:
Agregar en nombre de la carpeta a compartir (por ejemplo /media/share y la ip del cliente)
/media/share ip_pc_cliente(rw,async)
Por
/media/share ip_pc_cliente(rw,insecure)

Esto es por que:
El archivo /etc/exports sirve de ACL (lista de control de acceso) de los sistemas
de archivo que pueden ser exportados a los clientes. Cada línea contiene un
filesystem por exportar seguido de los clientes que lo pueden montar, separados
por espacios en blanco. A cada cliente se le puede asociar un conjunto de
opciones para modificar el comportamiento (consultar man exports para un lista
detallada de las opciones). Un ejemplo de esto podría ser:

# Ejemplo de /etc/exports
/ /master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/pub (ro,insecure,all_squash)
/home 195.12.32.2(rw,no_root_squash) www.first.com(ro)
/user 195.12.32.2/24(ro,insecure)

La primera línea exporta el sistema de archivos entero (/) a master y trusty
en modo lectura/escritura. Además, para trusty no hay uid squashing (el root
del cliente accederá como root a los archivos root del servidor, es decir, los
dos root son equivalentes a pesar de ser de máquinas diferentes; es indicado
para máquinas sin disco). La segunda y tercera líneas muestra ejemplo de ‘*’ y
de netgroups (indicados por @). La cuarta línea exporta el directorio /pub a
cualquier máquina en el mundo, sólo de lectura, permite el acceso de clientes
NFS que no utilizan un puerto reservado para el NFS (opción insecure) y
todo se ejecuta bajo el usuario nobody (opción all squash). La quinta línea
especifica un cliente por su IP y en la sexta igual pero con máscara de red
(/24) y con opciones entre () y que deben estar sin espacio de separación.
Sólo puede haber espacios entre los clientes habilitados.

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de Chustin
+1
0
-1

Buenas Gabriel, gracias por la información.

Ya había encontrado la opción insecure pero sin éxito.

He realizado una prueba, cambiando /etc/exports

/comp/general *(ro,insecure)

luego aplique los cambios

exportfs -ra

Y desde el cliente

root@amministratore:/# mount -t nfs IP_EXT_SERVER:/comp/general /general
mount.nfs: mount to NFS server 'rpcbind' failed: RPC Error: Program not registered
mount.nfs: internal error

He estado buscando este último error, y ciertamente rpcbind no está rulando en el server. Yo instalé nfs-common, nfs-kernel-server y portmap mediante aptitude.

El error que me salta en el cliente parece referente a rpcbind, pero no veo la manera de instalarlo, no aparece en las busquedas de aptitude (yo no lo he encontrado). ¿Tienes conocimiento de este error?

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola chu...:
Actualicé el tutorial, fijate si te ilustra en algo.
Respecto de rpcbind es portmap

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de Chustin
+1
0
-1

He buscado ese tutorial que dices has actualizado, pero ha sido en vano.

Si rpcbind es portmap, porque me salta ese error:

rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    ...
    ...
 dpkg -l portmap
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Nombre                      Versión                    Descripción
+++-===========================-===========================-======================================================================
ii  portmap                     6.0-1ubuntu1                The RPC portmapper
+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola chu...:
Este es el link:
http://www.ubuntu-es.org/index.php?q=node/60475
En el error te esta informando algo de mayúsculas mal. Y Hold reinstalación requerida.

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de Chustin
+1
0
-1

Gracias Gabriel por toda la ayuda que me has ofrecido.

Al final, como casi siempre, fallo simplón.

Al mirar en syslog el error era:

connect from IP_EXT_CLIENTE to getport(mountd): request from unauthorized host

Estaba claro que era problema de host, y el motivo de esa desautorización:

portmap:IP_EXT_CLIENTE
lockd:IP_EXT_CLIENTE
mountd:IP_EXT_CLIENTE
rquotad:IP_EXT_CLIENTE
statd:IP_EXT_CLIENTE

mi error era:

portmap:IP_EXT_CLIENTE/MASCARA_CLIENTE
lockd:IP_EXT_CLIENTE/MASCARA_CLIENTE
mountd:IP_EXT_CLIENTE/MASCARA_CLIENTE
rquotad:IP_EXT_CLIENTE/MASCARA_CLIENTE
statd:IP_EXT_CLIENTE/MASCARA_CLIENTE

Yo no me dí cuenta de eso, ya que casi toda la información que vi en los manuales eran ejemplos iban orientados a redes locales (clase C - 192.168.1.0/255.255.255.0).

Por ahora esto está solventado.

+1
0
-1