डेडवुड - क्लाउड में ऑनलाइन

यह कमांड डेडवुड है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


डेडवुड - एक पूरी तरह से पुनरावर्ती कैशिंग डीएनएस रिज़ॉल्वर

वर्णन


डेडवुड पूरी तरह से पुनरावर्ती DNS कैश है। यह निम्नलिखित सुविधाओं वाला एक DNS सर्वर है:

* डीएनएस रिकर्सन और डीएनएस फ़ॉरवर्डिंग कैशिंग दोनों के लिए पूर्ण समर्थन

* एम्बेडेड सिस्टम के लिए उपयुक्त छोटा आकार और मेमोरी फ़ुटप्रिंट

* सरल और स्वच्छ कोडबेस

* सुरक्षित डिज़ाइन

* स्पूफ सुरक्षा: क्वेरी आईडी और स्रोत पोर्ट निर्धारित करने के लिए मजबूत क्रिप्टोग्राफी का उपयोग किया जाता है

* किसी फ़ाइल में कैश को पढ़ने और लिखने की क्षमता

* डायनामिक कैश जो हाल ही में उपयोग न की गई प्रविष्टियों को हटा देता है

* अपस्ट्रीम से संपर्क करना असंभव होने पर कैश में समाप्त हो चुकी प्रविष्टियों का उपयोग करने की क्षमता
DNS सर्वर।

* यदि चाहें तो IPv6 समर्थन संकलित किया जा सकता है

* डीएनएस-ओवर-यूडीपी और डीएनएस-ओवर-टीसीपी दोनों को एक ही डेमॉन द्वारा नियंत्रित किया जाता है

* अंतर्निहित डीएनएसवॉल कार्यक्षमता

कमान लाइन बहस


डेडवुड के पास एक वैकल्पिक कमांड लाइन तर्क है: कॉन्फ़िगरेशन का स्थान
डेडवुड द्वारा उपयोग की जाने वाली फ़ाइल, "-f" ध्वज के साथ निर्दिष्ट। यदि यह परिभाषित नहीं है, डेडवुड
कॉन्फ़िगरेशन फ़ाइल के रूप में फ़ाइल "/etc/maradns/deadwood/dwood3rc" का उपयोग करता है।

दूसरे शब्दों में, डेडवुड का आह्वान करना Deadwood डेडवुड का उपयोग करने का कारण बनेगा
/etc/maradns/deadwood/dwood3rc कॉन्फ़िगरेशन फ़ाइल के रूप में; डेडवुड को इस रूप में लागू करना Deadwood -f
foobar डेडवुड को वर्तमान कार्यशील निर्देशिका में फ़ाइल "फूबार" का उपयोग करने का कारण बनेगा
डेडवुड प्रारंभ करते समय निर्देशिका एक कॉन्फ़िगरेशन फ़ाइल के रूप में होती है।

विन्यास फ़ाइल FORMAT


डेडवुड कॉन्फ़िगरेशन फ़ाइल को Python 2 के सिंटैक्स के आधार पर तैयार किया गया है। कोई वैध डेडवुड
कॉन्फ़िगरेशन फ़ाइल को Python 2.4.3 और Python 2.6.6 दोनों में भी सही ढंग से पार्स किया जाना चाहिए। अगर
कोई भी कॉन्फ़िगरेशन फ़ाइल डेडवुड में सही ढंग से पार्स करती है लेकिन एक सिंटैक्स त्रुटि उत्पन्न करती है
पायथन, यह एक बग है जिसे ठीक किया जाना चाहिए।

इसे ध्यान में रखते हुए, रिक्त स्थान महत्वपूर्ण है; डेडवुड पैरामीटर सबसे बाईं ओर होना चाहिए
बिना किसी अग्रणी रिक्त स्थान वाला स्तंभ. यह एक वैध पंक्ति है (जब तक इसमें कोई रिक्त स्थान नहीं है)।
यह बायां है):

पुनरावर्ती_एसीएल = "127.0.0.1/16"

हालाँकि, निम्नलिखित पंक्ति एक पार्स त्रुटि उत्पन्न करेगी:

पुनरावर्ती_एसीएल = "127.0.0.1/16"

गलत तरीके से स्वरूपित "recusive_acl" स्ट्रिंग के बाईं ओर के स्थान का निरीक्षण करें
लाइन.

पैरामीटर प्रकार


डेडवुड के तीन अलग-अलग पैरामीटर प्रकार हैं:

* संख्यात्मक पैरामीटर। संख्यात्मक पैरामीटर इस जैसे उद्धरणों से घिरे नहीं होने चाहिए
उदाहरण:

फ़िल्टर_rfc1918 = 0

यदि कोई संख्यात्मक पैरामीटर उद्धरण चिह्नों से घिरा हुआ है, तो त्रुटि संदेश "अज्ञात dwood3rc
स्ट्रिंग पैरामीटर" दिखाई देगा।

* स्ट्रिंग पैरामीटर। स्ट्रिंग पैरामीटर को उद्धरण चिह्नों से घिरा होना चाहिए, जैसे कि इसमें
उदाहरण:

बाइंड_एड्रेस = "127.0.0.1"

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

अपस्ट्रीम_सर्वर = {}
अपस्ट्रीम_सर्वर[।""]='8.8.8.8, 8.8.4.4'

सभी dwood3rc पैरामीटर सिवाय निम्नलिखित संख्यात्मक पैरामीटर हैं:

* बाइंड_एड्रेस (स्ट्रिंग)

* कैश_फ़ाइल (स्ट्रिंग)

* chroot_dir (स्ट्रिंग)

* आईपी_ब्लैकलिस्ट (स्ट्रिंग)

* ipv4_bind_addresses (स्ट्रिंग)

* रैंडम_सीड_फ़ाइल (स्ट्रिंग)

* रिकर्सिव_एसीएल (स्ट्रिंग)

* रूट_सर्वर (शब्दकोश)

* अपस्ट्रीम_सर्वर (शब्दकोश)

समर्थित पैरामीटर


डेडवुड कॉन्फ़िगरेशन फ़ाइल निम्नलिखित मापदंडों का समर्थन करती है:

