वीपीएन से कनेक्ट होने पर केवल एक DNS का उपयोग कर नेटवर्क


9

मेरी कंपनी का एक वीपीएन है जिसे मुझे कनेक्ट करने की आवश्यकता है। OSX में, मैं openvpnनिम्नलिखित कॉन्फ़िगरेशन का उपयोग करके ऐसा करता हूं :

client
dev tun
proto udp
remote <GATEWAY_ADDRESS> <PORT>
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /Users/Tommy/.openvpn/dev/ca-dev.crt
cert /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.crt
key /Users/Tommy/.openvpn/dev/tommy.brunn-20131122-dev.key
ns-cert-type server
tls-auth /Users/Tommy/.openvpn/dev/ta-dev.key 1
cipher BF-CBC
comp-lzo
verb 3
auth-nocache
;daemon
;writepid openvpn.pid

उबंटू में, मैं स्थापित किया है network-manager-openvpn: और एक नया VPN कनेक्शन जोड़ा एक ही विन्यास विकल्पों में सेट (कॉन्फ़िग फ़ाइल आयात करने की कोशिश एक दुर्घटना के कारण होता है) अपनी सेटिंग्स का स्क्रीनशॉट

एक बार जब मैं वीपीएन से जुड़ जाता हूं , तो मैं किसी भी डोमेन को हल नहीं कर सकता।

यदि मैं संपादित करता हूं /etc/NetworkManager/NetworkManager.conf, तो लाइन dns=dnsmasqको पुनः आरंभ करें और पुनरारंभ करें network-manager, मैं अपनी कंपनी से आंतरिक डोमेन को हल कर सकता हूं, लेकिन google.com जैसे अन्य डोमेन बिल्कुल भी हल नहीं करेंगे। मैंने अपने वीपीएन कनेक्शन के लिए नेटवर्क मैनेजर के आईपीवी 4 और आईपीवी 6 टैब में अपने "मेथड" को "ऑटोमैटिक (वीपीएन) पतों" पर ही सेट करना सुनिश्चित किया है, लेकिन इससे कोई फर्क नहीं पड़ता।

मैंने फिर से सक्षम करने dnsmasqऔर संशोधित /etc/resolvconf/resolv.conf.d/base करने का प्रयास किया है nameserver 127.0.1.1, फिर चल रहा है sudo resolveconf -u, लेकिन फिर कोई भी डोमेन फिर से हल नहीं करेगा।

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

संपादित करें: Dnsmasq वास्तव में स्थापित नहीं था, जो मुझे लगा कि यह डिफ़ॉल्ट रूप से होगा। फिर भी, यदि मैं इसे स्थापित करता हूं, तो इसे फिर से सक्षम करें /etc/NetworkManager/NetworkManager.conf, स्थानीय नाम पते को फिर से जोड़ें /etc/resolvconf/resolv.conf.d/base, सभी सेवाओं को पुनरारंभ करें और वीपीएन से कनेक्ट करें, मैं कंपनी डीएनएस से डोमेन को हल कर सकता हूं, लेकिन मैं किसी अन्य डोमेन को हल नहीं कर सकता। तो मूल रूप से एक ही स्थिति के रूप में जब मैं पूरी तरह से dnsmasq को निष्क्रिय कर दिया।

संपादित करें: सामग्री /etc/dnsmasq.conf: http://paste.ubuntu.com/7297231/


आप हमें अपने dnsmasq सेटिंग्स दिखा सकते हैं? Dnsmasq आमतौर पर /etc/resolv.conf से अपने अपस्ट्रीम DNS सर्वर प्राप्त करता है, इसलिए यदि आपने नहीं बदला है कि आप संभवतः केवल VPN पर DNS को खींच रहे हैं।
jkt123

ज़रूर। मैंने अपने लिए एक लिंक जोड़ा/etc/dnsmasq.conf
टॉमी ब्रून

जवाबों:


4

