127.0.0.1 तक TLD (उदाहरण के लिए .dev) को पूरा करें


29

विकास के उद्देश्यों के लिए मैं .DLD TLD के सभी DNS अनुरोधों को अपने पीसी पर अग्रेषित करना चाहता हूं।

मेजबान फ़ाइल पर्याप्त नहीं है। मैं कई डोमेन और कई उप डोमेन का उपयोग करता हूं। मुझे प्रत्येक संयोजन के लिए एक पंक्ति जोड़ना होगा।

मैंने पढ़ा है कि डीएनएस फारमर्स जैसे डीएनएस फारवर्डर का उपयोग काम करने के लिए किया जा सकता है (उदाहरण के लिए यहां वर्णित है )। इसके अलावा यह सॉफ्टवेयर पहले से ही Ubuntu 12.10 पर स्थापित है।

समस्या यह है कि मैं यह देखने में विफल रहता हूं कि मुझे DNSmasq को कैसे और कहां कॉन्फ़िगर करना चाहिए, अर्थात, मुझे यह पंक्ति कहां डालनी चाहिए:

address=/dev/127.0.0.1

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

जवाबों:


18

पूर्ण स्टैंडअलोन dnsmasq (DHCP और DNS सर्वर) Ubuntu 12.04 और 12.10 में डिफ़ॉल्ट रूप से स्थापित नहीं है, लेकिन dnsmasq-base नामक एक पैकेज डिफ़ॉल्ट रूप से Ubuntu डेस्कटॉप 12.04 और 12.10 में स्थापित किया गया है। Dnsmasq- बेस पैकेज में dnsmasq बाइनरी होता है और इसका उपयोग NetworkManager द्वारा किया जाता है।

आप जो चाहते हैं वह करने के लिए आपको कैशिंग DNS सर्वर के रूप में dnsmasq का उपयोग करना होगा। आपको:

  • Dnsmasq sudo apt-get install स्थापित करें dnsmasq
  • अपनी नेटवर्क सेटिंग बदलें, ताकि आपका कंप्यूटर खुद का उपयोग करें क्योंकि यह सर्वर को डीएनएस करता है।
  • विन्यास फाइल में बदलाव करें:

/etc/dnsmasq.d/dev-tldइन सामग्रियों से बनाएं :

local=/dev/

address=/dev/127.0.0.5

पहला आदेश कहता है कि *.devअनुरोधों को आपके वास्तविक DNS सर्वर पर अग्रेषित नहीं किया जा सकता है। दूसरा कहता *.devहै 127.0.0.5कि यह स्थानीयहोस्ट है।

  • Dnsmasq सेवा को पुनः आरंभ करें (नेटवर्क-प्रबंधक नहीं)

धन्यवाद! यह बेहद उपयोगी था कि मुझे पता चला कि DNSMasq मौजूद असली सौदा नहीं था। पूरा पैकेज स्थापित करने और इसे कॉन्फ़िगर करने के बाद मैंने इसे काम करने से पहले बताया। :)
Roel van Duijnhoven

1
मैं हाल ही में डेस्कटॉप इंस्टॉलेशन के लिए अन्य उत्तर पसंद करूंगा । हाल के डेस्कटॉप इंस्टॉलेशन के लिए आप इस तरह से दो dnsmasq इंस्टेंस चला रहे होंगे। आपका जवाब नॉन-नेटवर्क मैनजर सेटअपों, पुराने वाले (dnsmasq का उपयोग नहीं) या यहां तक ​​कि सर्वर इंस्टॉलेशन में बहुत उपयोगी हो सकता है!
gertvdijk

हां, अन्य उत्तर Ubuntu 12.10 के बाद से सबसे अच्छा है।
बेंजामिन R

21

Ubuntu 12.10 में या बाद में आप NetworkManager द्वारा चलाए जा रहे dnsmasq के साथ ऐसा कर सकते हैं।

  1. निर्देशिका बनाएँ mkdir /etc/NetworkManager/dnsmasq.dअगर यह पहले से मौजूद नहीं है।

    sudo mkdir /etc/NetworkManager/dnsmasq.d
    
  2. निम्नलिखित लाइन टॉस करें /etc/NetworkManager/dnsmasq.d/dev-tld

    address=/dev/127.0.0.1
    
  3. (Ubuntu 12.10) NetworkManager को पुनरारंभ करें।

    sudo service network-manager restart
    
  4. (Ubuntu> 13.04) Dnsmasq को पुनरारंभ करें।

    sudo service dnsmasq restart
    
  5. अघोरियों का आनंद लें।

