Openvpn क्लाइंट, DNS सर्वर को मजबूर करता है


10

हमारे लिनक्स उबंटू कॉन्फ़िगरेशन में एक DNS सर्वर (Bind 9) है।
और resolv.confउसका है

  nameserver 127.0.0.1

openvpnउस लिनक्स पर क्लाइंट का उपयोग करते समय , नेम सर्वर को वीपीएन सत्र के दौरान केवल वीपीएन सत्र के दौरान - वीपीएन सत्र के दौरान (वीपीएन सर्वर द्वारा) बदला नहीं जाता है, लेकिन मैं इसे सेट करना चाहूंगा x.y.z.t

फिर, जब openvpnसत्र समाप्त हो जाता है, तो नेमवर को वापस आ जाना चाहिए 127.0.0.1

वहाँ एक "स्वच्छ" तरीका है (यानी Openvpn ग्राहक विन्यास फ़ाइल में एक पंक्ति) ऐसा करने के लिए?

(नोट: वीपीएन सर्वर कॉन्फिगर नहीं बदला जा सकता)

जवाबों:


17

अधिक googling के बाद, जवाब पा सकता है - नीचे अगर यह किसी की मदद कर सकता है।

  • resolvconf स्थापित करें जो resolv.confकॉन्फिग फाइल को सेव और रीस्टोर कर सकता है
  • नाम में , Openvpn द्वारा चलाई जाने वाली स्क्रिप्ट जोड़ें । स्क्रिप्ट निर्धारित करती है कि नया क्या होना चाहिए , और इसे कैसे पुनर्स्थापित किया जाए (नीचे लिंक देखें)/usr/share/openvpnupdate-resolv-confresolv.conf
  • जोड़ना

ये पंक्तियाँ

  script-security 2
  up /usr/share/openvpn/update-resolv-conf
  down /usr/share/openvpn/update-resolv-conf

Openvpn क्लाइंट कॉन्फ़िगर फ़ाइल में।

अधिक जानकारी के लिए इस विकी पर पढ़ें ।


6
OpenVPN के नए इंस्टॉलेशन में इंस्टॉलेशन के साथ यह स्क्रिप्ट शामिल है। मैन्युअल रूप से डाउनलोड करने और इंस्टॉल करने के बजाय /usr/share/openvpn/update-resolv-conf, आप इसे पहले से इंस्टॉल कर सकते हैं /etc/openvpn/update-resolv-conf
नैट लैंप्टन

OpenVPN के किस संस्करण में इस फ़ाइल को शामिल करना शुरू किया गया?
lanoxx

1
यहां पार्टी में थोड़ी देर हो गई है लेकिन मैं उपयोग कर रहा हूं 2.4.6और यह मेरे लिए स्थापित है
रोशन भौंरा

1

उपयोग करने पर विचार route-up/ route-downकनेक्शन सेटअप पर आपके विन्यास को बदलने के लिए आप मनचाहे ढंग से अपने ग्राहक पर स्क्रिप्ट। यह कैसे सेट करें और इन लिपियों में आप किस चर का उपयोग कर सकते हैं, इसके विवरण के लिए OpenVPN डॉक्स देखें ।


+1, रोचक और उपयोगी। Resolvconf के माध्यम से समाधान ऊपर और नीचे (ऊपर या नीचे DEP। रेटिंग पर ..) क्लीनर लेकिन बात करने के लिए अधिक है, और, imo,।
e2-e4

@ ring0 मैं दौड़ की स्थिति को कम करने के route-upबजाय उपयोग करने की सलाह दूंगा up। जब upस्क्रिप्ट निष्पादित हो जाती है, तो कनेक्शन अभी तक सेट नहीं किया गया है और आपके पास आपके द्वारा सेट किए गए दूरस्थ रिज़ॉल्वर को क्वेरी करने का कोई मौका नहीं है। यदि आप OpenVPN क्लाइंट को ऐसी स्थिति में शुरू करते हैं जहां कनेक्शन सेटअप पूरा नहीं होता है, तो आप अपने रिज़ॉल्वर को लंबे समय तक संभवतः गैर-कार्यात्मक स्थिति में डाल रहे हैं। विवरण के लिए OpenVPN मैन पेज में "स्क्रिप्ट ऑर्डर ऑफ एक्ज़ीक्यूशन" अनुभाग देखें।
वाबेट

मैंने कुछ परीक्षण किए, और अप स्क्रिप्ट को सही कहा जाता है, जब "इनिशियलाइज़ेशन सीक्वेंस कम्प्लीटेड" पहुँच जाता है, पहले नहीं। Btw आदमी में "मार्ग नीचे" नहीं मिल सकता है।
e2-e4

1

इस समस्या को ठीक करने में मेरी मदद करने के लिए यह उपयोगी जानकारी थी।

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

मैंने एक स्क्रिप्ट बनाई, जो समस्या को ठीक करती है और अतिरिक्त मापदंडों के एक जोड़े के साथ कमांड लाइन के माध्यम से ओपनवीपीएन कनेक्शन संभालती है।

https://gist.github.com/android10/ee5c3e93dbcf9b7b31e6ee768cbfd477

यहाँ कनेक्शन के लिए मुख्य कमांड निष्पादित किया जा रहा है:

  nohup openvpn --config $OVPN_FILE_PATH --askpass $OVPN_PRIVATE_KEY_FILE_PATH \
  --script-security 2 \
  --setenv PATH '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' \
  --up /etc/openvpn/scripts/update-systemd-resolved \
  --down /etc/openvpn/scripts/update-systemd-resolved \
  --down-pre \
  &>/dev/null &

किसी भी प्रतिक्रिया की सराहना की तुलना में अधिक है।


-2

इको "नेमसेवर = विक्सीज"> /etc/resolv.conf
इको "नेमसेवर = 127.0.0.1" >> >>et //resolv.conf


2
यह अक्षम लगता है (DNS खोज पथ और वीपीएन नेमसर्वर की दृढ़ता के बारे में सोचें), लेकिन यह भी स्पष्ट नहीं है कि आप उसे कहां रखना चाहते हैं।
फाल्कन मोमेंट

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