लिनक्स पर एक स्थानीय डीएनएस कैशिंग सर्वर कैसे सेटअप करें?

DNS लुकअप आम तौर पर ऐसी कोई चीज़ नहीं है जिसके बारे में आपको चिंता करने की ज़रूरत है। कभी-कभी आपको करना चाहिए!


यदि आपके घर या कार्यालय के ISP में धीमी नेमसर्वर हैं या आपका सर्वर बहुत सारे लुकअप कर रहा है, तो आपको एक स्थानीय कैशिंग सर्वर सर्वर की आवश्यकता है.

कैशिंग डीएनएस सर्वर कैसे मेरी मदद करेगा?

कैशिंग DNS सर्वर उन सभी DNS क्वेश्चन को पूरा करने का काम करता है जो आपके सिस्टम बनाता है और फिर सेविंग, या कैशिंग, मेमोरी में परिणाम। एक बार जब आप किसी डोमेन के लिए डुप्लिकेट रिक्वेस्ट करते हैं तो रिजल्ट को किसी भी समय मेमोरी में कैश्ड कर दिया जाता है।.

यह बहुत महत्वपूर्ण नहीं लग सकता है, लेकिन यदि आपके आईएसपी के डीएनएस सर्वर प्रतिक्रिया के लिए अपना समय ले रहे हैं, तो यह आपके इंटरनेट ब्राउज़िंग को काफी धीमा कर देगा। उदाहरण के लिए, यूएस न्यूज चैनल एमएसएनबीसी के होम पेज को सही ढंग से लोड करने के लिए 100 से अधिक अद्वितीय डोमेन नामों से संपर्क करने की आवश्यकता है। यदि आपके ISP के नाम सर्वरों को प्रतिक्रिया देने के लिए सामान्य से 10 सेकंड अधिक समय लग रहा है, तो इसका मतलब है कि लोडिंग खत्म होने में पेज को 10 सेकंड अधिक समय लगेगा.

एक स्थानीय कैशिंग डीएनएस सर्वर न केवल आपके घर या कार्यालय में मदद करेगा, बल्कि यह आपके सर्वर पर भी मदद करेगा। यदि आपके पास एक एप्लिकेशन है जो बहुत सारे डीएनएस लुकअप बनाता है, उदाहरण के लिए, एक स्पैम-विरोधी सॉफ़्टवेयर चलाने वाला एक व्यस्त ईमेल सर्वर, जो एक स्थानीय कैशिंग डीएनएस सर्वर से गति को बढ़ावा देगा।.

अंत में, सिस्टमड-सॉल्यूशन बहुत नवीनतम, सुरक्षित डीएनएस मानकों का समर्थन करता है DNSSEC और DNSoverTLS या दूरसंचार विभाग. ये आपकी ऑनलाइन गोपनीयता बनाए रखने में आपकी मदद करते हैं.

हम किस स्थानीय कैशिंग डीएनएस का उपयोग करेंगे?

स्थानीय कैशिंग DNS सर्वर जिसे हम इस गाइड में सक्षम और कॉन्फ़िगर करेंगे systemd समाधान किया गया. इस उपकरण का एक हिस्सा है systemd सिस्टम प्रबंधन उपकरण का सूट। यदि आपका सिस्टम systemd का उपयोग कर रहा है, और लगभग सभी प्रमुख लिनक्स वितरण हैं, तो आपके पास पहले से ही systemd- सॉल्व्ड इंस्टाल होगा लेकिन नहीं चल रहा है। अधिकांश वितरण प्रणाली-समाधान का उपयोग नहीं करते हैं भले ही यह मौजूद हो.

systemd- सॉल्यूशन एक छोटा लोकल कैशिंग DNS सर्वर चलाकर काम करता है जिसे हम बूट पर शुरू करने के लिए कॉन्फ़िगर करेंगे। फिर हम उनके DNS प्रश्नों को स्थानीय कैशिंग सिस्टमड-सॉल्यूशन DNS पर निर्देशित करने के लिए बाकी सिस्टम को फिर से कॉन्फ़िगर करेंगे.

अगर आप पहले से ही सिस्टमड-सॉल्व कर रहे हैं तो कैसे जांच करें?

कुछ लिनक्स वितरण पहले से ही डिफ़ॉल्ट रूप से उबंटू 19.04 जैसे सिस्टमड-सॉल्वड का उपयोग कर रहे हैं.

यदि आप पहले से ही सिस्टमड-सॉल्व कर रहे हैं तो आपको इसे इस्तेमाल करने के लिए इसे सक्षम करने या अपने सिस्टम को कॉन्फ़िगर करने की आवश्यकता नहीं है। हालाँकि, आपको यह सुनिश्चित करने की आवश्यकता है कि नेटवर्क प्रबंधन उपकरण जैसे NetworkManager को सही ढंग से कॉन्फ़िगर किया गया है क्योंकि वे सिस्टम नेटवर्क कॉन्फ़िगरेशन को अनदेखा कर सकते हैं.

