एंड्रॉइड पर आईपी मैपिंग के लिए एक होस्ट कैसे सेट करें?


10

मेरे कंप्यूटर पर एक वेबसाइट चल रही है, और मैं इसे अपने Nexus 7 टैबलेट से जांचना चाहता हूं। यानी स्थानीय वाईफाई लैन पर। अगर मैं इसे जोड़ने वाले आईपी पते में टाइप करता हूं, लेकिन गलत वेब साइट दिखाता है, क्योंकि मैं वर्चुअल होस्टिंग नाम का उपयोग कर रहा हूं।

इसलिए, जो मैं करना चाहता हूं mysite.localवह नेक्सस पर क्रोम / फ़ायरफ़ॉक्स में टाइप करने में सक्षम है, क्या उन्होंने इसे 10.1.2.3(या जो भी स्थानीय आईपी पता है) में कनवर्ट किया है , फिर अनुरोध के रूप में होस्ट 10.1.2.3देने वाले सर्वर को कॉल करें mysite.local

मेरा प्रश्न: क्या एंड्रॉइड 4.x टैबलेट में एक /etc/hostsफाइल या समकक्ष है, जिसे मैं संपादित कर सकता हूं? (टेबलेट को रूट किए बिना, या ऐसा कुछ भी।)

अपने लिनक्स कंप्यूटरों पर मैं इसमें एक प्रविष्टि जोड़कर करता हूं /etc/hosts:

10.1.2.3  mysite.local

(या Windows\System32\drivers\etc\hostsविंडोज मशीन पर भी ऐसा ही होता है।)

BTW, यह मैन्युअल रूप से IP पते (यानी / / आदि / मेजबान समीकरण) के लिए होस्टनाम सेट करने का एक अर्ध-डुप्लिकेट है , लेकिन यह प्रश्न एंड्रॉइड 2.2 के लिए था, जहां जाहिरा तौर पर यह संभव नहीं था। (सुझाए गए वैकल्पिक विचारों में से एक में स्थानीय राउटर पर डीएनएस को कॉन्फ़िगर किया गया था, लेकिन जहां तक ​​मैं बता सकता हूं कि मेरा राउटर डीएनएस स्थानीय रूप से नहीं करता है, तो उस विकल्प के पास नहीं है। मैं ऐसा करने के लिए अपना खुद का DNS सर्वर सेट कर सकता हूं, लेकिन यह एक बिग जॉब सॉल्यूशन जैसा लगता है।)


बल्कि सर्वर फाल्ट या सुपर यूजर के लिए एक सवाल है । और आपको अपने स्थानीय सर्वर (जो आपके डीएचसीपी सर्वर द्वारा DNS नोड के रूप में प्रस्तुत किया गया है) के साथ उन होस्ट नामों को सेटअप करना चाहिए।
इज़ी

1
@Izzy धन्यवाद Izzy, लेकिन मुझे पता है कि कैसे कॉन्फ़िगर / / सर्वरों पर होस्ट करता है। मुझे नहीं पता कि कैसे करना है एक एंड्रॉइड 4.x टैबलेट पर समतुल्य को संपादित करना / संपादित करना (या यहां तक ​​कि अगर कोई रूट किए बिना समतुल्य है)। (मेरा डीएचसीपी सर्वर, यानी वाईफाई राउटर, कस्टम नाम जोड़ने के लिए कोई विकल्प नहीं देता है: मेरे पास एक कस्टम डीएनएस सर्वर निर्दिष्ट करने का विकल्प है, लेकिन यह एक मैला पूल है जो मैं वास्तव में अपने हाथ नहीं लगाना चाहता था। )
डैरेन कुक

आपने मुझे गलत पाया, डैरेन: मैंने संपादन का सुझाव नहीं दिया /etc/hosts, लेकिन अपने "नाम सर्वर" (जैसे DNSMasq, या जो भी उपयोग करें) को कॉन्फ़िगर करना। आपका राउटर आपको इसके लिए जगह दे सकता है। प्रत्येक मशीन /etc/hostsपर संपादित करने की आवश्यकता है अन्यथा - और एंड्रॉइड पर संबंधित फ़ाइल को केवल "मूल शक्तियों" के साथ संपादित किया जा सकता है (मुझे इसका सटीक स्थान आउट-ऑफ- माय -हेड नहीं पता है, लेकिन यह AFAIR के अंदर कहीं है )। : देखो etc / hosts फाइल को संपादित करने के लिए कैसे/data/system
इज़ी

जवाबों:


6

आप केवल एंड्रॉइड पर होस्ट्स फ़ाइल को संपादित नहीं कर सकते, क्योंकि यह केवल पढ़ने के लिए फाइल सिस्टम पर रहता है:, /system/etc/hostsदेखें:

विकल्प हैं:

  • उस "केन्द्र" के लिए देखभाल करने के लिए अपने स्थानीय नेटवर्क में DNSMasq जैसे DNS सर्वर का उपयोग करें
  • सिस्टम फ़ाइल को ऊपर बताए अनुसार संपादित करने के लिए "रूट पॉवर" का उपयोग करें
  • अपने Android डिवाइस पर "स्थानीय DNS सर्वर" स्थापित करें, जैसे कि DNS सर्वर का उपयोग करने के लिए