आपके कॉन्फ़िगरेशन से, आपके dnsmasq इंस्टॉलेशन से उपयोग करने के लिए DNS सर्वरों की सूची मिल रही है /etc/resolv.conf। डिफ़ॉल्ट रूप से, dnsmasq DNS सर्वरों के उपयोग का पक्ष लेने की कोशिश करता है, लेकिन केवल एक ही DNS सर्वर को दिया गया अनुरोध भेजेगा। यह समस्याएँ पैदा कर सकता है यदि आपके पास कई DNS सर्वर हैं जो केवल कुछ प्रश्नों की सेवा कर सकते हैं / कर सकते हैं।

मेरा मानना ​​है कि आप यह सुनिश्चित कर सकते हैं कि आपके LAN पर DNS सर्वर (आपके द्वारा वीपीएन से कनेक्ट नहीं होने पर उपयोग किया जाता है) /etc/resolv.conf, और साथ ही कॉर्पोरेट नेटवर्क पर DNS सर्वर जिसे आप चाहते हैं, उस पर एक DNS सर्वर है। वीपीएन पर उपयोग करें।

फिर, आपको शामिल करने के /etc/default/dnsmasqलिए DNSMASQ_OPTS=पंक्ति को संपादित और जोड़ना या संपादित करना होगा --all-servers

यदि आप अभी भी इस सेटअप के साथ DNS प्रश्न प्राप्त नहीं कर पा रहे हैं, तो ऊपर बताए गए चरणों के दौरान आपके द्वारा बनाई गई resolv.conf फाइल को कॉपी करें, जैसे ~/resolv.conf, निम्न विकल्प के /etc/resolv.confसाथ nameserver 127.0.0.1सेट और सेट करें /etc/dnsmasq.conf:

resolv-file=/home/your_username/resolv.conf

DNS के लिए अपने dnsmasq स्थापना को क्वेरी करने के लिए अपने सिस्टम को कॉन्फ़िगर करना चाहिए, और यह बदले में आपके स्थानीय DNS सर्वर और हर क्वेरी के लिए VPN DNS सर्वर का उपयोग करेगा।

संपादित करें : आप उन DNS सर्वरों को पा सकते हैं जिन्हें आप वर्तमान में nmcliटूल का उपयोग करके किसी विशेष कनेक्शन के लिए उपयोग कर रहे हैं । मेरे वायरलेस कनेक्शन द्वारा उपयोग किए जाने वाले DNS सर्वरों को खोजने के लिए, मैंने निम्नलिखित सिंटैक्स का उपयोग किया:

nmcli dev list iface wlan0 | grep IP4.DNS

यदि आप अपने वीपीएन से कनेक्ट नहीं हैं, और फिर जब आप कनेक्ट होते हैं और फिर अपने कॉर्पोरेट पते को हल करने में सक्षम होते हैं, तो आप इस कमांड को चलाते हैं, आपको अपनी डीएनएस सर्वर की सूची को वीपीएन पर और बंद कर देना चाहिए। आशा है कि ये आपकी मदद करेगा।

संपादित करें 2 : अपनी रूटिंग तालिकाओं को देखते हुए, ऐसा प्रतीत होता है कि आपके वीपीएन प्रशासक ने आपको वीपीएन के माध्यम से आपके सभी ट्रैफ़िक को रूट करने के लिए सेट कर दिया है जब आप कनेक्ट होते हैं (आपका डिफ़ॉल्ट गेटवे वीपीएन पते में बदल जाता है)। चूंकि आपके दोनों DNS सर्वर सार्वजनिक पते हैं, और वीपीएन पर रहने के दौरान न तो कोई विशिष्ट मार्ग निर्धारित किया गया है, इसलिए आप वीपीएन के माध्यम से सामान्य DNS लुकअप करने की कोशिश कर रहे हैं और यही असफल है।

आपके वीपीएन सेटअप के आधार पर इस काम को करने के लिए आपके पास कुछ तरीके हो सकते हैं:

  • यदि वीपीएन आपको कॉर्पोरेट नेटवर्क के माध्यम से इंटरनेट एक्सेस करने की अनुमति देगा, लेकिन इंटरनेट पर सर्वरों के लिए डीएनएस प्रश्नों का प्रदर्शन न करें, तो अपने डीएनएस सर्वरों जैसे मार्गों को जोड़ें: sudo route add -host 83.255.245.11 gw 192.168.0.1और sudo route add -host 193.150.193.150 gw 192.168.0.1वीपीएन से कनेक्ट करने के बाद।

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