अगले खंड पर आगे बढ़ने से पहले यह जांचने के लिए कि क्या आप पहले से ही सिस्टमड-हल किए जा रहे हैं, निम्नलिखित कमांड चलाएँ:

$ संकल्प स्थिति

यदि आपको संदेश मिलता है:

$ संकल्प स्थिति
वैश्विक डेटा प्राप्त करने में विफल: इकाई dbus-org.freedesktop.resolve1.service नहीं मिली.

तुम हो नहीं चल प्रणाली-हल किया गया है और अगले भाग पर जाना चाहिए। यदि, इसके बजाय, आप आउटपुट को देखते हैं जो निम्न जैसे कुछ से शुरू होता है:

वैश्विक
LLMNR सेटिंग: हाँ
मल्टिकास्टडएनएस सेटिंग: हाँ
DNSOverTLS सेटिंग: अवसरवादी
DNSSEC सेटिंग: अनुमति-डाउनग्रेड
DNSSEC समर्थित: नहीं
वर्तमान DNS सर्वर: 1.1.1.1
DNS सर्वर: 1.1.1.1
1.0.0.1

तब आप पहले से ही सिस्टमड-सॉल्व्ड चल रहे हैं और इसे सक्षम करने की आवश्यकता नहीं है.

सिस्टम-सॉल्यूड को सक्षम और कॉन्फ़िगर करना

हमें पहले से ही सिस्टमड के एक हिस्से के रूप में सिस्टमड-सॉल्यूशन स्थापित करने की आवश्यकता नहीं है। डीएनएस कैशिंग सर्वर को चालू करने के लिए हमें इसे शुरू करने की आवश्यकता है और फिर इसे बूट पर शुरू करने के लिए सक्षम करना है.

एक शेल प्रॉम्प्ट से निम्नलिखित कमांड को चलाएं क्योंकि एक sudo ने सिस्टम-सॉल्यूशन शुरू करने के लिए एक गैर-रूट उपयोगकर्ता को सक्षम किया है:

$ sudo systemctl प्रारंभ systemd-Solve.service

अगला, सिस्टम बूट-अप पर systemd- हल करने के लिए निम्न कमांड चलाएँ:

$ sudo systemctl systemd-solve.service को सक्षम करता है

बायाँ विन्यास का अंतिम मद DNS सर्वरों को सेट करना है जो सिस्टमड-सॉल्वड हल किए गए डोमेन से क्वेरी करेगा। यहां कई विकल्प हैं, लेकिन निम्न में से कोई भी एक जोड़ा स्वतंत्र, तेज है, और वे DNSSEC और DoT दोनों का समर्थन करते हैं:

Google सार्वजनिक डीएनएस

  • 8.8.8.8
  • 8.8.4.4

Cloudflare Public DNS

  • 1.1.1.1
  • 1.0.0.1

अपने पसंदीदा टेक्स्ट एडिटर के साथ मुख्य systemd- सॉल्व्ड कॉन्फिगरेशन फ़ाइल खोलें, यहाँ मैंने नैनो का उपयोग किया है:

$ sudo नैनो /etc/systemd/resolved.conf

लाइन शुरू होती है संपादित करें

# डीएनएस =

ताकि आईपी पतों की एक जोड़ी सूचीबद्ध हो। यहाँ, Cloudflare DNS सर्वर दिखाए गए हैं:

DNS = 1.1.1.1 1.0.0.1

पाठ संपादक को सहेजें और बाहर निकलें। हमें अब systemd- हल को फिर से शुरू करने की आवश्यकता है ताकि यह नेमसर्वर्स का उपयोग करना शुरू कर दे:

$ sudo systemctl पुनरारंभ करें systemd-Solve.service

जैसे ही हम सिस्टम का उपयोग शुरू करने के लिए कॉन्फ़िगर करते हैं, सिस्टम-सॉल्यूशन अब तेजी से शुरू हो रहा है और डीएनएस प्रश्नों को सुरक्षित करने के लिए तैयार है।.

सिस्टमड-हल किए गए सिस्टम का उपयोग करने के लिए सिस्टम को कॉन्फ़िगर करना

आपके सिस्टम को कई तरीकों से कॉन्फ़िगर किया जा सकता है सिस्टमड-सॉल्वड का उपयोग करने के लिए, लेकिन हम उन दो कॉन्फ़िगरेशनों को देखेंगे जो अधिकांश उपयोग के मामलों को कवर करते हैं। पहला अनुशंसित कॉन्फ़िगरेशन है, और दूसरा संगतता कॉन्फ़िगरेशन है। दोनों के बीच अंतर यह है कि /etc/resolv.conf फ़ाइल कैसे प्रबंधित की जाती है.