बिंद_पता

यह वह IP (या संभवतः IPv6) पता है जिससे हम जुड़ते हैं।

कैश_फ़ाइल

यह कैश को डिस्क पर पढ़ने और लिखने के लिए उपयोग की जाने वाली फ़ाइल का फ़ाइल नाम है; यह
स्ट्रिंग में लोअरकेस अक्षर, '-' प्रतीक, '_' प्रतीक, और '/' प्रतीक (के लिए) हो सकते हैं
कैश को उपनिर्देशिका में डालना)। अन्य सभी प्रतीक '_' प्रतीक बन जाते हैं।

यह फ़ाइल उपयोगकर्ता डेडवुड द्वारा चलाए जाने पर पढ़ी और लिखी जाती है।

chroot_dir

यह वह निर्देशिका है जहाँ से प्रोग्राम चलेगा।

सब कुछ वितरित करें

यह डेडवुड 2.3 में व्यवहार को प्रभावित करता है, लेकिन डेडवुड 3 में इसका कोई प्रभाव नहीं है। यह चर है
केवल यहीं ताकि डेडवुड 2 आरसी फ़ाइलें डेडवुड 3 में चल सकें।

dns_port

यह वह पोर्ट है जिससे डेडवुड जुड़ता है और आने वाले कनेक्शनों को सुनता है। डिफ़ॉल्ट
इसके लिए मान मानक DNS पोर्ट है: पोर्ट 53

फ़िल्टर_आरएफसी1918

जब इसका मान 1 होता है, तो डीएनएस ए में कई अलग-अलग आईपी श्रेणियों की अनुमति नहीं होती है
उत्तर:

*192.168.xx

* 172.[16-31].xx

*10.xxx

*127.xxx

*169.254.xx

*224.xxx

*0.0.xx

यदि DNS उत्तर में उपरोक्त IP में से एक का पता लगाया जाता है, और फ़िल्टर_rfc1918 का मान 1 है,
डेडवुड एक सिंथेटिक "यह होस्ट उत्तर नहीं देता" प्रतिक्रिया (एक SOA रिकॉर्ड) लौटाएगा
ए रिकॉर्ड के बजाय एनएस अनुभाग)।

इसका कारण एक "dnswall" प्रदान करना है जो उपयोगकर्ताओं को कुछ प्रकार से सुरक्षा प्रदान करता है
हमले, जैसा कि वर्णित है http://crypto.stanford.edu/dns/

कृपया ध्यान दें कि डेडवुड केवल IPv4 "dnswall" कार्यक्षमता प्रदान करता है और मदद नहीं करता है
IPv6 उत्तरों से बचाव करें। यदि कुछ IPv6 AAAA रिकॉर्ड के विरुद्ध सुरक्षा की आवश्यकता है,
या तो सभी AAAA उत्तरों को अस्वीकार_एएए को 1 के मान पर सेट करके अक्षम करें, या एक का उपयोग करें
अवांछित IPv4 उत्तरों को फ़िल्टर करने के लिए बाहरी प्रोग्राम (जैसे dnswall प्रोग्राम)।

इसके लिए डिफ़ॉल्ट मान 1 है

हैंडल_नॉरप्लाई

जब इसे 0 पर सेट किया जाता है, तो डेडवुड क्लाइंट को कोई उत्तर नहीं भेजता है (जब क्लाइंट a
टीसीपी क्लाइंट, डेडवुड टीसीपी कनेक्शन बंद कर देता है) जब एक यूडीपी क्वेरी अपस्ट्रीम भेजी जाती है और
अपस्ट्रीम डीएनएस कभी उत्तर नहीं भेजता।

जब इसे 1 पर सेट किया जाता है, तो यूडीपी क्वेरी होने पर डेडवुड क्लाइंट को एक सर्वर फेल भेजता है
अपस्ट्रीम भेजा गया और अपस्ट्रीम DNS कभी उत्तर नहीं भेजता।

इसके लिए डिफ़ॉल्ट मान 1 है

हैंडल_ओवरलोड

जब इसका मान 0 होता है, तो यूडीपी क्वेरी भेजे जाने पर डेडवुड कोई उत्तर नहीं भेजता है
सर्वर अतिभारित है (बहुत सारे लंबित कनेक्शन हैं); जब इसका मान 1 हो,
डेडवुड यूडीपी क्वेरी के प्रेषक को एक सर्वर विफल पैकेट वापस भेजता है। डिफ़ॉल्ट मान
इसके लिए 1 है.

हैश_मैजिक_नंबर

इसका उपयोग डेडवुड के आंतरिक हैश जनरेटर को रखने के लिए किया जाता था
कुछ हद तक यादृच्छिक और कुछ प्रकार के हमलों के प्रति प्रतिरक्षित। डेडवुड 3.0 में, एन्ट्रापी के लिए
हैश फ़ंक्शन /dev/urandom (Windows पर Secret.txt) की सामग्री को देखकर बनाया गया है
मशीनें) और वर्तमान टाइमस्टैम्प। यह पैरामीटर केवल यहां इतना पुराना कॉन्फ़िगरेशन है
डेडवुड 3.0 में फ़ाइलें नहीं टूटतीं।

आईपी_ब्लैकलिस्ट

यह आईपी की एक सूची है जिसे हम DNS अनुरोध के उत्तर में शामिल करने की अनुमति नहीं देते हैं।
इसका कारण कुछ आईएसपी द्वारा "इस साइट" को परिवर्तित करने की प्रथा का प्रतिकार करना है
मौजूद नहीं है" DNS आईएसपी द्वारा नियंत्रित पृष्ठ पर उत्तर देता है; इसका परिणाम संभव है
सुरक्षा समस्याएं।

यह पैरामीटर केवल व्यक्तिगत आईपी स्वीकार करता है, और नेटमास्क का उपयोग नहीं करता है।

maradns_uid

यूजर-आईडी डेडवुड के रूप में चलता है। यह 10 और 65535 के बीच कोई भी संख्या हो सकती है; डिफ़ॉल्ट
मान 99 है (RedHat-व्युत्पन्न लिनक्स वितरण पर कोई नहीं)। इस मान का उपयोग नहीं किया जाता है
विंडोज़ सिस्टम.

