स्थानीय नेटवर्क के लिए dnsmasq की स्थापना


18

मुझे, और डेवलपर्स का एक छोटा समूह अभी एक नए कार्यालय में स्थानांतरित हुआ है, और मैं अपने विकास सर्वर पर dnsmasq स्थापित करना चाहता हूं, इसलिए जब हम वहां वेब एप्लिकेशन तैनात करते हैं, तो हमें अपनी स्वयं की होस्ट फ़ाइलों को संपादित करने की आवश्यकता नहीं है। हमारे पास 192.168.3.1 पर एक राउटर है जिसकी हमारे पास पहुंच नहीं है। मुझे लगा कि मैं विकास बॉक्स पर एक डीएनएस सर्वर स्थापित करूँगा, और हम सभी इसे एक माध्यमिक डीएनएस सर्वर के रूप में आईपी रिकॉर्ड करते हैं। दुर्भाग्य से मैं यह काम करने के लिए संघर्ष कर रहा हूं।

डेवेल सर्वर का नाम devbox है, यह IP 192.168.3.99 है, और यह नवीनतम Ubuntu सर्वर (कर्म) चला रहा है

मेरा कंप्यूटर उबंटू डेस्कटॉप (कार्मिक) चला रहा है

मैं क्या हासिल करना चाहूंगा

मान लीजिए कि मेरे पास तीन वेबसाइटें हैं, वेबसाइट 1, वेबसाइट 2, वेबसाइट 3, डेवलपमेंट बॉक्स पर चल रही हैं। मैं उन्हें यूआरएल द्वारा एक्सेस करना चाहता हूं:

http://website1.devbox
http://website2.devbox
http://website3.devbox

इसलिए मैंने अपाचे को devel बॉक्स पर कॉन्फ़िगर किया है, dnsmasq स्थापित किया है, और निम्नलिखित पंक्तियों को मेजबानों फ़ाइल में डाला है:

192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox

और अपने स्वयं के resolv.conf फ़ाइल को एक नामवर के रूप में devel बॉक्स को शामिल करने के लिए संपादित किया:

nameserver 192.168.3.99 

यह ठीक काम कर रहा है, मैं साइटों तक पहुंच सकता हूं। समस्या यह है कि यह अच्छी तरह से पैमाने पर नहीं है। मैं सभी डोमेन को समाप्त करना चाहूंगा।

मैंने डालने की कोशिश की है

192.168.3.99 devbox

होस्ट फ़ाइल में, और dnsmasq.conf में लाइन का संपादन:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/

लेकिन मैं इसे काम नहीं कर सकता। यदि मैं किसी भी url की कोशिश करता हूं जो विकास बॉक्स के होस्ट फ़ाइल में स्पष्ट रूप से मौजूद नहीं है, तो dns लुकअप विफल हो जाता है।

क्या स्थानीय निर्देश कुछ और है? क्या मैं गलत जगह देख रहा हूँ?

जवाबों:


14

का संदर्भ लें DNSmasq प्रलेखन , विशेष रूप से dnsmasq मैनपेज और नमूना विन्यास फाइलस्थानीय कीवर्ड DNSmasq बताता स्थानीय डेटा के साथ उन डोमेन लुकअप प्रदर्शन करने के लिए। यह foo.localnet और bar.localnet उदाहरण के लिए DNSmasq को भेजे गए अनुरोधों को प्रभावित करता है । मुझे नहीं लगता कि आप यही चाहते हैं।

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

होस्ट / उपडोमेन लुकअप को एक विशेष पते पर हल करने के लिए बाध्य करने के लिए, आप शायद पते के कीवर्ड का उपयोग करना चाहते हैं । नीचे दिए गए दूसरे उदाहरण में web1.devbox और web2.devbox और web73872.devbox को निर्दिष्ट पते पर सभी हल करने की अनुमति देनी चाहिए ।

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1

# for your example
address=/devbox/192.168.3.99

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


एक अन्य प्रश्न का उत्तर बताता है कि address=/.devbox/192.168.3.99आपके उद्देश्यों के लिए अधिक उपयुक्त वाक्यविन्यास हो सकता है।
क्वैककोट

जी, मुझे सिर्फ उन हिस्सों को पढ़ना चाहिए था, जिन्हें मैंने कॉन्फिगर से चिपकाया था, यह स्पष्ट था कि यह वह नहीं है जिसकी मुझे आवश्यकता है। पते के निर्देश ने समस्या हल कर दी, धन्यवाद!
। नॉर्बर्ट

मैंने एक मोड़ के साथ उपरोक्त का उपयोग किया: वेब / डीएनएस / डीएचसीपी सर्वर का एडहॉक मोड में एक वायरलेस इंटरफ़ेस है। हालांकि पैकेट पर कब्जा करते समय मैं mDNS अनुरोध और प्रतिक्रिया देख सकता हूं, मैं नाम से सर्वर तक नहीं पहुंच सकता। मानो प्रतिक्रिया की सामग्री कभी पंजीकृत नहीं होती। कोई विचार?
जॉर्ज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.