/Etc/resolv.conf फ़ाइल ने नेमवेर्स के IP पते रखती है जो सिस्टम पर प्रोग्राम को क्वेरी करना चाहिए। जिन प्रोग्रामों को DNS क्वेरियाँ बनाने की आवश्यकता होती है, वे इस फाइल को यह पता लगाने के लिए परामर्श करेंगे कि उन प्रश्नों को बनाने के लिए उन्हें किस सर्वर से संपर्क करना चाहिए.

इस फाइल के कंटेंट को कैसे प्रबंधित किया जाता है, इसके चारों ओर सिस्टम-सॉल्वड सेंटर के दो मोड। अनुशंसित मोड में, /etc/resolv.conf को /run/systemd/resolve/stub-resolv.conf के लिए एक सहिष्णु बनाया जाता है। इस फाइल को सिस्टमड-सॉल्वड द्वारा प्रबंधित किया जाता है और इसलिए सिस्टमड-सॉल्वड सिस्टम पर अन्य सभी कार्यक्रमों के लिए डीएनएस कॉन्फ़िगरेशन जानकारी का प्रबंधन करता है.

जब अन्य प्रोग्राम /etc/resolv.conf की सामग्री को प्रबंधित करने का प्रयास करते हैं तो यह समस्या पैदा कर सकता है। संगतता मोड /etc/resolv.conf को अन्य प्रोग्रामों को प्रबंधित करने की अनुमति देते हुए छोड़ देता है, जबकि सिस्टमडॉल्यूशन उस DNS जानकारी का उपयोग करता है। इस मोड में, /etc/resolv.conf को प्रबंधित करने वाले अन्य प्रोग्रामों को /etc/resolv.conf में सिस्टम नेमवर के रूप में 127.0.0.53 सेट करने के लिए कॉन्फ़िगर किया जाना चाहिए।.

अनुशंसित मोड को कॉन्फ़िगर करना

जब हम इस मोड को कॉन्फ़िगर करते हैं तो सिस्टम-सॉल्यूड /etc/resolv.conf को /run/systemd/resolve/stub-resolv.conf को एक सिमलिंक बनाकर प्रबंधित करेगा। हमें इसे हाथ से करने की आवश्यकता होगी क्योंकि यह स्वचालित रूप से कॉन्फ़िगर नहीं किया गया है.

सबसे पहले, मौजूदा /etc/resolv.conf फ़ाइल को हटाएँ या नाम बदलें। नाम बदलना इसे हटाने का एक बेहतर विकल्प है क्योंकि इसका समान प्रभाव होगा लेकिन आप हमेशा मूल को संदर्भित कर सकते हैं यदि आपको इसमें मौजूद जानकारी की आवश्यकता है। यहाँ, हम /etc/resolv.conf का नाम बदलकर mv कमांड का उपयोग करते हैं:

$ sudo mv /etc/resolv.conf /etc/resolv.conf.original

अगला, सिमलिंक बनाएँ:

$ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

अंत में, पुनः आरंभ करें

$ sudo systemctl पुनरारंभ करें systemd-Solve.service

संगतता मोड को कॉन्फ़िगर करना

इस मोड में, आपको यह सुनिश्चित करने की आवश्यकता है कि सिस्टम ने जो स्थानीय नाम शुरू किया है, उसका समाधान सिस्टम सेवाओं द्वारा किया जाता है। एक पाठ संपादक में /etc/resolv.conf खोलें, यहाँ नैनो संपादक का उपयोग किया जाता है:

$ सुडो नैनो /etc/resolv.conf

आपके द्वारा “नेमसर्वर” से शुरू होने वाली किसी भी लाइन को हटाएं और इस लाइन को जोड़ें:

नेमवर 127.0.0.53

यह संपादन किसी अन्य प्रोग्राम द्वारा परिवर्तित हो सकता है जो /etc/resolv.conf को प्रबंधित कर रहा है। यदि ऐसा है तो आपको संपादन को स्थायी बनाने के लिए इस नामकरण का उपयोग करने के लिए उन कार्यक्रमों को कॉन्फ़िगर करना होगा.

डिबगिंग प्रणाली-समाधान

आपके द्वारा ये बदलाव किए जाने के बाद ही पता चलता है कि आपका सिस्टम DNS प्रश्नों को कैसे बना रहा है, यह कठिन हो सकता है। यह देखने का सबसे प्रभावी तरीका है कि क्या हो रहा है, डिबगिंग मोड में सिस्टमड-सॉल्व्ड को डालना है और लॉग फाइल को देखना है.