यहां छवि विवरण दर्ज करें


1
यह कैसे करना है पर आर्क विकी के लिंक के लिए अब्राहम यानलेप्सिंग का धन्यवाद ।
13

आपके चरणों का पालन करने के बाद भी मुझे पिंग चलाने के बाद "अज्ञात होस्ट" देखने को मिलता है। क्या मुझे DNSMasq को किसी अन्य स्थान पर कॉन्फ़िगर / सक्षम करने की आवश्यकता है? या मेरे नेटवर्क गुणों को एक अलग तरीके से कॉन्फ़िगर करें? धन्यवाद!
Roel van Duijnhoven

दिलचस्प। यह मेरे लिए ठीक दिखाई दे रहा है।
jrg

आह, @ रोलोवनडिजेनोवेन - क्या आप 12.10 या 12.04 चला रहे हैं? 12.10 को मेरे लिए ठीक काम करता है।
18

मैं 12.10 चला रहा हूं। लेकिन मुझे यह उल्लेख करने की आवश्यकता है कि मैंने यहां एक प्रश्न पूछने से पहले कुछ कॉन्फ़िगरेशन फ़ाइल को बदलने की कोशिश की है। संभवतः ये परिवर्तन आपके समाधान को कम करते हैं। हालांकि जेवियर रिवेरा ने किया हल!
Roel van Duijnhoven 14

1

निम्नलिखित काम मेरे लिए Ubuntu 16.04 में काम किया:

  1. इंस्टॉल करें dnsmasq

    sudo apt-get -y install dnsmasq
    
  2. dnsmasq.confफ़ाइल संपादित करें :

    sudo nano /etc/dnsmasq.conf
    
  3. अपनी कमांड जोड़ें:

    address=/dev/127.0.0.1
    

    वाइल्ड कार्ड के लिए (*) तब आप WHATEWER_YOU_PUT_HERE.yourmachine.yourdomainएक ही आईपी को हल करने के लिए डॉट्समस्क डॉट का उपयोग कर सकते हैं । उदाहरण के लिए,address=/.localhost.dev/127.0.0.1

  4. पुनः आरंभ करें dnsmasq सेवा:

    sudo /etc/init.d/dnsmasq restart
    

1

बस एक नया 19.04 स्थापित किया और मुझे काम करने का एकमात्र तरीका अक्षम कर दिया गया systemd-resolvedऔर DNS के बजाय इसका NetworkManagerउपयोग dnsmasqकिया। NetworkManagerके लिए समर्थन में बनाया गया है dnsmasqऔर dnsmasq-baseपैकेज डिफ़ॉल्ट रूप से स्थापित किया गया है।

मैं की तरह अलग अलग VMs के लिए एकाधिक डोमेन ओर इशारा करते हुए कर रहा हूँ *.customerX.testकरने के लिए 192.168.33.10और *.productY.testकरने के लिए 192.168.33.20और इतने पर। मैं *.devअब उपयोग नहीं करूंगा, बल्कि आरक्षित शीर्ष स्तर के डोमेन में से एक होगा

समाधान

  1. अक्षम systemd-resolved

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service
    sudo rm /etc/resolv.conf
    
  2. DNS के /etc/NetworkManager/NetworkManager.confलिए उपयोग करने के लिए संपादित करें dnsmasq

    [main]
    dns=dnsmasq
    
  3. में dnsmasqविन्यास रखो/etc/NetworkManager/dnsmasq.d/test-tld.conf

    address=/test/127.0.0.1
    address=/customerX.test/192.168.33.10
    
  4. और अंत में पुनः आरंभ करें NetworkManagerजो एक नया उत्पन्न करेगा/etc/resolv.conf

    sudo systemctl restart network-manager.service
    
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.