आपको अपने रूटिंग टेबल को अपने दूसरे पास्टबिन में दिखाए गए कनेक्ट-टू-द-वीपीएन मामले में नीचे करने की आवश्यकता होगी:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
10.100.0.0      10.100.0.105    255.255.255.0   UGH   0      0        0 tun0
10.100.0.105    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

फिर, कॉरपोरेट उपकरण तक पहुंचने के लिए आपको आवश्यकतानुसार मार्गों को जोड़ना होगा। ऊपर दिखाए गए रूटिंग टेबल में मैंने वीपीएन पर 24 नेटवर्क का अनुमान लगाया है, जो गलत हो सकता है। आपको उचित रूप से मास्क सेट करना होगा।


मैं अपने स्थानीय डीएनएस सर्वर और कॉरपोरेट नेटवर्क के पते के बारे में कैसे पता लगाऊंगा?
टॉमी ब्रून

मैंने यह जानकारी प्रदान करने के लिए अपना उत्तर संपादित किया है।
jkt123

Nmcli के अनुसार, मुझे ठीक उसी DNS-सर्वर मिलते हैं जब मैं वीपीएन से जुड़ा होता हूं जब मैं नहीं होता हूं, तब भी जब मैं स्पष्ट रूप से नहीं होना चाहिए, क्योंकि मैं कंपनी नेटवर्क पर एक आंतरिक डोमेन को हल कर सकता हूं जब मैं ' मी जुड़ा।
टॉमी ब्रून

जब आप nmcliवीपीएन कनेक्शन के बिना भाग गए, तो क्या आप डीएनएस को ठीक से हल करने में सक्षम थे? यदि नहीं, तो आपको वीपीएन से डिस्कनेक्ट करना चाहिए, सुनिश्चित करें कि आपका DNS ठीक से काम कर रहा है, और फिर चलाएं nmcli
jkt123

हां, वीपीएन से डिस्कनेक्ट होने पर मैं सामान्य रूप से डीएनएस को हल करने में सक्षम था। उदाहरण आउटपुट: paste.ubuntu.com/7345250
टॉमी ब्रून

0

कुछ अंतराल हैं जो मैं आपके लिए नहीं भर सकता हूं कि कैसे आप के लिए चीजों को समन्वयित करने के लिए NetworkManager प्राप्त करें। मैं यद्यपि यह स्पष्ट करने की कोशिश करूंगा कि यह कैसे काम करता है, इसके लिए समन्वय की आवश्यकता है। एक सही जवाब नहीं है, लेकिन उम्मीद है कि उपयोगी है। वास्तव में, यह देखते हुए कि यह एक पुराना प्रश्न है, यह वास्तव में उत्तरजीविता के लिए है।

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

यह अभी भी आपको एक संभावित DNS समस्या के साथ छोड़ देता है। jtk123 की DNS के साथ dnsmasq क्या करता है के बारे में टिप्पणी dnsmasq विशिष्ट नहीं हैं - यह उसी तरह है जैसे DNS काम करता है। यदि DNS क्लाइंट, या मध्यस्थ रिसॉल्वर को प्रतिक्रिया मिलती है कि DNS प्रविष्टि मौजूद नहीं है, तो किसी अन्य DNS सर्वर से पूछने के लिए वापस गिरना सामान्य व्यवहार नहीं है। इसका मतलब है कि आपको एक डीएनएस रिसोल्वर की आवश्यकता है जो आपको जवाब देना चाहेगा कि यह अनुरोध कंपनी नेटवर्क से संबंधित है या नहीं।

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

dnsmasq को विशिष्ट डोमेन के लिए विशिष्ट अपस्ट्रीम DNS सर्वर के फॉरवर्ड अनुरोधों को बताया जा सकता है। उदाहरण के लिए - dnsmasq.conf मैन पेज में उल्लिखित के रूप में --server विकल्प देखें। हालांकि मैं स्पष्ट नहीं हूं कि नेटवर्कमैन को कैसे अच्छा खेलने के लिए मिलता है (जो कि मैं वर्तमान में पता लगाने के लिए देख रहा हूं)।

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