वीपीएन कनेक्ट पर नए नाम सर्वर को स्वचालित रूप से कैसे प्राप्त करें


11

मैं ubuntu xenial 16.04 चला रहा हूं

हम वर्चुअल प्राइवेट क्लाउड से कनेक्ट करने के लिए ओपनवीपीएन का उपयोग कर रहे हैं। उस क्लाउड में इसका स्वयं का DNS सर्वर है (जैसा कि हमारा स्थानीय मार्ग - घर या कार्यालय)।

जब मैं वीपीएन से कनेक्ट करता हूं तो उस नेटवर्क के सभी आईपी उपलब्ध हैं, लेकिन मैं होस्ट नाम से किसी तक नहीं पहुंच सकता। कारण सरल है: resolv.conf फ़ाइल अभी भी मेरे स्थानीय कार्यालय के नाम से पता चलता है। अगर मैं सही नाम सर्वर के लिए resolv.conf को मैन्युअल रूप से अधिलेखित करता हूं तो सब अच्छा है।

तो, मैं इसे वीपीएन से कनेक्ट करने पर resolv.conf को स्वचालित रूप से पुन: कॉन्फ़िगर करने के लिए कैसे प्राप्त कर सकता हूं?

क्या मैं एक सिस्टम ईवेंट में हुक कर सकता हूं और एक स्क्रिप्ट निष्पादित कर सकता हूं?


1
आम तौर पर वीपीएन को अपने स्वयं के DNS सर्वर को पुश करने की अनुमति देने का विकल्प होता है। आप किस क्लाइंट का उपयोग कर रहे हैं- टनलब्लिक?
राइडर

मैं आधिकारिक Openvpn क्लाइंट का उपयोग कर रहा हूं। कहीं मैंने पढ़ा है कि वीपीएन प्रक्रिया डीएनएस को अपडेट नहीं कर सकती है।
क्रिश्चियन बोंजीओर्नो

क्या आपने --register-dnsविकल्प की कोशिश की है? वैकल्पिक रूप से क्लाइंट साइड विकल्प आप सेट कर सकते हैं, डीएचसीपी-विकल्प के रूप में (निर्देशों का दूसरा पहलू यहाँ हैं openvpn.net/index.php/open-source/documentation/howto.html#dhcp )
राइडर

जवाबों:


8

OpenVPN पैकेज में इसके लिए एक स्क्रिप्ट है /etc/openvpn/update-resolv-conf। आपको इसे इसके साथ कॉन्फ़िगर करना होगा:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

यह dhcp-option DNSOpenVPN सहकर्मी / सर्वर द्वारा पारित विकल्पों में से DNS सर्वर पते को लाएगा और resolvconfतदनुसार कॉन्फ़िगर करेगा। इसे भी संभालता है dhcp-option DOMAIN

हालाँकि यह सही नहीं है, क्योंकि इससे उन नाम सर्वरों को नाम सर्वर की सूची को ओवरराइट करने के बजाय मौजूदा नाम सर्वर की सूची में भेज दिया जाएगा। आप उपयोग कर रहे हैं के बजाय यह करने के लिए preprending की DNS कॉन्फ़िगरेशन अधिलेखित करने के लिए इस्तेमाल किया जा सकता।openresolv-x


यदि आप उपयोग कर रहे हैं systemd-resolved, तो आप इसके बजाय /etc/openvpn/update-systemd-resolvedहुक का उपयोग कर सकते हैं ।systemd-revolvedresolvconf

script-security 2 
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre

डेबियन पर, यह स्क्रिप्ट में है openvpn-systemd-resolved


2
इन 2 पंक्तियों के ऊपर, आपको script-security 2अपने openvpnसाथ जोड़ने या चलाने की भी आवश्यकता होगी--script-security 2
32r34wgf3e

0

यहां वह समाधान है जिसके साथ मैं आया था: एक स्विच है जो आपको एक स्क्रिप्ट चलाने की अनुमति देता है जब सुरंग ऊपर और चलती है। मैं स्विच का उपयोग अनिवार्य रूप से resolv.conf फ़ाइल को अधिलेखित करने के लिए करता हूं जिसके साथ मुझे पता है कि यह सही है। यह कुल हैक है, मुझे पता है।

sudo openvpn --up reset-dns.sh --client client.ovpn

स्क्रिप्ट (रीसेट-डीएनएस):

#!/bin/bash
cp ~/resolv.conf /etc/resolv.conf

इसके अलावा, उन लोगों के लिए "OMG! आप उस सुरंग को जड़ के रूप में चला रहे हैं।" यह किसी अन्य तरीके से नहीं चलेगा; मेरे DNS हैक से पहले भी।

मैं निश्चित रूप से बेहतर तरीके से खुला हूं। Ubuntu के लिए नेटवर्क मैनेजर बस काम नहीं करेगा। मैंने इस पर बार-बार ubuntu के टिकट काटे हैं

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