हे इज़ी, मैंने इसे संभालने के लिए DNS सर्वर का उपयोग करने की कोशिश की क्योंकि मेरे पास अपने फोन तक रूट एक्सेस नहीं है; मैंने एक सरल नियम जोड़ा है जो होस्टनाम को प्रश्न में आईपी पर पुनर्निर्देशित करता है .. लेकिन यह काम नहीं करता है .. मैं क्या गलत कर रहा हूं?
जॉर्ज कैटसनोस

DNS सर्वर को आपके नेटवर्क में अन्य उपकरणों की सेवा करने के लिए माना जाता है (जैसा कि वर्णन कहता है, आपको इसके लिए पोर्ट-फ़ॉरवर्डिंग का उपयोग करने की आवश्यकता है)। इसके लिए हमेशा उन उपकरणों की आवश्यकता होती है (आपके Android डिवाइस सहित) इसे उपयोग करने के लिए कॉन्फ़िगर किया गया है। मैंने अपने Android उपकरणों पर ऐसे किसी भी DNS सर्वर का उपयोग नहीं किया, इसलिए मैंने यह जाँच नहीं की कि यहाँ क्या करना है; लेकिन सबसे अधिक संभावना है कि आपको अपने नेटवर्क सेटिंग्स में DNS प्रविष्टियों को समायोजित करने की आवश्यकता है (वाईफाई नेटवर्क की प्रविष्टि को लंबे समय तक दबाएं, "उन्नत" चुना, और पहले DNS प्रविष्टि को समायोजित करें - दूसरे को "बैकअप" के लिए छोड़ दें)।
इज़ी

@GeorgeKatsanos इसमें आपकी रुचि हो सकती है: stackoverflow.com/a/14211550/1768141
विनायक

2

जैसा कि lzzy द्वारा उल्लेख किया गया है, आप इसे प्राप्त करने के लिए DNSMasq सर्वर का उपयोग कर सकते हैं । लेकिन Chrome स्वयं DNS रिज़ॉल्यूशन प्रक्रिया का उपयोग करता है और यह विधि काम नहीं कर सकती है।

सर्वर को शुरू करने के लिए निम्नलिखित कमांड का उपयोग करें:

sudo /usr/local/sbin/dnsmasq -d \
                             --no-hosts \
                             --no-resolv \
                             --conf-file=/dev/null \
                             --server=8.8.8.8 --server=8.8.4.4 \
                             --address=/example.com/192.168.0.101
  • sudo पोर्ट 53 पर बांधने के लिए आवश्यक है
  • -d अग्रभूमि पर सर्वर शुरू करें
  • --no-hosts स्थानीय होस्ट फ़ाइल का उपयोग न करें
  • --conf-file=/dev/null किसी भी कॉन्फ़िग फ़ाइल का उपयोग न करें
  • --server=8.8.8.8 --server=8.8.4.4 अपस्ट्रीम सर्वर के पते (इस उदाहरण में Google DNS)
  • --address=/example.com/192.168.0.101ओवरराइड करने के लिए मेजबान। आपको इस लाइन पर अपने मेजबानों को जोड़ने की जरूरत है। आप वहां कई होस्ट भी जोड़ सकते हैं।

फिर डिवाइस पर DNS सर्वर को बदलें। डीएनएस चेंजर ऐप का उपयोग करके इसे आसानी से किया जा सकता है ।

इन चरणों के बाद, इन मेजबानों के अनुरोध आपके पते पर भेजे जाने चाहिए।


0

एक परिभाषित करने के लिए सबसे आसान तरीका IP मानचित्रण के लिए मेजबान है hostsफ़ाइल के रूप में ज्यादातर DNS रिसोल्वर उस फ़ाइल का सम्मान । लेकिन जैसा कि अन्य उत्तरों में बताया गया है, /etc/hostsएंड्रॉइड डिवाइस को रूट किए बिना संपादित करना संभव नहीं है । वर्चुअल होस्टिंग के कारण आईपी पते के साथ वेब सर्वर तक पहुंच भी आपके काम नहीं आएगी। यहां कुछ विकल्प दिए गए हैं जिनसे आप बिना डिवाइस के जा सकते हैं:

  • एक वीपीएन ऐप का उपयोग करें जो DNS ट्रैफ़िक को स्वीकार करता है और hostsअपस्ट्रीम DNS सर्वर को कॉन्फ़िगर करने के लिए प्रश्न करने से पहले एक कस्टम फ़ाइल देखता है।
  • DNS सर्वर चलाएं; उन्हें एक विशिष्ट नाम के लिए पूर्वनिर्धारित आईपी पता वापस करने के लिए कॉन्फ़िगर किया जा सकता है। उदाहरण के लिए उपयोग कर रहा है, तो dnsmasq, जोड़ने address=/mysite.local/10.1.2.3के लिए "dnsmasq.conf" । या पर dnscrypt-proxyजोड़ने mysite.local 10.1.2.3के लिए "क्लोकिंग-rules.txt"
  • कॉन्फ़िगर फोन एक प्रॉक्सी या वीपीएन उपयोग करने के लिए और फिर प्रविष्टि जोड़ने 10.1.2.3 mysite.localके लिए hostsप्रॉक्सी सर्वर पर फ़ाइल या VPN सर्वर पर एक स्थानीय DNS सर्वर चलाते हैं।
  • यदि बूटलोडर अनलॉक करने योग्य है, तो hostsकस्टम रिकवरी से फ़ाइल को संपादित करें ।

अधिक जानकारी के लिए देखें: हमेशा रूट किए बिना एक निश्चित आईपी के लिए डोमेन नाम कैसे हल करें?


सम्बंधित:

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