फ़ॉलो करें

ग्रुप-आईडी डेडवुड के रूप में चलता है। यह 10 और 65535 के बीच कोई भी संख्या हो सकती है; डिफ़ॉल्ट
मान 99 है। इस मान का उपयोग विंडोज़ सिस्टम पर नहीं किया जाता है।

max_ar_चेन

क्या संसाधन रिकॉर्ड रोटेशन सक्षम है. यदि इसका मान 1 है, तो संसाधन रिकॉर्ड करें
रोटेशन सक्षम है, अन्यथा संसाधन रिकॉर्ड रोटेशन अक्षम है।

संसाधन रिकॉर्ड रोटेशन आमतौर पर वांछनीय है, क्योंकि यह DNS को क्रूड की तरह कार्य करने की अनुमति देता है
भार संतुलन। हालाँकि, भारी लोड वाले सिस्टम पर इसे अक्षम करना वांछनीय हो सकता है
CPU उपयोग कम करें.

इस वेरिएबल के असामान्य नाम का कारण MaraDNS के साथ संगतता बनाए रखना है
मरार्क फ़ाइलें.

डिफ़ॉल्ट मान 1 है: संसाधन रिकॉर्ड रोटेशन सक्षम।

max_inflights

एक ही क्वेरी के लिए हम एक ही समय में अधिकतम एक साथ ग्राहकों की संख्या संसाधित करते हैं।

यदि, किसी क्वेरी को संसाधित करते समय, "example.com" कहें, तो कोई अन्य DNS क्लाइंट इसे भेजता है
डेडवुड ने प्रक्रिया के लिए एक नई क्वेरी बनाने के बजाय example.com के लिए एक और क्वेरी बनाई
example.com, डेडवुड नए क्लाइंट को उसी क्वेरी से जोड़ देगा जो पहले से ही "इन" है
उड़ान", और example.com के लिए हमारे पास उत्तर होने पर दोनों ग्राहकों को उत्तर भेजें।

यह किसी दी गई क्वेरी में एक साथ आने वाले ग्राहकों की संख्या है। यदि यह सीमा है
पार हो जाने पर, समान प्रश्न वाले अगले ग्राहकों को उत्तर मिलने तक अस्वीकार कर दिया जाता है। अगर
इसका मान 1 है, हम एक ही क्वेरी के लिए एकाधिक अनुरोधों को मर्ज नहीं करते हैं, बल्कि प्रत्येक को देते हैं
अपने स्वयं के कनेक्शन का अनुरोध करें.

डिफॉल्यू मूल्य शून्य है।

मैक्स_टीटीएल

अधिकतम समय तक हम कैश में एक प्रविष्टि रखेंगे, सेकंड में (जिसे भी कहा जाता है)।
"अधिकतम टीटीएल").

यह सबसे लंबे समय तक है जब हम किसी प्रविष्टि को कैश्ड रखेंगे। इस पैरामीटर के लिए डिफ़ॉल्ट मान है
86400 (एक दिन); न्यूनतम मान 300 (5 मिनट) है और इसका अधिकतम मान हो सकता है
7776000 (90 दिन) है।

इस पैरामीटर के यहां मौजूद होने का कारण डेडवुड को शोषण करने वाले हमलों से बचाना है
कैश में पुराना डेटा मौजूद है, जैसे "घोस्ट डोमेन नाम" हमला।

अधिकतम_कैश_तत्व

हमारे कैश में तत्वों की अधिकतम संख्या की अनुमति है। यह 32 के बीच की संख्या है
और 16,777,216; इसके लिए डिफ़ॉल्ट मान 1024 है। ध्यान दें, यदि कैश को लिख रहे हैं
डिस्क या डिस्क से कैश पढ़ना, इसके उच्च मान कैश को धीमा कर देंगे
लिखना पढ़ना।

प्रत्येक कैश प्रविष्टि द्वारा उपयोग की जाने वाली मेमोरी की मात्रा ऑपरेटिंग सिस्टम के आधार पर परिवर्तनशील होती है
उपयोग किया गया और स्मृति आवंटन पृष्ठों का आकार निर्दिष्ट किया गया। उदाहरण के लिए, Windows XP में, प्रत्येक
प्रविष्टि लगभग चार किलोबाइट मेमोरी का उपयोग करती है और डेडवुड के पास इसका ओवरहेड है
लगभग 512 किलोबाइट. इसलिए, यदि 512 कैश तत्व हैं, तो डेडवुड उपयोग करता है
लगभग 2.5 मेगाबाइट मेमोरी, और यदि 1024 कैश तत्व हैं, तो डेडवुड उपयोग करता है
लगभग 4.5 मेगाबाइट मेमोरी. फिर, ये नंबर Windows XP और अन्य के लिए हैं
ऑपरेटिंग सिस्टम में अलग-अलग मेमोरी आवंटन संख्याएँ होंगी।

कृपया ध्यान दें कि प्रत्येक रूट_सर्वर और अपस्ट्रीम_सर्वर प्रविष्टि डेडवुड में जगह लेती है
बड़ी संख्या में संग्रहित करने के लिए कैश और उसmax_cache_elements को बढ़ाने की आवश्यकता होगी
ये प्रविष्टियाँ.

maxprocs

यह डेडवुड के पास लंबित दूरस्थ यूडीपी कनेक्शनों की अधिकतम संख्या है।
इसके लिए डिफ़ॉल्ट मान 1024 है।

max_tcp_procs

यह अनुमत खुले टीसीपी कनेक्शनों की संख्या है। डिफ़ॉल्ट मान: 8

num_retrys

हार मानने से पहले हम कितनी बार किसी क्वेरी को अपस्ट्रीम भेजने का पुनः प्रयास करते हैं। यदि यह 0 है, तो हम
केवल एक बार प्रयास करें; यदि यह 1 है, तो हम दो बार प्रयास करते हैं, और इसी तरह, 32 पुनः प्रयास तक। ध्यान दें कि प्रत्येक
पुनः प्रयास करने से पहले पुनः प्रयास करने में टाइमआउट_सेकंड सेकंड लगते हैं। डिफ़ॉल्ट मान: 5

