NFS bağlama başarısız, izin reddedildi, dışa aktarma girişi yok


10

Çözemediğim bir NFS paylaşımını monte etmede sorun yaşıyorum, bu beni deli ediyor. Durum bu:

İlgili üç makine:
Ana Bilgisayar A: mandrake, IP 192.168.1.4, NFS sunucusu
Ana Bilgisayar B: athlon64, IP 192.168.1.64, NFS istemcisi
Ana Bilgisayar C: lap-fzs-2, IP 192.168.1.27, NFS istemcisi

Ana makine A, ana makine B tarafından bağlanan bir dizini dışa aktaran bir NFS sunucusuna sahiptir. Bu, kusursuz çalışır ve çağlardan beri çalışmaktadır. Problem yok. Şimdi sunucu C resme giriyor. Ubuntu 12.04 LTS, modern sistem. Ana bilgisayardan aynı paylaşımı bağlamaya çalıştım ama izin verilmedi hatası aldım:

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

A ve B ana bilgisayarları arasında çalıştığı gerçeği, NFS ihracatının kendi başına çalıştığını kanıtlamalıdır. İşte verebileceğim, bana çalışması gerektiğini düşündüren bilgiler. Belki biri benim yapmadığımı görür ve bunun neden yeni ev sahibi C'de başarısız olduğunu bilir.

Sunucu dışa aktarmaları:

[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 çalışıyor, ihracat biliniyor ve ev sahibi B "athlon64" tarafından monte ediliyor.

[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

Athlon64 ana bilgisayarı NFS paylaşımını bağladığında, sunucu günlüğü başarılı olur:

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

Ancak ana makine C aynı paylaşımı bağlamaya çalıştığında, sunucu günlüğü şunları gösterir:

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

Ana makine C sunucuyu görür, portmapper ve nfsd'ye ulaşır, ancak izinlerde başarısız olur.

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

İstemcide NFSv2 kullanmak zorundayım. Sunucu desteklemediğinden NFSv4 kullanımı başarısız olur. TCP üzerinden doğrudan 2049'a bağlanmaya çalıştığından başarısız olur, ancak bağlantı noktası açık değildir. Hiçbir geri dönüş olmaz. NFSv3 kullanımı RPC programı / sürüm uyumsuzluğuna neden olur.

Neyi kaçırıyorum?

Güncelleme:
Her üç makine de tek bir LAN'da, aynı anahtarda. C ana bilgisayarında etkin bir güvenlik duvarı yok:

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

A ev sahibi için de:

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

Host C'deki güvenlik duvarı (veya daha az olası A Host'u) (/ Sbin / iptables -vnL ne gösterir?)
davidgo

Hayır, güvenlik duvarı yok, bir LAN segmenti.
Florian

1
deneyin exportfs -aardından denemek Host A komutu mountaçıkça bir konak ismi veya tam IP adresini deneyin Bilgisayarından C üzerindeki komutu /etc/exports.
talaş

1
Bu nasıl yardımcı olur? Sunucu exportfs -aaçılışta bir zaman yapar ve bu yeni bir girdi olmadığından, zaten dışa aktarılır. Dışa aktarma dosyası değişmedi, sadece yeni bir ana bilgisayar onu bağlamalı ve yapamaz.
Florian

@ sawdust düzenlemeniz doğru ipucunu içeriyordu: tam IP adresini kullanmak /etc/exportsaslında onu çalıştırıyor. Şimdi / 24 net artı listelenen tam IP var ve ana C monte edebilirsiniz. Henüz ev sahibi B denemedim. Neden bu olduğu hakkında bir düşünceniz var mı? Ana bilgisayar B sürüm 1 MNT çağrısına başvururken, ana bilgisayar B (çalışan bir) sürüm 2 MNT çağrısı kullandığını fark ettim.
Florian

Yanıtlar:


0

11 Şubat 20:12:42 mandrake mountd [460]: / data (/) için lap-fzs-2'den reddedilen montaj isteği: dışa aktarma girişi yok

Sunucunun reddetme bildirimi Ana Bilgisayar C için "dışa aktarma girişi yok" olduğunu iddia ettiğinden , /etc/exportsdosyada açık ana bilgisayar adını veya C için tam IP adresini içeren açık bir satır denemelisiniz .

Ayrıca exportfs -asunucuda bir komut vermeyi deneyin .
Yeniden başlattıktan sonra bile NFS sunucuma erişimde sık sık sorun yaşıyorum. exportfs -aKomutu açıkça vermek güvenilir çözümdür (benim için).


Açık, tekrarlanan exportfs -abenim için hiçbir şey değiştirmedi. Sorunlu bir ana bilgisayar için tam IP adresini kullanmak sorunumu çözdü. Bu yüzden bunu açıklamıyor ve anlamıyorum, sorunumun cevabı ve aynı sorunu olan başkaları için denemek için önerebileceğim şey buydu.
Florian

/ Etc / export uygulamasında sorunlu IP adresi için bir giriş eklemek da sorunumu çözdü. Tuhaf.
PLA

1

NFS kullanıcıları için UID ve GUID'nin sunucuda ve istemcide aynı olup olmadığını kontrol edin. Ayrıca, sunucuda klasörün izin 777 olduğundan emin olun. Bu, istemcimin erişmesi için sunucumdaki / etc / export'ım.

Bir NFS paylaşım dizini oluşturun: (Her Sunucuyu IP, boşlukla ayrılmış olarak oluşturun)

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


UID ve GID aynı değildir. Olmak zorunda değiller, NFS istemcisine paylaşım yüklendikten sonra çalışır. Montaj işlemi için kullanıcının UID'lerinin alakasız olması gerekir. Özellikle kullanıcılar sunucuda oturum açabilirse, klasörü 777 olarak ayarlamak iyi bir fikirdir. Yine, monte edildikten sonra o olmadan çalıştı.
Florian

1

Benim durumumda, -o vers = 3 cevap:

$ sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • NFS Sunucusu: Ubuntu masaüstü 12.04 32 bit vmware ana bilgisayarı
  • NFS İstemcisi: Ubuntu sunucusu 12.04 64 bit vmware misafir (yalnızca ana makine modu)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.