Pagina 1 di 1

Problemi con NFS: No such file or directory [RISOLTO]

Inviato: gio 6 gen 2022, 19:25
da gian_d
Non ricordo di preciso da quando incontro questo problema, ma presumibilmente risale ad una nuova installazione della current sulla nuova macchina. Prima NFS funzionava regolarmente e lo usavo per montare una directory da un'altra macchina, sia da Ubuntu sia da Slackware.

Dopo aver risolto alcuni problemini, adesso dovrebbe essere tutto OK, il client si connette regolarmente, ma il server risponde picche perché non trova la directory da montare.

La configurazione è questa: server e client hanno come ip e hostname rispettivamente 192.168.1.2 giand e 192.168.1.3 vava.

Su giand (slackware current) sono attivi come servizi sia rc.rcpd sia rc.nfsd
/etc/fstab è configurato per montare in automatico la directory da exportare ( /packages ) con la seguente riga:

Codice: Seleziona tutto

/packages                                 /export/packages none        bind,auto            0   0
La directory viene regolarmente montata e in locale il contenuto di /packages è accessibile anche in /export/packages

In /etc/exports ci sono queste impostazioni:

Codice: Seleziona tutto

/export 192.168.1.3(rw,async,no_subtree_check,no_root_squash,fsid=0)
/export/packages 192.168.1.3(rw,async,no_subtree_check,no_root_squash,nohide,fsid=0)
I file /etc/hosts.allow e /etc/hosts.deny hanno rispettivamente le seguenti impostazioni

Codice: Seleziona tutto

sshd: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
portmap: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
lockd: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
rquotad: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
mountd: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
statd: 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
e

Codice: Seleziona tutto

sshd:ALL
portmap:ALL
lockd:ALL
mountd:ALL
rquota:ALL
statd:ALL
Ho esportato la directory da condividere come segue:

Codice: Seleziona tutto

root@giand:/home# exportfs -avr
exporting 192.168.1.3:/export/packages
exporting 192.168.1.3:/export

Sulla ubuntu dell'host vava ho predisposto il mount su fstab come segue:

Codice: Seleziona tutto

# /mnt/giand su nfs
giand:/export/packages    /mnt/giand       nfs4       noauto,rw,nosuid,nolock  0   0
Fatto tutto questo, se provo a montare la directory condivisa succede questo:

Codice: Seleziona tutto

gian@vava:/$ sudo mount /mnt/giand
mount.nfs4: mounting giand:/export/packages failed, reason given by server: No such file or directory
Quasi sicuramente si tratta di un parametro errato in /etc/exports nella slackware o nella riga di fstab della ubuntu, ho fatto qualche tentativo di modifica ma non ne cavo piede. Dove sbaglio?

Re: Problemi con NFS: No such file or directory

Inviato: ven 7 gen 2022, 16:04
da rik70
Se fai il mount in questo modo, cosa dice?

Codice: Seleziona tutto

sudo mount -v giand:/packages /mnt/giand
Prova anche con l'indirizzo IP anziché il nome host.

Re: Problemi con NFS: No such file or directory

Inviato: ven 7 gen 2022, 16:26
da gian_d
mmm... a quanto pare è una questione di permessi, faccio alcune prove

Codice: Seleziona tutto

[sudo] password for gian: 
mount: non è stato dato il tipo - Si presume nfs perché ci sono i due punti
mount.nfs: timeout set for Fri Jan  7 16:25:42 2022
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.2,clientaddr=192.168.1.3'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=192.168.1.2'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.1.2 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.1.2 prog 100005 vers 3 prot UDP port 32767
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting giand:/packages

Re: Problemi con NFS: No such file or directory

Inviato: ven 7 gen 2022, 16:58
da gian_d
Ho provato a montare manualmente con questo comando (suggerito qui: https://www.thegeekdiary.com/mount-nfs- ... o-resolve/ ) e funziona!

Codice: Seleziona tutto

sudo mount -t nfs -o nfsvers=3 giand:/export/packages /mnt/giand
A quanto pare il problema è la versione di NFS. Con NFS4 non funziona, con NFS3 sì. Ora devo capire se il problema è causato da un'errata formulazione del mount nel fstab di Ubuntu (è una versione datata) oppure nell'esportazione sulla Slackware.

Re: Problemi con NFS: No such file or directory

Inviato: ven 7 gen 2022, 16:59
da rik70
gian_d ha scritto:
ven 7 gen 2022, 16:58
A quanto pare il problema è la versione di NFS. Con NFS4 non funziona, con NFS3 sì
Prova con questa configurazione del server:

Codice: Seleziona tutto

/export 192.168.1.3(rw,subtree_check,hide,fsid=0)
/export/packages 192.168.1.3(rw,no_subtree_check,sync,nohide,all_squash,insecure,anonuid=1000,anongid=1000)
Cambia anonuid=1000 e anongid=1000 con l'utente/gruppo proprietario della c\artella '/export/packages'.

nfs4 funziona solo se monti direttamente '<nome_host/indirizzo_ip>:/packages'.

Re: Problemi con NFS: No such file or directory

Inviato: ven 7 gen 2022, 18:38
da gian_d
Ok, ho fatto come dici ed ora funziona!
Le modifiche:

Nella slackware ho cambiato il proprietario della directory /packages: era root, l'ho cambiato in gian (uid=1000). Non so se era necessario, ma questa directory è il punto di mount di una partizione dedicata. La uso per scaricarvi i pacchetti ufficiali da slackware.com e per conservare gli slackbuild di software di terze parti e i relativi pacchetti e viene montata al boot del sistema con fstab

La directory /export ha come proprietario root, mentre ho cambiato il proprietario di /export/packages da root a gian

Il file /etc/export ha le impostazioni che hai suggerito. L'unica cosa che mi non mi convince sono le specifiche all_squash e insecure. D'altra parte sono in una rete locale in cui ci siamo solo io e mia moglie e io sono l'unico che traffica tra gli host. Eventualmente farò dei tentativi con calma per migliorare lo stato di sicurezza dal "volemose_bene" al "moderatamente_paranoico" :-D

il fstab della ubuntu è ora così impostato:

Codice: Seleziona tutto

# /mnt/giand su nfs
giand:/packages                      /mnt/giand       nfs4       noauto,rw  0   0
modificherò così anche il fstab della slackware installata sull'host vava in modo che possa anche accedere dall'host in ambiente grafico quando sulla macchina è avviata la Slackware. È il computer di mia moglie, di solito è avviato ubuntu e allora ci traffico via ssh per lo spostamento dei file, per poi fare gli aggiornamenti quando si avvia la Slackware. Sta iniziando ad usarla dopo molti anni di abitudine su una Ubuntu 14 piuttosto personalizzata ma che ormai inizia a dare troppi problemi di obsolescenza perché non è possibile aggiornare il software.

Grazie per il supporto :-)