ns_ग्लूलेस_टाइप

आरआर प्रकार जिसे हम ग्लूलेस रिकॉर्ड को हल करने के लिए भेजते हैं। मुख्य रूप से उपयोग करते समय यह 1 (ए) होना चाहिए
रिकॉर्ड को हल करने के लिए IPv4. यदि ग्लूलेस एनएस रिकॉर्ड में AAAA है लेकिन A रिकॉर्ड नहीं है, और IPv6 है
सक्षम, इसे 255 (कोई भी) का मान देना उचित हो सकता है। यदि IPv4 कभी बंद हो जाता है
बड़े पैमाने पर उपयोग किए जाने पर अंततः इसका मान 28 करना संभव हो सकता है
(एएएए)।

डिफ़ॉल्ट मान 1 है: एक ए (आईपीवी4 आईपी) रिकॉर्ड। यह पैरामीटर है नहीं परीक्षण किया गया; पर उपयोग करें
आपका अपना जोखिम.

यादृच्छिक_बीज_फ़ाइल

यह एक फ़ाइल है जिसमें यादृच्छिक संख्याएँ होती हैं, और इसका उपयोग बीज के रूप में किया जाता है
क्रिप्टोग्राफ़िक रूप से मजबूत यादृच्छिक संख्या जनरेटर। डेडवुड 256 बाइट्स पढ़ने का प्रयास करेगा
इस फ़ाइल से (आरएनजी डेडवुड उपयोग किसी भी मनमानी लंबाई की धारा को स्वीकार कर सकता है)।

ध्यान दें कि हैश कम्प्रेशन फ़ंक्शन पार्स करने से पहले इसकी कुछ एन्ट्रापी प्राप्त करता है
mararc फ़ाइल, और /dev/urandom (Windows पर Secret.txt) से एन्ट्रॉपी प्राप्त करने के लिए हार्ड-कोड किया गया है
सिस्टम)। डेडवुड द्वारा उपयोग की जाने वाली अधिकांश अन्य एन्ट्रापी इसके द्वारा बताई गई फ़ाइल से आती है
यादृच्छिक_बीज_फ़ाइल.

recurse_min_bind_port

डेडवुड को सबसे कम संख्या वाले बंदरगाह से जुड़ने की अनुमति है; यह एक यादृच्छिक पोर्ट नंबर है जिसका उपयोग किया जाता है
आउटगोइंग क्वेरीज़ के स्रोत पोर्ट के लिए, और 53 नहीं है (ऊपर dns_port देखें)। यह है एक
1025 और 32767 के बीच की संख्या, और इसका डिफ़ॉल्ट मान 15000 है। इसका उपयोग DNS बनाने के लिए किया जाता है
स्पूफिंग हमले और अधिक कठिन।

recurse_number_ports

आउटगोइंग कनेक्शन के लिए सोर्स पोर्ट के लिए डेडवुड जिन पोर्ट से जुड़ता है, उनकी संख्या; यह
2 और 256 के बीच 32768 की शक्ति है। इसका उपयोग डीएनएस स्पूफिंग हमलों को और अधिक करने के लिए किया जाता है
कठिन। डिफ़ॉल्ट मान 4096 है.

पुनरावर्ती_एसीएल

यह एक सूची है कि किसे "आईपी/मास्क" में डीएनएस रिकर्सन करने के लिए डेडवुड का उपयोग करने की अनुमति है
प्रारूप। मास्क 0 और 32 के बीच की एक संख्या होनी चाहिए (IPv6 के लिए, 0 और 128 के बीच)। उदाहरण के लिए,
"127.0.0.1/8" स्थानीय कनेक्शन की अनुमति देता है।

अस्वीकार_आआ

यदि इसका मान 1 है, तो जब भी AAAA क्वेरी होती है तो एक फर्जी SOA "वहां नहीं" उत्तर भेजा जाता है
डेडवुड को भेजा गया। दूसरे शब्दों में, हर बार कोई प्रोग्राम डेडवुड से IPv6 IP मांगता है
पता, अनुरोध को संसाधित करने का प्रयास करने के बजाय, जब इसे 1, डेडवुड पर सेट किया जाता है
दिखावा करता है कि प्रश्न में होस्ट नाम में IPv6 पता नहीं है।

यह उन लोगों के लिए उपयोगी है जो IPv6 का उपयोग नहीं कर रहे हैं लेकिन एप्लिकेशन (आमतौर पर *NIX कमांड) का उपयोग करते हैं
जैसे "टेलनेट" जैसे एप्लिकेशन जो IPv6 पता ढूंढने की कोशिश को धीमा कर देते हैं।

इसका डिफ़ॉल्ट मान 0 है। दूसरे शब्दों में, AAAA क्वेरीज़ को सामान्य रूप से संसाधित किया जाता है जब तक कि
यह सेट है.

अस्वीकार_एमएक्स

जब इसका डिफ़ॉल्ट मान 1 होता है, तो एमएक्स क्वेरीज़ को उनके आईपी के साथ चुपचाप हटा दिया जाता है
लॉग किया गया एमएक्स क्वेरी एक ऐसी क्वेरी है जो केवल एक मशीन द्वारा की जाती है यदि वह स्वयं ऐसा करना चाहती है
मेल सर्वर इंटरनेट पर मशीनों को मेल भेज रहा है। यह एक औसत डेस्कटॉप क्वेरी है
मशीन (उस मशीन सहित जो पढ़ने और भेजने के लिए आउटलुक या किसी अन्य मेल उपयोगकर्ता एजेंट का उपयोग करती है
ईमेल) कभी नहीं बनेगा।

सबसे अधिक संभावना है, यदि कोई मशीन एमएक्स क्वेरी बनाने का प्रयास कर रही है, तो मशीन को नियंत्रित किया जा रहा है
अवांछित "स्पैम" ईमेल भेजने के लिए एक दूरस्थ स्रोत। इसे ध्यान में रखते हुए, डेडवुड अनुमति नहीं देगा
एमएक्स क्वेरी तब तक की जानी चाहिए जब तक कि अस्वीकार_एमएक्स को स्पष्ट रूप से 0 के मान के साथ सेट न किया जाए।

