जब खुला ओवीएनपी से जुड़ा हुआ है तो Ubuntu 18.04 कोई DNS रिज़ॉल्यूशन नहीं है


40

जब मैं Gnome नेटवर्क-प्रबंधक के माध्यम से एक वीपीएन नेटवर्क से जुड़ता हूं तो मैं DNS रिज़ॉल्यूशन खो देता हूं और व्यवहार में, मैं वीपीएन नेटवर्क के अंदर या बाहर संसाधनों तक नहीं पहुंच सकता।

जब मैं उबंटू 16.04 का उपयोग कर रहा था और मैं वीपीएन का उपयोग कर रहा था, तो " /etc/resolv.conf/" फाइल में मेरे द्वारा कनेक्टेड (वीपीएन) नेटवर्क के डीएनएस सर्वर शामिल होंगे। अब इसमें हमेशा निम्न प्रविष्टियाँ होती हैं:

nameserver 127.0.0.53
search myprovider.com

मैंने जो समझा 127.0.0.53है, वह उस DNS स्टब का पता है जिसका उपयोग किया गया है system-resolved

मुझे संदेह है कि यह एक बग है क्योंकि वीपीएन उबंटू 16.04 ठीक काम कर रहा था। क्या कोई तरीका है कि मैं अपने नेटवर्क के DNS सर्वर सेट कर सकता हूं जब मैं एक वीपीएन सेवा का उपयोग कर रहा हूं?

अद्यतन करें:

मैंने पोस्ट के अंत में संलग्न फ़ाइल के साथ OpenVPN नेटवर्क से कनेक्ट करने का प्रयास किया, लेकिन मुझे निम्न त्रुटि मिलती है:

 Authenticate/Decrypt packet error: cipher final failed

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

नीचे सूचीबद्ध कॉन्फ़िगरेशन फ़ाइल में, मैंने उत्तरों में पोस्ट किए गए समाधानों को शामिल किया है

 client
 dev tun
 proto udp
 remote openvpn.bibsys.no 1194
 remote my-server-2 1194
 resolv-retry infinite
 nobind
 user myuser
 group myuser
 persist-key
 persist-tun
 ca ca-cert.pem
 cert openvpn.crt
 key openvpn.key
 cipher AES-256-CBC
 comp-lzo yes
 script-security 2
 up /etc/openvpn/scripts/update-systemd-resolved
 down /etc/openvpn/scripts/update-systemd-resolved
 down-pre

1
जब इसी तरह की एक समस्या को डीबग करना, जिसे बिल्कुल हल नहीं किया जा सकता था, तो मैंने इस्तेमाल किया resolvectl statusऔर resolvectl helpअपने विशिष्ट समाधान का पता लगाने के लिए।
notbad.jpeg

जवाबों:


27

मुझे इस ब्लॉग पोस्ट पर एक समाधान मिला । जबकि दो समाधानों का उल्लेख है, मैं दूसरे का उपयोग करना पसंद करता हूं क्योंकि इसका मतलब है कि मेरा डीएनएस ओपनवीपीएन सर्वर द्वारा सेट किया गया है (पहला समाधान का मतलब है कि मैं उसी डीएनएस सर्वर का उपयोग करता हूं कि मैं ओपनवीपीएन सर्वर से जुड़ा हूं या नहीं)।

संक्षेप में:

  • sudo mkdir -p /etc/openvpn/scripts
  • sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
  • sudo chmod +x /etc/openvpn/scripts/update-systemd-resolved

फिर ऊपर / नीचे स्क्रिप्ट को बदलकर अपनी OpenVPN क्लाइंट फ़ाइल (जैसे client.ovpn) को संपादित करें:

script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
up /etc/openvpn/scripts/update-systemd-resolved
down /etc/openvpn/scripts/update-systemd-resolved

(मैंने मूल अप / डाउन सेटिंग्स की टिप्पणी की है)।


यदि कोई gnome Openvpn उपयोगिता का उपयोग कर रहा है, तो फ़ाइल config.ovpn को कहाँ संग्रहीत किया जाना चाहिए?
orestis

1
config.ovpn"नहीं मिला" - यह क्लाइंट कॉन्फिग फाइल है जिसे कनेक्ट करने के लिए उपयोग किया जाता है। आप इसे या तो उत्पन्न करते हैं, या इसे आपके OpenVPN प्रदाता द्वारा जारी किया जाता है (और इसे कॉल नहीं किया जा सकता है config.ovpn- इसे कुछ भी कहा जा सकता है, जैसे client.ovpn)।
एंडी टर्फर

