मेरे पास एक NFS शेयर बढ़ते हुए एक समस्या है जिसे मैं हल नहीं कर सकता जो मुझे पागल कर रहा है। यह स्थिति है:
तीन मशीनें शामिल हैं:
होस्ट ए: मैंड्रेक, आईपी 192.168.1.4, एनएफएस सर्वर
होस्ट बी: एथलोन 64, आईपी 192.168.1.64, एनएफएस क्लाइंट
होस्ट सी: लैप-फैज -2, आईपी 192.68.1.27, एनएफएस क्लाइंट
Host A में एक NFS सर्वर चल रहा है, जो एक डायरेक्टरी को एक्सपोर्ट करता है, जो Host B द्वारा माउंट किया जाता है। यह बेकार काम करता है और उम्र से काम करता रहा है। कोई बात नहीं। अब मेजबान सी तस्वीर में आता है। उबंटू 12.04 एलटीएस, आधुनिक प्रणाली। मैंने होस्ट A से समान शेयर माउंट करने की कोशिश की, लेकिन एक अनुमति अस्वीकृत त्रुटि प्राप्त करें:
root@lap-fzs-2:~# mount -t nfs mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting mandrake:/data
यह तथ्य कि यह मेजबान ए और बी के बीच काम करता है, यह साबित किया जाना चाहिए कि एनएफएस निर्यात प्रति एसई काम कर रहा है। यहां वह जानकारी है जो मैं दे सकता हूं कि मुझे लगता है कि यह काम करना चाहिए। शायद कोई देखता है कि मैं क्या नहीं जानता और जानता हूं कि नए मेजबान सी पर यह विफल क्यों है।
सर्वर निर्यात:
[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
पोर्टमैपर चल रहा है, निर्यात ज्ञात है और होस्ट बी "एथलोन 64" द्वारा माउंट किया गया है।
[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 होस्ट NFS शेयर की गणना करता है, तो सर्वर लॉग सफलता दिखाता है:
Feb 11 20:06:46 mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)
लेकिन जब होस्ट सी समान शेयर को माउंट करने की कोशिश करता है, तो सर्वर लॉग दिखाता है:
Feb 11 20:12:42 mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry
होस्ट सी सर्वर को देखता है, पोर्टमैप और एनएफ़एसडी तक पहुंचता है, लेकिन अनुमतियों में विफल रहता है।
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
मुझे क्लाइंट पर NFSv2 का उपयोग करना होगा। NFSv4 का उपयोग करना विफल हो जाएगा क्योंकि सर्वर इसका समर्थन नहीं करता है। यह विफल हो जाता है क्योंकि यह सीधे टीसीपी के माध्यम से 2049 से जुड़ने की कोशिश करता है लेकिन पोर्ट खुला नहीं है। कोई कमबैक नहीं होता है। NFSv3 का उपयोग करने से RPC प्रोग्राम / संस्करण बेमेल हो जाएगा।
मैं क्या खो रहा हूँ?
अपडेट:
सभी तीन मशीनें एक ही स्विच पर, एक LAN पर होती हैं। होस्ट सी पर कोई फ़ायरवॉल सक्रिय नहीं है:
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
न ही मेजबान ए पर:
[root@mandrake /root]# ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):
exportfs -a
होस्ट एक पर आदेश है, तो कोशिश mount
स्पष्ट होस्ट नाम या पूर्ण आईपी पते का प्रयास करें होस्ट सी पर आदेश /etc/exports
।
exportfs -a
बूट समय पर करता है और चूंकि यह एक नई प्रविष्टि नहीं है, इसलिए यह पहले से ही निर्यात किया गया है। निर्यात फ़ाइल नहीं बदली, यह सिर्फ एक नया होस्ट है जिसे इसे माउंट करना चाहिए और नहीं कर सकता।
/etc/exports
वास्तव में पूर्ण आईपी पते का उपयोग करने से यह काम करता है। अब मेरे पास / 24 नेट प्लस है और सूचीबद्ध पूर्ण आईपी और सी माउंट कर सकते हैं। अभी तक होस्ट बी की कोशिश नहीं की गई है। किसी भी विचार यह क्यों है? मैंने देखा कि होस्ट बी (काम करने वाला) ने संस्करण 2 एमएनटी कॉल का उपयोग किया था, जबकि होस्ट सी ने संस्करण 1 एमएनटी कॉल का सहारा लिया था।