इसे अक्षम करने से पहले, कृपया ध्यान रखें कि डेडवुड को वेब के लिए उपयोग करने के लिए अनुकूलित किया गया है
सर्फिंग, मेल हब के लिए DNS सर्वर के रूप में नहीं। विशेष रूप से, एमएक्स रिकॉर्ड के लिए आईपी हैं
डेडवुड के उत्तरों से हटा दिया गया और डेडवुड को अतिरिक्त DNS क्वेरीज़ निष्पादित करने की आवश्यकता है
एमएक्स रिकॉर्ड के अनुरूप आईपी प्राप्त करें, और डेडवुड का परीक्षण वेब के लिए अधिक सक्षम है
सर्फिंग (लगभग 100% ए रिकॉर्ड लुकअप) और मेल डिलीवरी के लिए नहीं (व्यापक एमएक्स रिकॉर्ड
ऊपर देखो)।

अस्वीकार_पीटीआर

यदि इसका मान 1 है, तो जब भी कोई PTR क्वेरी होती है तो एक फर्जी SOA "वहां नहीं" उत्तर भेजा जाता है
डेडवुड को भेजा गया। दूसरे शब्दों में, हर बार जब कोई प्रोग्राम डेडवुड से "रिवर्स डीएनएस" मांगता है
लुकअप" - किसी दिए गए आईपी पते के लिए होस्टनाम - को संसाधित करने का प्रयास करने के बजाय
अनुरोध, जब इसे 1 पर सेट किया जाता है, तो डेडवुड दिखावा करता है कि विचाराधीन आईपी पता उसके पास नहीं है
एक होस्टनाम.

यह उन लोगों के लिए उपयोगी है जिन्हें प्रदर्शन करने का प्रयास करते समय धीमी DNS टाइमआउट मिल रही है
आईपी ​​पर रिवर्स डीएनएस लुकअप।

इसका डिफ़ॉल्ट मान 0 है। दूसरे शब्दों में, पीटीआर क्वेरीज़ को सामान्य रूप से संसाधित किया जाता है जब तक कि
यह सेट है.

पुनरुत्थान

यदि इसे 1 पर सेट किया जाता है, तो डेडवुड देने से पहले उपयोगकर्ता को एक समाप्त रिकॉर्ड भेजने का प्रयास करेगा
ऊपर। यदि यह 0 है, तो हम नहीं करते हैं। डिफ़ॉल्ट मान: 1

रूट_सर्वर

यह रूट सर्वर की एक सूची है; इसका सिंटैक्स upstream_servers के समान है (नीचे देखें)।
यह DNS सेवा ICANN का प्रकार है, उदाहरण के लिए, चलता है। ये ऐसे सर्वर हैं जिनका उपयोग किया जाता है
हमें DNS प्रश्नों के पूर्ण उत्तर नहीं देते, बल्कि केवल यह बताते हैं कि कौन से DNS सर्वर का उपयोग करना चाहिए
हमारे वांछित उत्तर के करीब उत्तर पाने के लिए कनेक्ट करें।

कृपया ध्यान दें कि प्रत्येक रूट_सर्वर प्रविष्टि डेडवुड के कैश में जगह लेती है
इन प्रविष्टियों की बड़ी संख्या को संग्रहीत करने के लिए मैक्सिमम_कैश_एलिमेंट्स को बढ़ाने की आवश्यकता होगी।

tcp_सुनें

डीएनएस-ओवर-टीसीपी को सक्षम करने के लिए, इस वेरिएबल को सेट किया जाना चाहिए और इसका मान 1 होना चाहिए। डिफ़ॉल्ट
मूल्य: 0

समयबाह्य_सेकंड

डेडवुड लंबित यूडीपी डीएनएस को त्यागने से पहले इतनी देर तक इंतजार करेगा
जवाब। इसके लिए डिफ़ॉल्ट मान 1 है, जैसे कि 1 सेकंड में, जब तक कि डेडवुड के साथ संकलित नहीं किया गया था
FALLBACK_TIME सक्षम।

टाइमआउट_सेकंड_tcp

किसी निष्क्रिय टीसीपी कनेक्शन को छोड़ने से पहले कितनी देर तक प्रतीक्षा करनी होगी। इसके लिए डिफ़ॉल्ट मान
4 है, जैसे 4 सेकंड में।

ttl_आयु

क्या टीटीएल एजिंग सक्षम है; क्या कैश में प्रविष्टियों का टीटीएल सेट है
प्रविष्टियों के कैश में बचे समय की मात्रा।

यदि इसका मान 1 है, तो टीटीएल प्रविष्टियाँ पुरानी हैं। अन्यथा, वे नहीं हैं. डिफ़ॉल्ट
इसका मान 1 है.

अपस्ट्रीम_पोर्ट

यह वह पोर्ट है जिसका उपयोग डेडवुड अपस्ट्रीम सर्वर से पैकेट कनेक्ट करने या भेजने के लिए करता है।
इसके लिए डिफ़ॉल्ट मान 53 है; मानक DNS पोर्ट.

अपस्ट्रीम_सर्वर

यह DNS सर्वरों की एक सूची है जिनसे लोड बैलेंसर संपर्क करने का प्रयास करेगा। यह है एक
शब्दकोश परिवर्तनशील (सरणी को एक संख्या के बजाय एक स्ट्रिंग द्वारा अनुक्रमित किया गया) एक सरल के बजाय
चर। चूंकि upstream_servers एक डिक्शनरी वैरिएबल है, इसलिए इसे इनिशियलाइज़ करने की आवश्यकता है
इस्तेमाल होने से पहले.

डेडवुड होस्ट के नाम को देखेगा कि वह अपस्ट्रीम सर्वर को ढूंढने का प्रयास कर रहा है
के लिए, और यह पाए जाने वाले सबसे लंबे प्रत्यय के विरुद्ध मेल खाएगा।

