सबसे अच्छी विधि 9.8.1 या नए में प्रतिक्रिया नीति क्षेत्र के माध्यम से है। यह आपको मनमाने ढंग से क्षेत्रों में एकल रिकॉर्ड को ओवरराइड करने की अनुमति देता है (और इसके लिए कोई संपूर्ण उप-डोमेन बनाने की आवश्यकता नहीं है, केवल एकल रिकॉर्ड जिसे आप बदलना चाहते हैं), यह आपको CNAMEs को ओवरराइड करने की अनुमति देता है, आदि जैसे अनबाउंड अन्य समाधान CNAMEs को बाधित नहीं कर सकते हैं। ।
https://www.redpill-linpro.com/sysadvent/2015/12/08/dns-rpz.html
संपादित करें: चलो यह ठीक से करते हैं। मैं ऊपर दिए गए ट्यूटोरियल के आधार पर मैंने जो भी किया है, उसे दस्तावेज़ित करूँगा।
माई ओएस रास्पबेरी पाई के लिए रास्पियन 4.4 है, लेकिन तकनीक को डेबियन और उबंटू पर किसी भी बदलाव के बिना काम करना चाहिए, या अन्य प्लेटफार्मों पर कम से कम बदलाव के साथ।
उस जगह पर जाएं जहां आपकी बिंद कॉन्फिग फाइल आपके सिस्टम पर रखी गई हैं - यहां यह है /etc/bind। db.rpzनिम्नलिखित सामग्री के साथ एक फ़ाइल में बनाएँ :
$TTL 60
@ IN SOA localhost. root.localhost. (
2015112501 ; serial
1h ; refresh
30m ; retry
1w ; expiry
30m) ; minimum
IN NS localhost.
localhost A 127.0.0.1
www.some-website.com A 127.0.0.1
www.other-website.com CNAME fake-hostname.com.
यह क्या करता है?
- यह
www.some-website.comनकली पते के साथ आईपी पते को ओवरराइड करता है 127.0.0.1, प्रभावी रूप से लूपबैक पते पर उस साइट के लिए सभी ट्रैफ़िक भेज रहा है
- यह
www.other-website.comएक अन्य साइट के लिए यातायात भेजता है जिसे कहा जाता हैfake-hostname.com
कुछ भी जो एक बिंद ज़ोन फ़ाइल में जा सकता है आप यहाँ उपयोग कर सकते हैं।
इन परिवर्तनों को सक्रिय करने के लिए कुछ और चरण हैं:
named.conf.localइस अनुभाग को संपादित करें और जोड़ें:
zone "rpz" {
type master;
file "/etc/bind/db.rpz";
};
ऊपर लिंक किया गया ट्यूटोरियल आपको अधिक सामान जोड़ने के लिए कहता है, zone "rpz" { }लेकिन यह सरल सेटअपों में आवश्यक नहीं है - जो मैंने यहां दिखाया है वह आपके स्थानीय रिज़ॉल्वर पर काम करने के लिए न्यूनतम है।
संपादित करें named.conf.optionsऔर कहीं options { }अनुभाग में response-policyविकल्प जोड़ें :
options {
// bunch
// of
// stuff
// please
// ignore
response-policy { zone "rpz"; };
}
अब बिंद पुनः आरंभ करें:
service bind9 restart
बस। नेमसेवर को अब उन रिकॉर्ड्स को ओवरराइड करना शुरू कर देना चाहिए।
यदि आपको परिवर्तन करने की आवश्यकता है db.rpz, तो बस संपादित करें , फिर से बिंद को पुनः आरंभ करें।
बोनस: यदि आप DNS क्वेरीज़ को लॉग इन करना चाहते हैं, तो आप कार्यवाही पर नज़र रख सकते हैं, संपादित कर सकते हैं named.conf.localऔर सुनिश्चित कर सकते हैं कि एक loggingखंड है जिसमें ये कथन शामिल हैं:
logging {
// stuff
// already
// there
channel my_syslog {
syslog daemon;
severity info;
};
category queries { my_syslog; };
};
बिंद फिर से शुरू करें और यह बात है।
बिंद चल रही मशीन पर इसका परीक्षण करें:
dig @127.0.0.1 www.other-website.com. any
यदि आप किसी भिन्न मशीन पर खुदाई करते हैं तो @ 127.0.0.1 के बजाय @ @-ip-ip-of-Bind- सर्वर का उपयोग करें
मैंने जिस वेबसाइट पर काम कर रहा था, उसके लिए CNAME को ओवरराइड करने के लिए बड़ी सफलता के साथ इस तकनीक का उपयोग किया है, इसे एक नए AWS लोड बैलेंसर में भेज रहा हूं जिसे मैं अभी परीक्षण कर रहा था। एक रास्पबेरी पाई को बिंद को चलाने के लिए इस्तेमाल किया गया था, और आरपीआई को वाईफाई राउटर के रूप में कार्य करने के लिए भी कॉन्फ़िगर किया गया था - इसलिए डिवाइसेस को एसएसआई पर चलने वाले एसएसआईडी से कनेक्ट करके मुझे डीएनएस ओवरराइड मिलेगा जो मुझे परीक्षण के लिए आवश्यक था।