स्थिर IP पता कैसे सेट करें और क्यों
सूचना! मैं NetworkManager के साथ नेटवर्क सेट करने के अन्य तरीकों के बारे में बात नहीं करता। किसी भी उपकरण का उल्लेख /etc/network/interfaces
एनएम द्वारा छुआ नहीं गया है
एक आईपी नेटवर्क (IPv4 और IPv6) के माध्यम से संचार करने में सक्षम होने के लिए कंप्यूटर को पता होना चाहिए कि उसके पास आईपी पता क्या है। इसलिए address
कंप्यूटर को यह बताने के लिए निर्देश की आवश्यकता है कि
जब कंप्यूटर फिर दूसरे कंप्यूटर से बात करना चाहता है, तो यह उस कंप्यूटर का उपयोग करने के लिए अन्य कंप्यूटरों के आईपी पते का उपयोग करता है कि क्या कंप्यूटर उसी नेटवर्क में है, LAN। यदि हां, तो कंप्यूटर दूसरे कंप्यूटर के साथ सीधे संवाद कर सकता है।
तो कंप्यूटर कैसे जानता है जब वह उसी LAN पर कंप्यूटर के साथ संचार कर रहा है? नेटवर्क का उपयोग करके netmask
, जहां पते का शुद्ध हिस्सा लोगों के लिए सेट किया गया है और मेजबान भाग को शून्य पर सेट किया गया है। इसलिए आईपी एड्रेस और नेटमास्क में प्रत्येक बिट के बीच एक बिटवाइज़ और ऑपरेशन करने से हमें आईपी एड्रेस का नेटवर्क पता मिलेगा, जहाँ होस्ट पार्ट शून्य है। इसलिए यदि हम कंप्यूटर पर IP पता और अन्य कंप्यूटर IP पते पर ऐसा करते हैं तो हमें प्रत्येक नेटवर्क पता मिलता है .. यदि वे समान हैं, तो इसका मतलब है कि कंप्यूटर एक ही नेटवर्क में हैं और एक दूसरे से सीधे बात कर सकते हैं।
यदि नेटवर्क पते समान नहीं हैं, तो वे अलग-अलग LAN पर हैं और एक दूसरे से सीधे संवाद नहीं कर सकते। फिर कंप्यूटर को एक विशेष कंप्यूटर का उपयोग करने की आवश्यकता होती है जो अन्य LAN से जुड़ा होता है। वह कंप्यूटर एक राउटर है (जिसमें फ़ायरवॉल और NAT भी हो सकता है)। इसलिए जब कंप्यूटर LAN के बाहर अन्य कंप्यूटरों से बात करना चाहता है, तो उसे उस कंप्यूटर का पता जानना होगा जो gateway
निर्देश के साथ सेट किया गया है । यदि किसी अन्य इंटरफ़ेस ने पहले से ही कोई gateway
मान सेट किया है , तो आपको इस इंटरफ़ेस के लिए कोई अन्य गेटवे निर्देश सेट नहीं करना चाहिए। gateway
निर्देश सेट कंप्यूटर के लिए डिफ़ॉल्ट मार्ग है, तो आप प्रत्येक मशीन पर आईपीवी 4 के लिए केवल एक और केवल एक IPv6 के लिए की जरूरत है। यह नेटवर्क पता network
निर्देश के साथ मैन्युअल रूप से सेट किया जा सकता है ।
कुछ समय में कंप्यूटर लैन में सभी कंप्यूटरों के साथ संवाद करना चाहता है, और यह प्रसारण पते का उपयोग करता है। यह पता उसी LAN के सभी कंप्यूटरों द्वारा सुना जाता है। यह मूल रूप से नेटवर्क पते के समान है, मेजबान भाग को छोड़कर सभी शून्य नहीं हैं और इसके बजाय सभी हैं। यह प्रसारण पता broadcast
इंटरफ़ेस में निर्देश द्वारा निर्धारित किया गया है।
इंटरफ़ेस network
पते को केवल एक बार गणना करने की आवश्यकता होती है और आमतौर पर उस address
और netmask
निर्देशों से सही गणना की जाती है । broadcast
पते के साथ भी । इसलिए आपको उन्हें सेट करने की आवश्यकता नहीं है। वास्तव में यदि आप एक या दोनों को गलत मान देते हैं, तो आप अपने LAN में इंटरनेट और अन्य कंप्यूटरों से कनेक्शन खो सकते हैं। इसलिए जब तक आपके पास उन पर कुछ अजीब मूल्य नहीं हैं, कंप्यूटर को उनके लिए गणना करें।
तो एक न्यूनतम स्थैतिक सेटिंग्स, या छंद, एक निजी नेटवर्क में /etc/network/interfaces
डिवाइस के लिए इस तरह दिख सकता है eth1
:
iface eth1 static inet
address 192.168.44.10
netmask 255.255.255.0
gateway 192.168.44.1
नाम कैसे हल करता है और यह DNS से कैसे जुड़ा है।
डोमेन नाम का उपयोग मनुष्यों के लिए डोमेन नाम पढ़ने और याद रखने के लिए आसान के बीच परिवर्तित करने के लिए किया जाता है और कंप्यूटरों को आईपी पते को याद रखना इतना आसान नहीं है, जो ऊपर उल्लेख किया गया है। इसे नाम समाधान कहा जाता है ।
यह आमतौर पर फ़ाइल /etc/nsswitc.conf
और लाइन से नियंत्रित होता है जो इसके साथ शुरू होता है hosts:
। यदि आप कंप्यूटर को कंप्यूटर से कनेक्ट करने के लिए कहते हैं my.example.com
, तो यह इस फ़ाइल पर गौर करेगा और नाम से आईपी पते को हल करने का प्रयास करेगा my.example.com
। यह फ़ाइल वास्तव में इस सवाल का जवाब नहीं देती है कि "कौन सा आईपी my.example.com है", यह सिर्फ उस कंप्यूटर को बताता है जहां उसे उत्तर मिल सकता है।
आमतौर पर यह /etc/hosts
फ़ाइल को पहले स्थैतिक स्थानीय नामों के mDNS
लिए आज़माता है , फिर डायनामिक स्थानीय नामों के लिए अवहि और फिर इंटरनेट से एक नाम प्राप्त करने के लिए DNS डोमेन नाम फिर से जमा करता है।
अगर इनमें से कुछ आपके सवालों के जवाब देने में धीमे हैं, तो ऐसा लग सकता है कि कंप्यूटर थोड़ी देर के लिए अटक जाए। इसलिए यदि आपको ऐसा लगता है, तो पहले हल करने वाले नाम की जांच करें।
इसलिए स्थैतिक पते जोड़कर आप इसे अपनी /etc/hosts
फ़ाइल में जोड़ सकते हैं । वैसे, यदि आपके पास एक स्थैतिक पता है, तो आपको संभवतः अपने आईपी पते को अपनी मशीन के लिए अपने आईपी पते में बदलना चाहिए न कि डिफ़ॉल्ट 127.0.1.1
(जो स्थानीय नेटवर्क में है, जहां लोकलहोस्ट हैं 127.0.0.1
)। यह केवल क्लाइंट्स के लिए ठीक काम करता है न कि सर्वर के लिए।
डायनेमिक एड्रेस आपको लिनक्स मशीनों से avahi
पैकेज के साथ और एप्पल मशीनों (और आईट्यून्स के साथ एमएस विंडोज) से मिलता है। यह "जादू" द्वारा नियंत्रित किया जाता है और आपको इसे ठीक करने की आवश्यकता नहीं होगी।
DNS का उपयोग इंटरनेट तक पहुंचने के लिए किया जाता है और आपको कंप्यूटर को यह बताने की आवश्यकता होती है कि आप जिन DNS सर्वर का उपयोग करना चाहते हैं, वे कौन से आईपी पते का उपयोग करते हैं और आपका डिफ़ॉल्ट DNS डोमेन क्या है।
यह फ़ाइल में किया जाता है /etc/resolv.conf
और इसे स्टैटिकली सेट किया जा सकता है। यह इतनी अच्छी तरह से हमारे स्थिर दुनिया में काम नहीं करता है, इसलिए आमतौर पर आपके पास एक पैकेज होता है जिसे resolvconf
इंस्टॉल किया जाता है। इससे आप इन सेटिंग्स को /e/n/interfaces
फाइल में सेट कर सकते हैं ।
इसलिए यदि हम मानते हैं कि हम एक Googles DNS सर्वर, 8.8.8.8
और आपके ISP के DNS सर्वर 192.0.2.1
, और आपके डोमेन my.example.org
डोमेन को डिफ़ॉल्ट रूप से /etc/network/interfaces
जोड़ना चाहते हैं, तो आप बस फ़ाइल को संपादित करें और स्थैतिक डिवाइस के लिए छंद में इन दो पंक्तियों को जोड़ दें।
dns-nameservers 8.8.8.8 192.0.2.10
dns-search my.example.org
आप यह भी देख सकते हैं कि DNS रिज़ॉल्वर केवल अधिकतम तीन DNS सर्वर का उपयोग करेगा। कृपया इसे man
पृष्ठ के अंदर देखें resolv.conf
। आमतौर पर, आप कमांड का उपयोग कर सकते हैं man nsswitch.conf
, man resolv.conf
और man resolvconf
अधिक जानकारी के लिए।
यह भी ध्यान दें कि मैं आईएसपी उदाहरण डीएनएस सर्वर के लिए डोमेन example.com और example.org और IP नेटवर्क 192.0.2.0/24 का उपयोग करता हूं। इन्हें स्पष्ट रूप से उदाहरणों में उपयोग किए जाने के लिए परिभाषित किया गया है। Http://example.com/ या http://tools.ietf.org/html/rfc2606 और rfc5735 देखें
फिर आप कैसे जाँचेंगे कि यह काम करता है?
आप ऐसा कई तरीकों से कर सकते हैं, लेकिन मैं आमतौर पर उपयोग करता हूं
getent hosts my.test.com
नाम समाधान के लिए पूरे सेटअप का परीक्षण करने के लिए। अगर मैं सिर्फ यह जांचना चाहता हूं कि DNS काम करता है या नहीं, तो मैं इनमें से एक कमांड का उपयोग करता हूं:
host my.test.com
dig my.test.com
लेकिन याद रखें कि जो /etc/resolv.conf
फ़ाइल में सेटिंग्स के माध्यम से केवल DNS का परीक्षण करते हैं, और /etc/nsswitch.conf
भाग का नहीं । यह वही हो सकता है जो आप चाहते हैं, या नहीं।