उदाहरण के लिए, यदि कोई डेडवुड को "www.foo.example.com" के लिए एक प्रश्न भेजता है, तो डेडवुड उसे भेज देगा।
पहले देखें कि क्या "www.foo.example.com" के लिए कोई upstream_servers वैरिएबल है, फिर देखें
"foo.example.com" के लिए, फिर "example.com", फिर "com", और अंत में "।" देखें।

यहां upstream_servers का एक उदाहरण दिया गया है:

upstream_servers = {} # डिक्शनरी वेरिएबल आरंभ करें
upstream_servers["foo.example.com."] = "192.168.42.1"
upstream_servers["example.com."] = "192.168.99.254"
अपस्ट्रीम_सर्वर[।""] = "10.1.2.3, 10.1.2.4"

इस उदाहरण में, "foo.example.com" पर समाप्त होने वाली किसी भी चीज़ का समाधान DNS सर्वर द्वारा किया जाता है
192.168.42.1; "example.com" पर समाप्त होने वाली किसी भी अन्य चीज़ का समाधान 192.168.99.254 द्वारा किया जाता है; और
"example.com" पर समाप्त न होने वाली किसी भी चीज़ का समाधान 10.1.2.3 या 10.1.2.4 द्वारा किया जाता है।

महत्वपूर्ण: डोमेन नाम upstream_servers इंगित करता है कि उसका अंत "" होना चाहिए। चरित्र। यह है
ठीक है:

upstream_servers["example.com."] = "192.168.42.1"

लेकिन यह है नहीं ठीक है:

upstream_servers["example.com"] = "192.168.42.1"

इसका कारण यह है कि होस्ट नाम के दौरान BIND अप्रत्याशित व्यवहार करता है
एक बिंदु में समाप्त नहीं होता है, और एक होस्टनाम के अंत में एक बिंदु लगाने से डेडवुड में ऐसा नहीं होता है
यह अनुमान लगाने के लिए कि उपयोगकर्ता BIND का व्यवहार चाहता है या "सामान्य" व्यवहार।

यदि न तो रूट_सर्वर और न ही अपस्ट्रीम_सर्वर सेट हैं, तो डेडवुड उपयोग के लिए रूट_सर्वर सेट करता है
डिफ़ॉल्ट ICANN रूट सर्वर, इस प्रकार हैं:

198.41.0.4 a.root-servers.net (वेरीसाइन)
192.228.79.201 b.root-servers.net (ISI)
192.33.4.12 c.root-servers.net (कोजेंट)
199.7.91.13 d.root-servers.net (यूमेरीलैंड)
192.203.230.10 e.root-servers.net (नासा एम्स)
192.5.5.241 f.root-servers.net (आईएससी)
192.112.36.4 g.root-servers.net (डीओडी एनआईसी)
128.63.2.53 h.root-servers.net (आर्मीआरयू)
192.36.148.17 i.root-servers.net (NORDUnet)
192.58.128.30 j.root-servers.net (वेरीसाइन)
193.0.14.129 k.root-servers.net (Reseaux)
199.7.83.42 एल.रूट-सर्वर.नेट (आईएएनए)
202.12.27.33 m.root-servers.net (वाइड)

यह सूची 9 फरवरी 2015 तक चालू है और अंतिम बार 3 जनवरी 2013 को बदली गई थी।

कृपया ध्यान दें कि प्रत्येक upstream_servers प्रविष्टि डेडवुड के कैश आदि में जगह लेती है
इन प्रविष्टियों की बड़ी संख्या को संग्रहीत करने के लिए मैक्सिमम_कैश_एलिमेंट्स को बढ़ाने की आवश्यकता होगी।

verbose_level

यह निर्धारित करता है कि मानक आउटपुट पर कितने संदेश लॉग किए गए हैं; बड़े मान अधिक लॉग करते हैं
संदेश. इसके लिए डिफ़ॉल्ट मान 3 है.

आईपी/मास्क प्रारूप of आईपी


डेडवुड आईपी निर्दिष्ट करने के लिए एक मानक आईपी/नेटमास्क प्रारूप का उपयोग करता है। एक आईपी बिंदीदार-दशमलव में है
प्रारूप, उदाहरण के लिए "10.1.2.3" (या आईपीवी6 प्रारूप में जब आईपीवी6 समर्थन संकलित है)।

नेटमास्क का उपयोग आईपी की एक श्रृंखला को निर्दिष्ट करने के लिए किया जाता है। नेटमास्क 1 के बीच एक एकल संख्या है
और 32 (128 जब आईपीवी6 समर्थन संकलित है), जो अग्रणी "1" की संख्या को इंगित करता है
नेटमास्क में बिट्स।

10.1.1.1/24 इंगित करता है कि 10.1.1.0 से 10.1.1.255 तक कोई भी आईपी मेल खाएगा।

10.2.3.4/16 इंगित करता है कि 10.2.0.0 से 10.2.255.255 तक कोई भी आईपी मेल खाएगा।

127.0.0.0/8 इंगित करता है कि पहले ऑक्टेट (संख्या) के रूप में "127" वाला कोई भी आईपी मेल खाएगा।

नेटमास्क वैकल्पिक है, और, यदि मौजूद नहीं है, तो इंगित करता है कि केवल एक आईपी मेल खाएगा।

डीएनएस के ऊपर टीसीपी


DNS-over-TCP को tcp_listen को 1 पर सेट करके स्पष्ट रूप से सक्षम करने की आवश्यकता है।

डेडवुड यूडीपी डीएनएस पैकेट से उपयोगी जानकारी निकालता है जिसे लगभग काट दिया गया है
DNS-over-TCP की आवश्यकता को हमेशा दूर करता है। हालाँकि, डेडवुड DNS पैकेट को कैश नहीं करता है
आकार में 512 बाइट्स से बड़ा जिसे टीसीपी का उपयोग करके भेजने की आवश्यकता है। इसके अलावा, डीएनएस-ओवर-टीसीपी
पैकेट जो "अधूरे" DNS उत्तर हैं (वे उत्तर जिनका उपयोग स्टब रिज़ॉल्वर नहीं कर सकता है,
जो या तो एनएस रेफरल या अपूर्ण CNAME उत्तर हो सकता है) को सही ढंग से प्रबंधित नहीं किया जाता है
डेडवुड द्वारा.