यह पूरी तरह से काम करता है।
अहसानुल हक़

2
मुझे मिलता हैWARNING: Failed running command (--up/--down): external program fork failed
ब्लॉकहेड

दुर्भाग्य से यह एक वीपीएन के लिए काम नहीं करता है जो टीसीपी का उपयोग कर रहा है, वीपीएन के बाहर की साइटें हल नहीं होती हैं, इसलिए मैंने क्लाइंट का उपयोग करना शुरू कर दिया है ।pritunl.com
#install

48

संकट

फ़ाइल स्क्रिप्ट /etc/resolv.confद्वारा अपडेट नहीं की जाती है /etc/openvpn/update-resolv-confक्योंकि resolvconfubuntu 18.04 पर डिफ़ॉल्ट रूप से इंस्टॉल नहीं किया गया है।

वास्तव में, उस स्क्रिप्ट की पहली पंक्तियों में से एक /sbin/resolvconfनिष्पादन योग्य के लिए जाँच करता है :

[ -x /sbin/resolvconf ] || exit 0

के माध्यम से resolvconf स्थापित करना apt-getएक समाधान नहीं है क्योंकि /etc/openvpn/update-resolv-confस्क्रिप्ट /etc/resolv.confपुश डीएनएस प्रविष्टि के साथ फाइल को अपडेट करती है लेकिन ट्यून डिवाइस इसे अनदेखा करता है।

समाधान

  1. उबंटू 18.04 का उपयोग करता है systemd-resolved, इसलिए आपको बस इतना करना है कि ओपनवीपीएन हेल्पर स्क्रिप्ट को इसके systemd-resolvedमाध्यम से इंस्टॉल करें

    sudo apt install openvpn-systemd-resolved
    

    या इन GitHub निर्देशों के साथ

  2. config.ovpnइन पंक्तियों को जोड़ते हुए अपनी फ़ाइल अपडेट करें :

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

    इसके बजाय वह ऊपर और नीचे को जोड़ने /etc/openvpn/update-resolv-confका काम करता है।

  3. DNS रिसाव को रोकने के लिए, आपको इस पंक्ति को config.ovpnफ़ाइल के अंत में जोड़ना चाहिए ( इस सिस्टमड जारी समस्या के अनुसार ):

    dhcp-option DOMAIN-ROUTE .
    

1
बहुत बहुत धन्यवाद, मेरे लिए Ubuntu 18.04 पर काम करना। और मैं निर्दिष्ट करना चाहता हूं, उस पैरामीटर script-security 2को अभी भी अप / डाउन लाइनों से पहले की आवश्यकता है, अन्यथा कार्यक्रम एक त्रुटि के साथ नीचे आता है (OpenVPN 2.4.4)
ल्यूसिडियन

खुशी है कि यह मदद मिली :) जवाब में आखिरी वाक्य बदल दिया, मेरे मामले script-security 2 में आवश्यक नहीं था। शायद ऐसा इसलिए है क्योंकि मैं
Openvpn

1
@ क्यूलीमैक्स क्या आप जानते हैं कि हम इन सेटिंग्स को gnome openvpn क्लाइंट में कैसे आयात करते हैं?
orestis

2
@orestis आपको इस पैकेज को स्थापित sudo apt-get install network-manager-openvpn-gnome करना है फिर आप को आयात करना चाहिए। gnome नेटवर्क मैनेजर में .ovpn फ़ाइलों को कॉन्फ़िगर करें। askubuntu.com/questions/187511/… यूआई समय के साथ बदल गया है, आपको सेटिंग्स-> नेटवर्क-> vpn
Qlimax

1
आप में से कई लोगों के लिए यह आश्चर्यचकित करता है: मेरे पास एक ovpn.config है, हाँ, लेकिन NetworkManager इसका उपयोग नहीं करता है। क्या आपने फ़ाइल को संपादित किया और इसे फिर से आयात किया, विशेष रूप से अप / डाउन स्क्रिप्ट को बदलने के लिए। क्योंकि मैं इस अपारदर्शी बाइनरी / usr / lib / NetworkManager / nm-openvpn-service-openvpn-helper का उपयोग करता हूं जिसके लिए मुझे दस्तावेज़ीकरण नहीं मिला। यदि ovpn.config का पुनः आयात आवश्यक है, तो कृपया उत्तर में संशोधन करें।
हराल्ड

4

