सन माइक्रोसिस्टम्स का एनएफएस (नेटवर्क फाइल सिस्टम) एक आरपीसी-आधारित वितरित फाइल सिस्टम संरचना है जो नेटवर्क उपकरणों को नेटवर्क पर एनएफएस चलाने वाले सर्वरों को उनके स्थानीय ड्राइव के रूप में उपयोग करने की अनुमति देता है।
यहाँ एक Linux मशीन पर NFS सर्वर को स्थापित करने और कॉन्फ़िगर करने के लिए चरण-दर-चरण मार्गदर्शिका है।
नेटवर्क फाइल सिस्टम क्या है?
NFS फाइल सिस्टम में चार प्रोटोकॉल होते हैं। जब सर्वर तैयार होता है, तो यह पोर्टमैप (सर्वर जो प्रोटोकॉल को पोर्ट नंबरों में परिवर्तित करता है) को उपयोग करने के लिए सूचित करता है और नियंत्रित आरपीसी प्रोग्राम नंबर प्रदान करता है।
एम्बेडेड Linux सिस्टम का उपयोग करते समय, अपने डिवाइस को NFS फ़ाइल शेयर के माध्यम से बूट करना बहुत सुविधाजनक होता है सीधे स्टोरेज डिवाइस से शुरू करने के बजाय नेटवर्क पर (नंद फ्लैश, ईएमएमसी, एमएमसी, आदि।)।
हालांकि दुर्लभ, आप एनएफएस शेयर को माउंट करना और सिस्टम बूट होने के बाद इसका उपयोग करके फाइल शेयर करना चाह सकते हैं, भले ही आप अपने सिस्टम को सीधे एनएफएस शेयर से बूट न करें। दोनों परिदृश्यों के काम करने के लिए, आपको पहले उस कंप्यूटर पर एक NFS सर्वर स्थापित करना होगा जिस पर आप विकास कर रहे हैं।
लिनक्स पर एनएफएस कैसे स्थापित करें
यदि आप a. का उपयोग कर रहे हैं डेबियन आधारित प्रणाली जैसे कि उबंटू या लिनक्स टकसाल, आपको स्थापित करना चाहिए nfs-कर्नेल-सर्वर पैकेज इस प्रकार है:
सुडो उपयुक्त इंस्टॉल एनएफएस-कर्नेल-सर्वर
आर्क लिनक्स पर:
sudo pacman -S nfs-utils
फेडोरा, सेंटोस और आरएचईएल पर:
सुडो डीएनएफ -y इंस्टॉल एनएफएस-बर्तन
प्रक्रिया के अंत में, आपका NFS सर्वर स्वचालित रूप से चलेगा। हालाँकि, इस बिंदु पर, यह अभी तक नहीं जानता है कि आप अपने कंप्यूटर पर कौन सी निर्देशिका नेटवर्क पर साझा करना चाहते हैं। इसलिए, यह डिफ़ॉल्ट रूप से कोई साझाकरण प्रदान नहीं करता है।
विभिन्न प्राधिकरणों और प्रतिबंधों के साथ नेटवर्क साझाकरण की अनुमति देने के लिए आप एक ही सर्वर पर कई निर्देशिकाएं खोल सकते हैं।
Linux पर NFS सर्वर को कॉन्फ़िगर करना
NFS सर्वर पर किसी निर्देशिका को साझा करने के लिए, निर्देशिका-संबंधित सेटिंग को कॉन्फ़िगर करना आवश्यक है /etc/exports फ़ाइल। अपनी पसंद के किसी भी टेक्स्ट एडिटर के साथ फाइल खोलें। सुडो उपसर्ग को कमांड में जोड़ना सुनिश्चित करें।
सुडो विम / आदि /निर्यात
आप सोच रहे होंगे कि यहां आपको जो मैपिंग विकल्प दिखाई दे रहे हैं उनका क्या मतलब है:
- root_squash: सुडो अधिकृत क्लाइंट उपयोगकर्ताओं को एनएफएस पर कोई भी उपयोगकर्ता और समूह के रूप में चिह्नित नहीं करता है
- no_root_squash: रूट स्क्वैशिंग अक्षम करता है
- सभी_स्क्वैश: root_squash के विपरीत, यह सभी उपयोगकर्ताओं को किसी भी उपयोगकर्ता और समूह के रूप में मैप करने की अनुमति नहीं देता है। यह आम तौर पर सार्वजनिक पहुंच के लिए उपयोग किया जाता है।
- no_all_squash: All_squash के विपरीत; यह विकल्प डिफ़ॉल्ट है
जब IP श्रेणी के बाहर का सिस्टम NFS सर्वर पर /etc/exports फ़ाइल में आपको अनुमति देता है तो संबंधित संसाधन तक पहुँचने का प्रयास करता है, NFS सर्वर अनुरोध को अस्वीकार कर देगा।
अपने एम्बेडेड सिस्टम पर बढ़ते समय आपको "सर्वर द्वारा अस्वीकृत पहुंच" संदेश प्राप्त हो सकते हैं। निम्न के जैसा त्रुटि संदेश अंत में दिखाई देंगे /var/log/syslog कंप्यूटर पर फ़ाइल जहाँ NFS सर्वर चल रहा है:
आरपीसी.माउंट [1041]: माउंट अनुरोध अस्वीकार कर दिया से192.168.2.2के लिये /घर/उदाहरण/कैस्पर/लक्ष्य (/home/उदाहरण/कैस्पर/लक्ष्य): बेजोड़ मेजबान
जब आप ऊपर वाले की तरह एक बेजोड़ होस्ट लॉग संदेश देखते हैं, तो आपको /etc/exports फ़ाइल में संबंधित नियम के आईपी/नेटमास्क अनुभाग का विस्तार करना चाहिए या इसका उपयोग करना चाहिए तारांकन (*) विशेष वर्ण यदि आप सभी IP पतों तक पहुँच प्रदान करना चाहते हैं।
इसमें संशोधन करने के बाद आपको NFS सेवा को पुनरारंभ करना होगा /etc/exports फ़ाइल:
sudo सेवा nfs-कर्नेल-सर्वर पुनरारंभ
या, यदि आपका डिस्ट्रो जहाज systemctl के साथ है, तो निम्न कमांड चलाएँ:
सुडोसिस्टमसीटीएलपुनर्प्रारंभ करेंएनएफएस-सर्वर।सर्विस
आप भी दे सकते हैं -आर के लिए पैरामीटर निर्यात एफएस कमांड ताकि यह उन निर्देशिकाओं को फिर से साझा करे जिन्होंने शेयर से संबंधित किसी भी सेटिंग को बदल दिया है:
सुडो एक्सपोर्ट एफएस -आर
माउंट विलंबता समस्या को ठीक करना
जब आप अपने सर्वर पर NFS प्रोटोकॉल संस्करण 4 और उच्चतर का उपयोग करते हैं, तो इस दौरान 15 सेकंड तक का विलंब हो सकता है NFS के डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ पारंपरिक ऑपरेटिंग परिदृश्यों में क्लाइंट-साइड माउंट प्रक्रिया सर्वर। यह समस्या डेबियन, फेडोरा और उबंटू के कुछ संस्करणों पर दिखाई दे सकती है।
यदि आप एक समान माउंट लैग का अनुभव कर रहे हैं, तो आप कर सकते हैं सर्वर-साइड लॉग फ़ाइलों की जाँच करें (/var/log/syslog, /var/log/messages) निम्न के जैसा लॉग संदेश के लिए:
... RPC: AUTH_GSS अपकॉल का समय समाप्त हो गया
यह संदेश इंगित करता है कि Kerberos प्रमाणीकरण विफल और समयबाह्य हो गया है। संभवतः आपको अपने परिवेश में नेटवर्क पर सुरक्षा प्रमाणीकरण के लिए Kerberos प्रोटोकॉल की आवश्यकता नहीं होगी। भले ही आप इस तरह से कॉन्फ़िगर किए गए नेटवर्क पर हों, कम से कम आपके एम्बेडेड लिनक्स सिस्टम के साथ, आपको Kerberos प्रमाणीकरण को सक्षम करने की आवश्यकता नहीं होगी।
हालांकि समस्या को ठीक करने के लिए एनएफएस के साथ जीएसएसडी सेवा चलाने के विकल्प की पेशकश की गई है, इन तरीकों में नहीं है सभी वितरणों और पैकेज संस्करणों में समान प्रभाव, और इसलिए, इस समस्या से निपटने के लिए सबसे तर्कसंगत है जड़।
आपको ब्लॉक करना होगा (या काली सूची में डालना) rpcsec_gss_krb5 कर्नेल मॉड्यूल को लिनक्स सिस्टम पर लोड होने से रोकता है जहां एनएफएस सर्वर निष्पादित हो रहा है।
हर बार जब आप अपने कंप्यूटर को पुनरारंभ करते हैं तो यह विकल्प प्रभावी होता है, एक नई फ़ाइल बनाएँ बुलाया /etc/modprobe.d/nfs-gss-blacklist.conf और इसमें निम्नलिखित पंक्तियाँ जोड़ें:
ब्लैकलिस्ट rpcsec_gss_krb5
एक बार जब आप फ़ाइल को सहेज लेते हैं और सिस्टम को रिबूट कर देते हैं, तो माउंट विलंबता की समस्या दूर हो जाएगी।
NFS सर्वर का उपयोग क्यों करें?
एनएफएस स्थापित करने के लिए सरल और किफायती है। यह केंद्रीकृत प्रबंधन की अनुमति देता है, जो एक व्यक्तिगत उपयोगकर्ता के पीसी पर अतिरिक्त सॉफ्टवेयर और भंडारण स्थान की आवश्यकता को कम करता है। एक मशीन पर, एकाधिक उपयोगकर्ता एक ही डिस्क स्थान साझा कर सकते हैं। स्टोरेज स्पेस बढ़ाने के लिए वे इन डिस्क को अपने फाइल सिस्टम के ऊपर रख सकते हैं।
NFS साझाकरण उन प्रोग्रामों को अनुमति देता है जिन्हें एक सर्वर पर समूहीकृत करने के लिए बहुत अधिक संग्रहण स्थान की आवश्यकता होती है। इसके परिणामस्वरूप भारी डिस्क स्थान बचत हो सकती है। जबकि पिछले NFS संस्करण असुरक्षित हैं, नए संस्करणों ने सुरक्षा के अतिरिक्त स्तर पेश किए हैं, जिसमें Kerberos प्रमाणीकरण शामिल है।
हालाँकि, कुछ नुकसान भी हैं। एनएफएस को भारी नेटवर्क ट्रैफिक के दौरान कुछ मामलों में धीमा पाया गया है। Windows के साथ साझा करना संभव है, लेकिन इसके लिए कुछ तृतीय-पक्ष एप्लिकेशन की आवश्यकता हो सकती है। लेकिन सुरक्षा की दृष्टि से यह बहुत समझदार प्रथा नहीं है। यदि कॉन्फ़िगरेशन सही नहीं है, तो अनधिकृत पहुंच हो सकती है।
फ़ाइल सिस्टम साझाकरण NFS का उपयोग करके Linux पर आसान बना दिया गया है
सुरक्षा समस्याओं को जानना और समाधान खोजना एक सिस्टम प्रशासक के सबसे महत्वपूर्ण कार्यों में से एक है। केवल NFS ही नहीं, सभी फ़ाइल साझाकरण प्रणालियों और प्रबंधन उपकरणों के लिए सुरक्षा प्रक्रियाओं को जानना आवश्यक है।