NFS mount gagal, izin ditolak, tidak ada entri ekspor


10

Saya memiliki masalah untuk memasang share NFS yang tidak bisa saya selesaikan yang membuat saya gila. Inilah situasinya:

Tiga mesin yang terlibat:
Host A: mandrake, IP 192.168.1.4, server NFS
Host B: athlon64, IP 192.168.1.64, klien NFS
Host C: lap-fzs-2, IP 192.168.1.27, klien NFS

Host A memiliki server NFS yang berjalan yang mengekspor direktori yang di-mount oleh host B. Ini berfungsi dengan sempurna dan telah berfungsi sejak lama. Tidak masalah. Sekarang host C muncul di gambar. Ubuntu 12,04 LTS, sistem modern. Saya mencoba me-mount share yang sama dari host A tetapi mendapatkan izin ditolak kesalahan:

root@lap-fzs-2:~# mount -t nfs mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting mandrake:/data

Fakta bahwa ia berfungsi antara host A dan B harus membuktikan bahwa ekspor NFS per se berfungsi. Ini adalah info yang bisa saya berikan yang membuat saya berpikir itu harus bekerja. Mungkin seseorang melihat apa yang tidak saya lakukan dan tahu mengapa ini gagal pada host baru C.

Ekspor server:

[root@mandrake /root]# cat /etc/exports
/suse 192.168.1.0/16(ro,no_root_squash)
/data 192.168.1.0/24(rw)
#/data3 192.168.2.0/24(rw)
#/data 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)
#/data3 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)

[root@mandrake /root]# exportfs
/suse           192.168.1.0/16
/data           192.168.1.0/24

Portmapper sedang berjalan, ekspor diketahui dan dipasang oleh host B "athlon64".

[root@mandrake /root]# showmount -e
Export list for mandrake:
/data 192.168.1.0/24
/suse 192.168.1.0/16
[root@mandrake /root]# showmount -a
All mount points on mandrake:
atlhon64.acme.local:/data

Ketika host athlon64 me-mount share NFS, log server menunjukkan keberhasilan:

Feb 11 20:06:46 mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)

Tetapi ketika host C mencoba me-mount share yang sama, log server menunjukkan:

Feb 11 20:12:42 mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry

Host C melihat server, mencapai portmapper dan nfsd, tetapi gagal pada izin.

root@lap-fzs-2:~# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/data 192.168.1.0/24
/suse 192.168.1.0/16


root@lap-fzs-2:~# mount -t nfs -v mandrake:/data /data -onfsvers=2,proto=udp
mount.nfs: timeout set for Mon Feb 11 21:49:23 2013
mount.nfs: trying text-based options 'nfsvers=2,proto=udp,addr=192.168.1.4'
mount.nfs: prog 100003, trying vers=2, prot=17
mount.nfs: trying 192.168.1.4 prog 100003 vers 2 prot UDP port 2049
mount.nfs: prog 100005, trying vers=1, prot=17
mount.nfs: trying 192.168.1.4 prog 100005 vers 1 prot UDP port 636
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting mandrake:/data

Saya harus menggunakan NFSv2 pada klien. Menggunakan NFSv4 akan gagal karena server tidak mendukungnya. Gagal saat mencoba terhubung melalui TCP langsung ke 2049 tetapi port tidak terbuka. Tidak ada fallback yang terjadi. Menggunakan NFSv3 akan menghasilkan ketidakcocokan program / versi RPC.

Apa yang saya lewatkan?

Pembaruan:
Ketiga mesin berada pada satu LAN, pada sakelar yang sama. Tidak ada firewall yang aktif di host C:

root@lap-fzs-2:~# iptables -vnL
Chain INPUT (policy ACCEPT 17 packets, 1853 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 5611 bytes)
 pkts bytes target     prot opt in     out     source               destination

Juga pada host A:

[root@mandrake /root]# ipchains -L 
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):

Firewall pada Host C (atau kurang mungkin Host A)? (Apa yang ditampilkan / sbin / iptables -vnL?)
davidgo

Tidak, tidak ada firewall, satu segmen LAN.
Florian

1
coba exportfs -aperintah di Host A, lalu coba mountperintah di Host C. Coba hostname eksplisit atau alamat IP lengkap di /etc/exports.
serbuk gergaji

1
Bagaimana itu membantu? Server melakukan perintah exportfs -asaat boot dan karena ini bukan entri baru, itu sudah diekspor. File ekspor tidak berubah, hanya host baru yang harus me-mount dan tidak bisa.
Florian

@sawdust hasil edit Anda berisi petunjuk yang benar: menggunakan alamat IP lengkap /etc/exportssebenarnya membuatnya berfungsi. Saya sekarang memiliki / 24 net plus IP lengkap yang terdaftar dan host C dapat me-mount. Belum mencoba host B. ada yang tahu ini kenapa? Saya perhatikan bahwa host B (yang berfungsi) memang menggunakan panggilan MNT versi 2, sementara host C menggunakan panggilan MNT versi 1.
Florian

Jawaban:


0

11 Februari 20:12:42 mandrake mountd [460]: menolak permintaan mount dari lap-fzs-2 untuk / data (/): tidak ada entri ekspor

Karena pemberitahuan penolakan server mengklaim bahwa "tidak ada entri ekspor" untuk Host C, maka mungkin Anda harus mencoba baris yang tidak ambigu dalam /etc/exportsfile dengan nama host eksplisit atau alamat IP lengkap untuk C.

Coba juga mengeluarkan exportfs -aperintah di server.
Saya sering mengalami masalah dalam mengakses server NFS saya bahkan setelah reboot. Secara eksplisit mengeluarkan exportfs -aperintah adalah solusi yang andal (untuk saya).


Jelas, berulang exportfs -atidak mengubah apa pun untuk saya. Menggunakan alamat IP lengkap untuk satu host yang bermasalah menyelesaikan masalah saya. Jadi sementara ini tidak menjelaskannya dan saya tidak memahaminya, itu adalah jawaban untuk masalah saya dan apa yang bisa saya rekomendasikan untuk dicoba bagi orang lain dengan masalah yang sama.
Florian

Menambahkan entri untuk alamat IP yang bermasalah di / etc / ekspor juga menyelesaikan masalah saya. Aneh.
PLA

1

Periksa dan lihat apakah UID dan GUID untuk pengguna NFS sama di server dan klien. Juga, pastikan pada server folder itu adalah izin 777. Ini adalah / etc / ekspor saya di server saya untuk diakses klien saya.

Buat direktori berbagi NFS: (Buat setiap Server dengan IP, ruang terpisah)

mkdir / var / nfs vim / etc / ekspor / var / nfs 10.180.82.250 (rw, sinkronisasi, root_squash, anonuid = 530, anongid = 530, no_subtree_check)


UID dan GID tidak sama. Mereka tidak harus, itu berfungsi begitu saya mendapat bagian yang dipasang pada klien NFS. Dan untuk operasi mount UID pengguna harus tidak relevan. Saya ragu bahwa pengaturan folder ke 777 adalah ide yang baik, terutama jika pengguna dapat masuk ke server. Sekali lagi, itu bekerja tanpa itu setelah saya memasangnya.
Florian

1

Dalam kasus saya, -o vers = 3 adalah jawabannya:

$ sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • NFS Server: Ubuntu desktop 12.04 32-bit host vmware
  • Klien NFS: Server Ubuntu 12,04 tamu vmware 64-bit (mode host-only)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.