दरअसल, इस समस्या का बहुत आसान समाधान है। समस्या DNS ट्रैफ़िक के साथ है और उबंटू 18 कैसे प्रबंधित करता है। डिफ़ॉल्ट रूप से IP अग्रेषण अक्षम है जो कि OpenVPN को उचित नेटवर्किंग प्रदान करने के लिए आवश्यक है। आपको बस इतना करना है कि निम्नलिखित कमांड चलाएं:

sudo nano /etc/sysctl.conf

एक बार जब आप इस फ़ाइल को खोलते हैं, तो उस पंक्ति को देखें जिसमें शामिल है net.ipv4.ip_forward। यदि इस लाइन पर टिप्पणी की जाती है, तो लाइन के सामने स्थित # चिह्न को हटा दें (यदि यह टिप्पणी नहीं की गई है तो आपके पास एक और मुद्दा है)। फ़ाइल सहेजें और फिर अपने OpenVPN सर्वर उदाहरण को पुनरारंभ करें।

इस फिक्स को उबंटू 18 में अपग्रेड करने के बाद क्लाइंट या ओपनवीपीएन कोड के लिए किसी भी संशोधन की आवश्यकता नहीं है। परीक्षण किया गया और काम करने की पुष्टि की गई।

हालांकि, यह स्पष्ट रूप से आपको सर्वर को प्रशासित करने की आवश्यकता है। और दुर्भाग्य से, बग कई लोगों के लिए मौजूद है जो 18.04 के साथ एक OpenVPN सर्वर से जुड़ते हैं जो किसी और द्वारा प्रशासित है ...


मेरे लिए काम नहीं किया। आपने कैसे निर्धारित किया कि यह समस्या थी, आपके मामले में?
hwjp

चेतावनी: आपको ओपनव्यू क्लाइंट पर ip_forward को सक्षम करने की आवश्यकता नहीं है , कभी नहीं! यह एक सुरक्षा जोखिम है। Openvpn सर्वर पर , आपको इसकी आवश्यकता हो सकती है, उपयोग किए गए कॉन्फ़िगरेशन के आधार पर और शायद यही कारण है कि यह टिप्पणी दिखाई देती है।
हिगुइता

2

13 सितंबर 2018 को Ubuntu 18.04 पर परीक्षण किया गया

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

sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --

ifname -- डिफ़ॉल्ट रूप से आवश्यक है, लेकिन कुछ भी प्रभावित नहीं करता है

sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes

never-default डिफ़ॉल्ट मार्ग के रूप में दूरस्थ गेटवे का उपयोग नहीं करना चाहिए

और बहुत अधिक रुचि अंतिम स्पर्श:

nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'

बाद में आप GUI के साथ vpn को नियंत्रित कर सकते हैं या निम्न आदेशों का उपयोग कर सकते हैं:

sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com


0

मैं भी प्रभावित हूं। मेरे मामले में, मैं आंतरिक नाम सर्वर (जो वीपीएन के अंदर है) के साथ ओपनवीपीएन का उपयोग कर रहा हूं। उबंटू 17.10 तक ("मेजबानों: फाइल डीएनएस" के साथ /etc/nsswitch.conf में) काम किया।

/etc/resolv.conf को ओपनवीपीएन स्क्रिप्ट (कॉल के माध्यम से / etc / openvpn / update-resolv-conf को ओपनवैप क्लाइंट कॉन्फ़िगरेशन फ़ाइल में) के द्वारा सही ढंग से अपडेट किया गया था।

हालांकि, वीपीएन के अंदर मेजबानों के लिए नाम समाधान कोई अधिक काम नहीं कर रहा था (या कम से कम छिटपुट रूप से ... मुझे लगता है कि स्थानीय डीएनएस कैश नामों को चुन रहा था, लेकिन एक लंबे समय के बाद)।

मदद करने के लिए क्या लगता है, या यहां तक ​​कि इस मुद्दे को हल करने के लिए (हालांकि यह कहना बहुत जल्दी है) नीचे पैकेज स्थापित करने के लिए है:

sudo apt स्थापित ओपेनव्न-सिस्टमड-सॉल्व

कुछ दिनों में, मेरे पास अधिक अनुभव होगा कि यह मेरी समस्या को ठीक करता है या नहीं।

यदि आप भी प्रभावित हैं, तो कृपया यह कोशिश करें और टिप्पणी पोस्ट करें!

चीयर्स,

माइकल।


आखिरकार, यह एक समाधान नहीं लगता है। मुझे फिर से समस्या है। मुझे लगता है कि कुछ और काम किया ...
माइकल ओपेनडैकर

1
शायद तब आप अपना उत्तर हटा दें? ऐसा लगता है कि निर्णय पहले से ही नीचे पाया गया है
ल्यूसिडियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.