डेडवुड के पास डीएनएस-ओवर-यूडीपी और डीएनएस-ओवर-टीसीपी दोनों के लिए समर्थन है; वही डेमॉन सुनता है
यूडीपी और टीसीपी डीएनएस पोर्ट दोनों।

केवल यूडीपी डीएनएस क्वेरीज़ कैश की जाती हैं। डेडवुड टीसीपी पर कैशिंग का समर्थन नहीं करता; यह संभालता है
बिना किसी उपयोगी जानकारी के दुर्लभ काटे गए उत्तर को हल करने या उसके साथ काम करने के लिए टीसीपी
बहुत ही असामान्य गैर-आरएफसी-अनुपालक टीसीपी-केवल डीएनएस रिज़ॉल्वर। वास्तविक दुनिया में, डीएनएस-ओवर-टीसीपी है
लगभग कभी उपयोग नहीं किया गया।

पदच्छेद अन्य फ़ाइलों


यह संभव है कि डेडवुड, dwood3rc फ़ाइल को पार्स करते समय, अन्य फ़ाइलें पढ़ें और
उन्हें ऐसे पार्स करें जैसे कि वे dwood3rc फ़ाइलें हों।

यह प्रयोग किया जाता है निष्पादन फ़ाइल. Execfile का उपयोग करने के लिए, dwood3rc में इस तरह की एक लाइन रखें
फ़ाइल:

निष्पादनफ़ाइल('पथ/से/फ़ाइलनाम')

जहां path/to/filename dwood3rc फ़ाइल की तरह पार्स की जाने वाली फ़ाइल का पथ है।

सभी फ़ाइलें /etc/maradns/deadwood/execfile निर्देशिका में या उसके अंतर्गत होनी चाहिए। फ़ाइलनाम कर सकते हैं
केवल लोअर-केस अक्षर और अंडरस्कोर वर्ण ("_") हैं। निरपेक्ष पथ नहीं हैं
निष्पादित करने के तर्क के रूप में अनुमति दी गई; फ़ाइल नाम स्लैश ("/") से प्रारंभ नहीं हो सकता
चरित्र.

यदि निष्पादन फ़ाइल द्वारा इंगित फ़ाइल में कोई पार्स त्रुटि है, तो डेडवुड रिपोर्ट करेगा
मुख्य dwood3rc फ़ाइल में execfile कमांड के अनुरूप होने में त्रुटि। ढूँढ़ने के लिए
जहां उप-फ़ाइल में एक पार्स त्रुटि है, वहां "डेडवुड -एफ" जैसे कुछ का उपयोग करें
/etc/maradns/deadwood/execfile/filename" आपत्तिजनक फ़ाइल में पार्स त्रुटि ढूंढने के लिए,
जहां "फ़ाइल नाम" वह फ़ाइल है जिसे execfile के माध्यम से पार्स किया जाना है।

IPV6 समर्थन


इस सर्वर को IPv6 समर्थन के लिए वैकल्पिक रूप से संकलित भी किया जा सकता है। IPv6 को सक्षम करने के लिए
समर्थन, संकलन-समय झंडे में '-DIPV6' जोड़ें। उदाहरण के लिए, इसे संकलित करने के लिए a
छोटी बाइनरी, और IPv6 समर्थन पाने के लिए:

निर्यात झंडे='-ओएस -DIPV6'
बनाना

सुरक्षा


डेडवुड सुरक्षा को ध्यान में रखकर लिखा गया एक कार्यक्रम है।

इसके अलावा एक बफर-ओवरफ्लो प्रतिरोधी स्ट्रिंग लाइब्रेरी और एक कोडिंग शैली और एसक्यूए का उपयोग करें
प्रक्रिया जो बफर ओवरफ्लो और मेमोरी लीक की जांच करती है, डेडवुड एक मजबूत का उपयोग करता है
दोनों को उत्पन्न करने के लिए छद्म-यादृच्छिक संख्या जनरेटर (रेडियोगैटुन का 32-बिट संस्करण)।
क्वेरी आईडी और स्रोत पोर्ट। यादृच्छिक संख्या जनरेटर को सुरक्षित रखने के लिए, डेडवुड को एक की आवश्यकता है
एन्ट्रापी का अच्छा स्रोत; डिफ़ॉल्ट रूप से डेडवुड इस एन्ट्रापी को प्राप्त करने के लिए /dev/urandom का उपयोग करेगा। अगर
आप /dev/urandom समर्थन के बिना सिस्टम पर हैं, यह सुनिश्चित करना महत्वपूर्ण है
डेडवुड में एन्ट्रापी का एक अच्छा स्रोत है जिससे क्वेरी आईडी और स्रोत पोर्ट कठिन हो जाते हैं
अनुमान लगाएं (अन्यथा DNS पैकेट बनाना संभव है)।

डेडवुड के विंडोज़ पोर्ट में "mkSecretTxt.exe" नामक एक प्रोग्राम शामिल है जो एक बनाता है
64-बाइट (512 बिट) यादृच्छिक फ़ाइल जिसे "secret.txt" कहा जाता है जिसका उपयोग डेडवुड (के माध्यम से) द्वारा किया जा सकता है
"random_seed_file" पैरामीटर); डेडवुड को टाइमस्टैम्प से एन्ट्रापी भी मिलती है जब डेडवुड
प्रारंभ हो गया है और डेडवुड की प्रक्रिया आईडी संख्या है, इसलिए समान स्थैतिक का उपयोग करना समान है
डेडवुड के एकाधिक आमंत्रणों के लिए रैंडम_सीड_फ़ाइल के रूप में गुप्त.txt फ़ाइल।

ध्यान दें कि डेडवुड उसी नेटवर्क पर भेजे गए पैकेट देखने वाले किसी व्यक्ति से सुरक्षित नहीं है
डेडवुड द्वारा और उत्तर के रूप में जाली पैकेट भेजना।