systemd-resolution एक सिस्टमड सर्विस है, जिसका अर्थ है कि यह डिबगिंग मोड में आसानी से डिबगिंग मोड में डाला जा सकता है जिसमें डीबग सेटिंग होती है। निम्न कमांड सही स्थान पर सही फ़ाइल बनाएगी:

$ sudo systemctl संपादित करें systemd-Solve.service

निम्नलिखित पंक्तियों को संपादक में पेस्ट करें और फिर सहेजें और बाहर निकलें:

[सर्विस]
पर्यावरण = SYSTEMD_LOG_LEVEL = डिबग

सिस्टमैड-सॉल्वड सर्विस को सफल सेव और एग्जिट पर स्वतः लोड किया जाएगा.

एक ही सर्वर के लिए दूसरा टर्मिनल खोलें और सिस्टम-सॉल्यूशन सेवा के लिए जर्नल लॉग का पालन करें:

$ सुडो जर्नलक्लिफ -फ -यू सिस्टमड-सुलझाया

एक लाइन जो “DNS सर्वर का उपयोग” शुरू होती है जैसे:

लेन-देन 19995 के लिए DNS सर्वर 1.1.1.1 का उपयोग करना.

आपको बताता है कि DNS सर्वर का उपयोग DNS प्रश्नों के लिए किस प्रकार किया जा रहा है। इस मामले में, 1.1.1.1 पर Cloudflare DNS सर्वर को क्वेर किया गया था.

“कैश मिस” होने वाली लाइनें इंगित करती हैं कि डोमेन नाम कैश नहीं किया गया है। उदा .:

उदाहरण के लिए कैश मिस। SOA में

लाइनें जो “पॉजिटिव कैश हिट” शुरू करती हैं जैसे:

उदाहरण के लिए पॉजिटिव कैश हिट

संकेत दें कि सिस्टमड-हल इस डोमेन को पहले ही क्वेर कर चुका है और स्थानीय मेमोरी में कैश से जवाब दिया गया था.

आपको डिबगिंग मोड को अक्षम करना चाहिए जब आपने कार्य प्रणाली को पूरा कर लिया है, क्योंकि यह एक व्यस्त सिस्टम पर एक बहुत बड़ी लॉग फ़ाइल बनाएगा। आप डिबग लॉगिंग को अक्षम करके चला सकते हैं:

$ sudo systemctl संपादित करें systemd-Solve.service

और दो पंक्तियों को हटाते हुए, आपने तब संपादक को सहेजा और बाहर निकाला.

सुरक्षित DNS प्रश्नों का उपयोग करना

systemd- सॉल्यूशन कुछ में से एक है, वर्तमान में उपलब्ध DNS सर्वर जो DNSSEC और DNSoverTLS दोनों का समर्थन करते हैं। ये दोनों यह सुनिश्चित करने में मदद करते हैं कि आपको वास्तविक DNS जानकारी (DNSSEC) प्राप्त हो रही है और कोई भी आपके DNS ट्रैफ़िक को स्नूप नहीं कर सकता क्योंकि यह इंटरनेट पर गुजरता है। (डीओटी).

टेक्स्ट एडिटर के साथ सिस्टमड-सोल्यूस्ड की मुख्य कॉन्फ़िगरेशन फ़ाइल को खोलकर ये विकल्प आसानी से सक्षम हो जाते हैं:

$ sudo नैनो /etc/systemd/resolved.conf

और फ़ाइल को संपादित करना ताकि निम्नलिखित दो पंक्तियाँ सेट हों:

DNSSEC = अनुमति देते हैं-ढाल
DNSOverTLS = अवसरवादी

संपादक से बाहर निकलें और फिर सिस्टमलोड को हल करें:

$ sudo systemctl पुनरारंभ करें systemd-Solve.service

जब तक आपने DNS सर्वर को DNSSEC और DoT सेट किया है, तब तक आपके DNS प्रश्नों की सुरक्षा की जाएगी। Google और Cloudflare public DNS सर्वर इन प्रोटोकॉल का समर्थन करते हैं.

निष्कर्ष

आपका सिस्टम अब तेजी से और कुशलता से कॉन्फ़िगर किया गया है ताकि जब आपके ISP का DNS सर्वर जितनी जल्दी हो सके उतनी तेजी से प्रतिक्रिया न दे सके। इसके अलावा, आपका डिजिटल जीवन अधिक सुरक्षित है क्योंकि आप अपने DNS प्रश्नों की सुरक्षा के लिए नवीनतम, सुरक्षित DNS प्रोटोकॉल का उपयोग कर रहे हैं.

यदि आप लिनक्स के शौकीन हैं और अधिक सीखना चाहते हैं, तो इस शानदार को देखें ऑनलाइन पाठ्यक्रम.

टैग:

  • लिनक्स

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map