Masalah
Memasang nfs share dari server CentOS/RHEL NFS pada klien NFS memberikan kesalahan seperti yang ditunjukkan di bawah ini:
# mount -t nfs x.x.x.x:/share /mnt mount.nfs: access denied by server while mounting x.x.x.x:/share
Anda dapat mencoba menjalankan perintah mount dengan opsi verbose untuk mendapatkan detail error tentang masalah tersebut.
# mount -t nfs -vvvv server.example.com:/share /mnt mount.nfs: timeout set for Fri Mar 9 17:56:57 2018 mount.nfs: trying text-based options 'vers=4.1,addr=x.x.x.x,clientaddr=x.x.x.x' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based options 'vers=4.0,addr=x.x.x.x,clientaddr=x.x.x.x' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based options 'addr=x.x.x.x' mount.nfs: prog 100003, trying vers=3, prot=6 mount.nfs: trying x.x.x.x prog 100003 vers 3 prot TCP port 2049 mount.nfs: prog 100005, trying vers=3, prot=17 mount.nfs: trying x.x.x.x prog 100005 vers 3 prot UDP port 300 mount.nfs: mount(2): Permission denied mount.nfs: access denied by server while mounting server.example.com:/share
Solusi
Ini adalah masalah umum dengan pemasangan NFS di klien dan dapat terjadi karena banyak masalah. Berikut adalah beberapa masalah yang paling umum terjadi.
1. Coba pasang dengan NFSv3
Terkadang server NFS mungkin hanya mendukung koneksi NFSv3. Secara default, perintah mount menggunakan NFSv4, yang mungkin menghasilkan kesalahan. Untuk menghindari hal ini, tentukan NFSv3 saat memasang share.
# mount -t nfs -o nfsvers=3 x.x.x.x:/share /mnt
2. Periksa /etc/exports untuk opsi berbagi yang benar
Pastikan /etc/exports merujuk dengan benar ke informasi klien NFS yang benar untuk menyediakan akses. Beberapa server NFS memerlukan nama klien NFS untuk dapat diselesaikan ke IP, sehingga harus dapat diselesaikan melalui DNS atau ditentukan dalam /etc/hosts dari server NFS.. Format /etc/exports filenya adalah:
dir client1 (options) [client2(options)...]
Opsi klien termasuk (default dicantumkan terlebih dahulu):
ro / rw :
a) ro :izinkan klien akses hanya baca ke share.
b) rw :izinkan klien membaca akses tulis ke share.
sync / async :
a) sync :Server NFS membalas permintaan hanya setelah perubahan yang dibuat oleh permintaan sebelumnya ditulis ke disk.
b) async :menentukan bahwa server tidak perlu menunggu.
wdelay / no_wdelay
a) wdelay :Server NFS menunda melakukan permintaan tulis ketika mencurigai permintaan tulis lain sudah dekat.
b) no_wdelay :gunakan opsi ini untuk menonaktifkan penundaan. opsi no_wdelay hanya dapat diaktifkan jika default sinkronkan opsi diaktifkan.
no_all_squash / all_squash :
a) no_all_squash :tidak mengubah pemetaan pengguna jarak jauh.
b) all_squash :untuk melumpuhkan semua pengguna jarak jauh termasuk root.
root_squash / no_root_squash :
a) root_squash :mencegah pengguna root yang terhubung dari jarak jauh memiliki akses root. Secara efektif menekan hak akses root jarak jauh.
b) no_root_squash :menonaktifkan root squashing.
Contoh :
# vi /etc/exports /test nfs_client(rw)
3. Periksa izin server NFS
– Mungkin ada masalah dengan server NFS yang membagikan bagian NFS. Coba pasang bagian yang bermasalah pada klien NFS lain, untuk mengesampingkan kemungkinan masalah pada server NFS.
– Tetapkan izin sebagai (ro,no_root_squash,sync) untuk ekspor nfs di akhir server dan jalankan perintah:
# exportfs -r
Kemudian coba mount direktori share NFS. Jika menentukan klien NFS di /etc/exports berdasarkan domain atau nama host, pastikan nama domain dipetakan ke IP yang benar, entri yang salah di /etc/hosts misalnya dapat menyebabkan akses ditolak.
4. Menggunakan tcpdump
Dalam kasus yang sangat jarang, Anda mungkin harus menggunakan tcpdump untuk menangkap tcpdump dari operasi mount. Jalankan perintah di bawah ini terlebih dahulu untuk mulai menangkap paket jaringan. Di terminal lain, mulai operasi pemasangan NFS.
# tcpdump -s0 -i [eth#] host [nfs_server_ip] -w /tmp/tcpdump.pcapMemecahkan masalah umum NFS di Linux
CentOS / RHEL 7 :Mengonfigurasi server NFS dan klien NFS