VPN माथि NFS clientaddr: बानीले होइन, माइनर संस्करणले निर्णय गर्नुहोस्
clientaddr ले NFSv4.0 का लागि मात्र कलब्याक ठेगाना घोषणा गर्छ। सहमत भएको माइनर संस्करण पढ्नुहोस्, फर्कने बाटो जाँच्नुहोस् र यसलाई माउन्ट असफलताबाट अलग राख्नुहोस्।
clientaddr ती माउन्ट विकल्पहरूमध्ये एक हो जसको कारण धेरै अघि हराए पनि कमाण्ड लाइनमा प्रतिलिपि गरिन्छ। यसले NFSv4.0 सर्भरलाई क्लाइन्टलाई कहाँ फर्काएर बोलाउने भनी बताउँछ। यसले सर्भर छान्दैन, प्रत्येक अनुरोधलाई स्रोत ठेगानासँग बाँध्दैन र ट्राफिकलाई सुरुङमा धकेल्दैन। धेरै ठेगाना भएको ल्यापटपमा, यो बिल्कुल लागू हुन्छ कि भन्ने निर्णय गर्न तीन प्रश्न चाहिन्छ।
तीन सर्तले विकल्प महत्त्वपूर्ण छ कि छैन निर्णय गर्छन्
पहिलो सहमत भएको माइनर संस्करण हो, किनकि 4.1 र 4.2 ले कलब्याक फरक तरिकाले व्यवस्थापन गर्छन्। दोस्रो यो हो कि सर्भर तपाईंले घोषणा गर्ने ठेगानासम्म पुग्न सक्छ कि सक्दैन; रुट गरिएको सुरुङले सामान्यतया अनुमति दिन्छ र अनुवादित बाटोले सामान्यतया दिँदैन। तेस्रो यो हो कि तपाईंले पछ्याइरहेको असफलता कलब्याक असफलता हो कि होइन।
| Condition | If yes | If no |
|---|---|---|
| Version is 4.0 | The option can matter | Skip it; inspect the session instead |
| Server can reach the address | Advertise it | Fix reachability first |
| Failure is a callback | Diagnose callback path | Look at mount and export |
तिनीहरूलाई गलत क्रममा जवाफ दिनु नै त्यो बाटो हो जसबाट मानिसहरू 4.2 माउन्टमा कलब्याक ठेगाना थप्छन् र विकल्प बिग्रिएको निष्कर्षमा पुग्छन्।
पहिले माइनर संस्करण पढ्नुहोस्
nfsstat -m
अवस्थित माउन्टका लागि, यसले माउन्ट जानकारी र झन्डाहरू प्रिन्ट गर्छ, जसमा प्रभावकारी संस्करण vers=4.0, vers=4.1 वा vers=4.2 को रूपमा हुन्छ। केवल “NFSv4” भन्ने नोटले यो विकल्प सान्दर्भिक छ कि छैन निर्णय गर्ने एक मात्र विवरण छोड्छ। शब्द होइन, सङ्ख्या पढ्नुहोस्।
यदि संस्करण स्ट्रिङ तपाईंको कमाण्ड लाइनबाट होइन, सर्भरको पूर्वनिर्धारितबाट आएको हो भने, कुन माइनर संस्करणमा सहमति भयो सोध्नुहोस्। सर्भरले उच्च माइनर संस्करण अस्वीकार गरी पछाडि हट्न सक्छ, र त्यही हटाइ नै कलब्याक अचानक महत्त्वपूर्ण हुने अवस्था हो। तपाईंले लेखेको माउन्ट लाइनले तपाईंसँग भएको माउन्ट वर्णन नगर्न सक्छ।
4.0 का लागि, सर्भर पुग्न सक्ने ठेगाना घोषणा गर्नुहोस्
NFSv4.0 सर्भरलाई क्लाइन्टतर्फ फर्कने छुट्टै जडान चाहिन सक्छ, उदाहरणका लागि जब यसले प्रतिनिधित्व फिर्ता बोलाउँछ। धेरै इन्टरफेस वा असामान्य रुटिङ तालिका हुँदा कलब्याक ठेगानाको स्वचालित खोजले सर्भरले प्रयोग गर्न नसक्ने ठेगाना छान्न सक्छ।
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
कोलनअघिको ठेगाना सर्भर हो र गन्तव्य नै रहन्छ। कलब्याक ठेगाना क्लाइन्टको हो, र सुरुङको सर्भर पक्षबाट त्यहाँ पुग्न सकिनु पर्छ। लूपब्याक ठेगानाले सर्भरलाई फेरि आफैंतर्फ पठाउँछ। फर्कने मार्ग नभएको निजी क्लाइन्ट ठेगाना पनि त्यत्तिकै अनुपयोगी हुन्छ, क्लाइन्टमा यो सही देखिए पनि।
यसलाई उदाहरणका रूपमा प्रयोग गर्नुहोस्, चलिरहेको माउन्ट तल झार्ने कारणका रूपमा होइन। ठेगाना र निर्यात मार्ग बदल्नुहोस्, र सर्भरले चाहने प्रमाणीकरण तथा अन्य विकल्प राख्नुहोस्। एउटा उदाहरण मिलाउन तिनीहरू छोड्नु फरक नतिजा दिने फरक परिवर्तन हो, र सुरक्षा प्रकार लागू गर्ने सर्भरमा कुनै पनि कलब्याक प्रयासअघि नै यो असफल हुन्छ।
4.1 र 4.2 ले यो विकल्प प्रयोग गर्दैनन्
Linux NFSv4.1 र 4.2 ले क्लाइन्टले स्थापित गरेका जडानमार्फत कलब्याक बोक्छन्, र 4.1 ले त्यो सुविधालाई backchannel भन्छ। तिनीहरू सर्भरले घोषित ठेगानामा नयाँ जडान खोल्ने कुरामा निर्भर छैनन्, त्यसैले clientaddr ले 4.1 वा 4.2 को कलब्याक मार्ग सुधार्दैन।
यसको अर्थ 4.1 र 4.2 मा कलब्याक समस्या छैनन् भन्ने होइन। यसको अर्थ निदान फरक छ: कहिल्यै हुनु नहुने आगमन कलब्याक पोर्ट खोज्नुको सट्टा स्थापित सत्र र त्यसको backchannel अवस्था जाँच्नुहोस्। अनुपस्थित आगमन नियम नै अपेक्षित अवस्था हो, सुधार्नुपर्ने खोट होइन।
माउन्ट असफलतालाई कलब्याक असफलताबाट अलग गर्नुहोस्
पहिले क्लाइन्ट NFS सेवासम्म पुग्छ कि पुग्दैन र सर्भरले निर्यात तथा प्रमाणीकरण अनुरोध स्वीकार्छ कि स्वीकार्दैन निश्चित गर्नुहोस्। त्यो आदानप्रदानअघिको समयसमाप्तिले कलब्याक ठेगानाबारे केही भन्दैन। माउन्ट अझै असफल हुँदा एउटा बदल्नाले अनुसन्धान अगाडि बढ्दैन, र यसले मूल त्रुटिलाई नयाँ माउन्ट विकल्पको पछाडि लुकाउँछ।
प्रमाणले असफल 4.0 कलब्याक देखाएपछि मात्र घोषित ठेगाना महत्त्वपूर्ण हुन्छ, सर्भरको फर्कने मार्ग, क्लाइन्ट पक्षको श्रोता र तिनीहरूबीचको कुनै पनि फिल्टरिङसहित। माउन्ट विकल्पको सङ्ख्या बदलेर ती मार्ग बनाउन सकिँदैन; यसले पहिले नै भएको मार्गतर्फ मात्र सङ्केत गर्न सक्छ। ती चारमध्ये कुन तपाईंले प्रमाणित गर्नुभयो लेख्नुहोस्, किनकि अर्को प्रतिवेदन तीमध्ये कुनै पनि बिना आउनेछ।
प्रारम्भिक बुटको NFS मूल आफ्नै पूर्वसर्त भएको छुट्टै वातावरण हो: माउन्ट हुनुअघि initramfs लाई औजार र सञ्जाल चाहिन्छ। लगइनपछि काम गर्ने माउन्टले त्यो क्रमबारे केही प्रमाणित गर्दैन, र बुटको समयको असफलताले initramfs वा सञ्जालको विरलै उल्लेख गर्छ।