डिस्कनेक्ट पर वीपीएन को फिर से कनेक्ट करें?


16

मैं उबंटू GNOME उपयोगकर्ता हूं और मैं सोच रहा था कि क्या डिस्कनेक्ट पर वीपीएन को स्वचालित रूप से फिर से कनेक्ट करने में सक्षम होने का एक तरीका है । मैं OpenVPN प्रोटोकॉल का उपयोग कर रहा हूं ।

मैंने नेटवर्क प्रबंधक को पूरी तरह से जांच लिया है, लेकिन ऐसा कोई विकल्प नहीं मिल सका है, केवल विशिष्ट वाईफाई से कनेक्ट होने पर ही वीपीएन से कनेक्ट होने के लिए।

जवाबों:


20

18.10 तक (पहले के संस्करणों में जांच नहीं की जा सकती है) NetworkManager में वीपीएन कनेक्शन की एक सेटिंग है vpn.persistentजो बस यही करता है: कनेक्शन के नुकसान पर एक वीपीएन को फिर से कनेक्ट करता है जब तक कि आप मैन्युअल रूप से डिस्कनेक्ट न करें। यह "no"डिफ़ॉल्ट रूप से सेट होता है और दुर्भाग्य से न तो Gnome Network Settings में और न ही nm-connection-editor में उजागर होता है।

लेकिन आप इसे इस तरह से CLI के जरिए सेट कर सकते हैं:

nmcli connection modify <Your VPN connection name> vpn.persistent yes

आपके पास ऐसा करने से पहले कनेक्शन मौजूद होना चाहिए


2
यह वही है जो मैं चाहता था। धन्यवाद एक लाख
Wyatt8740

चूंकि यह सेटिंग उपलब्ध है, इसलिए नेटवर्क सेटिंग्स इसे क्यों नहीं दिखाती हैं? और आपको कहां / कैसे पता चला? पर इस बात का कोई जिक्र नहीं है developer.gnome.org/NetworkManager/stable/nmcli.html लेकिन मैं यह काम करता है ... लगता है के बाद से आदेश चलाकर सफल होने के लिए लगता है
अल एफ

@alf मुझे लगता है कि मुझे यह सेटिंग सिर्फ टर्मिनल में nmcli पर पोक करने से मिली, लेकिन इसे developer.gnome.org/NetworkManager/stable/… पर और
nm-

19

OpenVPN में अंतर्निहित लिंक स्वचालित रूप से मृत लिंक का पता लगाने और फिर से कनेक्ट करने के लिए है। नेटवर्क मैनेजर में "कनेक्शन संपादित करें" पर जाएं, अपना वीपीएन कनेक्शन चुनें और "एडिट" चुनें। "वीपीएन" टैब में "उन्नत ..." पर क्लिक करें और "सामान्य" टैब पर जाएं। वहां आपके पास दो प्रासंगिक विकल्प हैं:

"निर्दिष्ट पिंग अंतराल" OpenVPN को बताएं कि लिंक अभी भी जीवित है या नहीं, यह जांचने के लिए कितनी बार। "एक्ज़िट एक्ज़िट या रिस्टार्ट पिंग" यह बताता है कि कब तक इंतज़ार करना है और कब तक कार्रवाई करनी है।

उदाहरण: मेरी सेटिंग "30 / पिंग-पुनरारंभ / 300" है। इसका मतलब है कि अगर लिंक अभी भी सक्रिय है, तो OpenVPN हर 30 सेकंड में जांच करता है। यदि लिंक 300 सेकंड के लिए डाउन है तो यह रीस्टार्ट होता है।

इस तरह से बाहरी लिपियों की कोई आवश्यकता नहीं है ...


1
यह स्वीकृत उत्तर होना चाहिए।
नेकबोट

5
यह Ubuntu 18.04 के लिए कम से कम सच नहीं है। मेरे पास पिंग अंतराल और पिंग-पुनरारंभ है लेकिन यह वैसे भी खुद को अक्षम कर देगा।
प्रदर्शन नाम

@ सर्जबॉर्श: m0NKey bR4in द्वारा किया गया जवाब काम करने (सेटिंग vpn.persistentकरने yes) को लगता है ।
कोनटेक्स्टीफाई

1

थोड़ा खुदाई के बाद मुझे यह उत्तर मिला , इसका परीक्षण किया (उबंटू GNOME 15.04 पर) और अब तक यह काम कर रहा है।

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


0

यह दावा करने के बाद कि यह एक SMOP (सिंपल मैटरिंग ऑफ प्रोग्रामिंग) था, मैंने एक बैश स्क्रिप्ट लिखी जो "लिंक डाउन" के लिए मॉनिटर करती है, फिर एक यूजर स्क्रिप्ट निष्पादित करती है। कम सीपीयू उपयोग, while true....sleep 30विधि की तुलना में अधिक उत्तरदायी । मेरा जवाब यहां देखें । यह "घूर्णन वाईफाई कनेक्शन" के बारे में है, लेकिन शायद आपके लिए भी काम करेगा


0

यह स्क्रिप्ट 16.04 पर काम करेगी जहाँ nmcli con statusअब काम नहीं करती:

#!/bin/bash
CON="purple"
STATUS=`nmcli con show --active | grep purple | cut -f1 -d " "`
if [ -z "$STATUS" ]; then
    nmcli con up $CON
fi

थोड़ा छोटा STATUS="$(nmcli con show -f name | grep purple)"। या आप बस जाँच कर सकते हैं कि क्या वास्तविक कनेक्शन सक्रिय हैnmcli con show --active id 'purple'
smac89

0

मुझे लगता है कि अन्य उत्तरों के आधार पर पूरा उत्तर निम्नानुसार है:

#!/bin/bash +x
  while [ "true" ]
   do
        CON="Your-VPN-Name"
        STATUS=`nmcli con show --active | grep $CON | cut -f1 -d " "`
        if [ -z "$STATUS" ]; then
                echo "Disconnected, trying to reconnect..."
                (sleep 1s && nmcli con up $CON)
        else
                echo "Already connected !"
        fi
        sleep 30
   done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.