डेडवुड को कुछ संभावित सेवा से इनकार के हमलों से बचाने के लिए, यह सबसे अच्छा है
कैश में हैशिंग तत्वों के लिए उपयोग किया जाने वाला डेडवुड का प्राइम नंबर एक यादृच्छिक 31-बिट प्राइम है
संख्या। प्रोग्राम RandomPrime.c एक रैंडम प्राइम उत्पन्न करता है जिसे फ़ाइल में रखा जाता है
DwRandPrime.h जो कि जब भी प्रोग्राम संकलित किया जाता है या चीजें संकलित की जाती हैं तब पुनर्जीवित किया जाता है
साफ-सुथरा बनाओ के साथ साफ किया गया। यह प्रोग्राम अपनी एन्ट्रापी के लिए /dev/urandom का उपयोग करता है; फ़ाइल
DwRandPrime.h को /dev/urandom के बिना सिस्टम पर पुनर्जीवित नहीं किया जाएगा।

प्रत्यक्ष /dev/urandom समर्थन के बिना सिस्टम पर, यह देखने का सुझाव दिया गया है कि क्या कोई है
सिस्टम को कार्यशील /dev/urandom देने का संभावित तरीका। इस तरह, जब डेडवुड है
संकलित, हैश मैजिक नंबर उपयुक्त रूप से यादृच्छिक होगा।

यदि डेडवुड की पूर्व संकलित बाइनरी का उपयोग कर रहे हैं, तो कृपया सुनिश्चित करें कि सिस्टम में /dev/urandom है
समर्थन (विंडोज़ सिस्टम पर, कृपया सुनिश्चित करें कि गुप्त.txt नाम वाली फ़ाइल है
शामिल mkSecretTxt.exe प्रोग्राम द्वारा उत्पन्न); डेडवुड, रनटाइम पर, उपयोग करता है
/dev/urandom (Windows में Secret.txt) एन्ट्रापी प्राप्त करने के लिए एक हार्डकोडेड पथ के रूप में (साथ में)
हैश एल्गोरिदम के लिए टाइमस्टैम्प)।

निमुद्रीकरण


डेडवुड में कोई अंतर्निहित डेमोनाइजेशन सुविधाएं नहीं हैं; यह द्वारा नियंत्रित किया जाता है
बाहरी प्रोग्राम डुएन्डे या कोई अन्य डेमॉनाइज़र।

उदाहरण विन्यास पट्टिका


यहाँ एक उदाहरण dwood3rc कॉन्फ़िगरेशन फ़ाइल है:

# यह एक उदाहरण डेडवुड आरसी फ़ाइल है
# ध्यान दें कि टिप्पणियाँ हैश चिन्ह से शुरू होती हैं

बाइंड_एड्रेस='127.0.0.1' # आईपी जिसे हम बाइंड करते हैं

#निम्नलिखित पंक्ति को टिप्पणी किये जाने के कारण अक्षम कर दिया गया है
#bind_address='::1' # हमारे पास वैकल्पिक IPv6 समर्थन है

# जिस निर्देशिका से हम प्रोग्राम चलाते हैं (Win32 में उपयोग नहीं किया जाता)
chroot_dir = "/etc/maradns/deadwood"

# निम्नलिखित अपस्ट्रीम DNS सर्वर Google के हैं
# (दिसंबर 2009 तक) सार्वजनिक DNS सर्वर। के लिए
# अधिक जानकारी के लिए पेज देखें
# http://code.google.com/speed/public-dns/
#
# यदि न तो रूट_सर्वर और न ही अपस्ट्रीम_सर्वर सेट हैं,
# डेडवुड डिफ़ॉल्ट ICANN रूट सर्वर का उपयोग करेगा।
#अपस्ट्रीम_सर्वर = {}
#अपस्ट्रीम_सर्वर[.'']='8.8.8.8, 8.8.4.4'

# कैश का उपयोग करने की अनुमति किसे है. यह रेखा
# पहले दो के रूप में "127.0" वाले किसी भी व्यक्ति को अनुमति देता है
डेडवुड का उपयोग करने के लिए उनके आईपी के # अंक
पुनरावर्ती_एसीएल = "127.0.0.1/16"

# लंबित अनुरोधों की अधिकतम संख्या
मैक्सप्रोक्स = 2048

# ओवरलोड होने पर सर्वर फेल भेजें
हैंडल_ओवरलोड = 1

maradns_uid = 99 # UID डेडवुड के रूप में चलता है
maradns_gid = 99 # GID डेडवुड के रूप में चलता है

अधिकतम_कैश_तत्व = 60000

# यदि आप डिस्क से कैश पढ़ना और लिखना चाहते हैं,
# सुनिश्चित करें कि उपरोक्त chroot_dir पढ़ने योग्य और लिखने योग्य है
# उपरोक्त maradns_uid/gid द्वारा, और टिप्पणी हटाएँ
# निम्नलिखित पंक्ति.
#cache_file = "dw_cache"

# यदि आपका अपस्ट्रीम DNS सर्वर "वहाँ नहीं" DNS उत्तरों को परिवर्तित करता है
# आईपी में, यह पैरामीटर डेडवुड को किसी भी उत्तर को परिवर्तित करने की अनुमति देता है
# किसी दिए गए आईपी के साथ वापस "वहां नहीं" आईपी में। यदि कोई आई.पी
नीचे सूचीबद्ध # DNS उत्तर में हैं, डेडवुड उत्तर को रूपांतरित करता है
# "वहाँ नहीं" में
#आईपी_ब्लैकलिस्ट = "10.222.33.44, 10.222.3.55"

# डिफ़ॉल्ट रूप से, सुरक्षा कारणों से, डेडवुड आईपी को अंदर आने की अनुमति नहीं देता है
# 192.168.xx, 172.[16-31].xx, 10.xxx, 127.xxx,
# 169.254.xx, 224.xxx, या 0.0.xx रेंज। यदि डेडवुड का उपयोग कर रहे हैं
# आंतरिक नेटवर्क पर नामों को हल करने के लिए, टिप्पणी हटाएँ
# निम्नलिखित पंक्ति:
#फ़िल्टर_आरएफसी1918 = 0

onworks.net सेवाओं का उपयोग करके डेडवुड का ऑनलाइन उपयोग करें



नवीनतम Linux और Windows ऑनलाइन प्रोग्राम