সংযোগ ড্রপটিতে স্বয়ংক্রিয় পুনঃসংযোগ করতে ভিপিএন পাওয়া


13

আমি ম্যাক ওএস এক্স 10.7.3 এ অন্তর্নির্মিত ভিপিএন ব্যবহার করি। এটি আইপিসেক, এফডাব্লুআইডাব্লু। সময়ে সময়ে এটি সংযোগ বিচ্ছিন্ন করে (সম্ভবত আমার কর্পোরেট সার্ভারে এটি একটি সমস্যা)। এটি স্বয়ংক্রিয়ভাবে পুনঃসংযোগ করার কোনও উপায় আছে? কখনও কখনও আমি কিছুক্ষণের জন্য খেয়াল করি না, যা বিরক্তিকর।

উত্তর:


9

আপনি নিম্নলিখিত অ্যাপলস্ক্রিপ্টটি ব্যবহার করতে পারেন , এটি অ্যাপ্লিকেশন হিসাবে সংরক্ষণ করুন এবং এটি এজেন্ট হিসাবে সেট করতে পারেন (কোনও ডক আইকন নেই)।

যখন কোনও কিছুই নেই তখন এই স্ক্রিপ্টটি একটি ভিপিএন সংযোগ সেটআপ করবে। সুতরাং, আপনার সংযোগটি ড্রপ হওয়ার পরে এটি পুনরায় সংযুক্ত হওয়া উচিত। আপনার ভিপিএন সংযোগ পরীক্ষা করতে আপনি বিরতি পরিবর্তন করতে পারবেন, এটি স্ক্রিপ্টের 120 সেকেন্ড।

on idle
    tell application "System Events"
        tell current location of network preferences
            set myConnection to the service "VPN University"
            if myConnection is not null then
                if current configuration of myConnection is not connected then
                    connect myConnection
                end if
            end if
        end tell
        return 120
    end tell
end idle

আমি এই উত্তরে এটি সেট আপ করার পদ্ধতি ব্যাখ্যা করেছি ।


Can’t get «class svce» "MyVPN" of «class locc» of «class netp» of application "System Events". System Events got an error: Can’t get service "MyVPN" of current location of network preferences. (-1728)
ফিল পিরোজকভ

এটি আইকেইভ 2 ভিপিএনগুলির সাথে কাজ করবে না। আপনি কীভাবে এটি করতে পারেন তা এখানে রয়েছে: matt.coneybeare.me/… -সেবারে -অন-আপনার-ম্যাক /
কনিয়েবিয়ার

8

আমি প্রদত্ত উত্তরে কিছু পরিবর্তন করেছি, কারণ যদি কিছু করার মতো হয় তবে তা মাটিতে worth আমি ভিপিএন বাদ দিলে পুনরায় সংযোগ করতে চেয়েছিলাম, তবে ভিপিএন ইচ্ছাকৃতভাবে সংযোগ বিচ্ছিন্ন থাকলে পুনরায় সংযোগ স্থাপন করব না। আমি যে সমাধানটি নিয়ে এসেছি তা কার্যকর এবং অকার্যকর উভয়ই ছিল।

পছন্দসই ভিপিএন স্থিতির উপর নজর রাখতে প্রথমে আমি পিপিডিডি স্টার্টআপ এবং শাটডাউনতে হুক যুক্ত করেছি। এই ফাইলগুলি রুটের মালিকানাধীন হওয়া উচিত এবং এতে ওয়ার্ল্ড রিড / এক্সিকিউট করার অনুমতি রয়েছে ( sudo chmod 755 /etc/ppp/ip-*)।

জন্য / etc / পিপিপি / IP-আপ:

#!/bin/sh
echo true > /var/run/reconnect_vpn
chmod 644 /var/run/reconnect_vpn

/ ইত্যাদি / পিপিপি / আইপি-ডাউন: ওএস এক্স 10.9.5 এবং নীচের জন্য

#!/bin/sh
tail /var/log/ppp.log | grep '\[DISCONNECT\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi

/ ইত্যাদি / পিপিপি / আইপি-ডাউন: ওএস এক্স 10.10 এবং তারপরের জন্য

#!/bin/sh
tail /var/log/ppp.log | grep '\[TERMINATE\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi

তারপরে উপরের অ্যাপলস্ক্রিপ্টটি সংশোধন করে, আমি ভিপিএনকে ফিরিয়ে আনতে হবে কিনা তা নির্ধারণের জন্য '/ var / run / reconnect_vpn' স্থিতির পরিবর্তনশীল পরীক্ষা করতে সক্ষম হয়েছি:

on idle
    tell application "System Events"
        tell current location of network preferences
            set myConnection to the service "VPN"
            set startOnLogin to true
            local doReconnect
            try
                set doReconnect to (do shell script "cat /var/run/reconnect_vpn")
            on error errMsg
                set doReconnect to startOnLogin
            end try
            if myConnection is not null and doReconnect then
                if current configuration of myConnection is not connected then
                    connect myConnection
                end if
            end if
        end tell
        return 120
    end tell
end idle

আগের মতো, set myConnection to the service "VPN"আপনার ভিপিএন যাকে বলা হয় তাতে লাইনটি পরিবর্তন করুন । এছাড়াও, প্রারম্ভকালে 'পুনরায় সংযোগ_ভিপিএন' ফাইলটি বিদ্যমান নেই, সুতরাং যখন ফাইলটি খুঁজে পাওয়া যায় নি তখন আমি ডিফল্ট হিসাবে পরিবেশন করতে একটি বুলিয়ান (startOnLogin) যুক্ত করেছি। আমি অবিলম্বে শুরু করতে চাই, তবে আপনি যদি এটি মিথ্যাতে পরিবর্তন করেন না।

আমার অনুভূতি আছে যে আপনি যদি ভিপিএন আচরণ সম্পর্কে এই ধরণের ব্যক্তি হন তবে আপনিও সেই ধরণের ব্যক্তি, যিনি আপনার সমাধান না পাওয়া পর্যন্ত আশেপাশে হুড়োহুড়ি পছন্দ করেন এবং এই উত্তরটির কোনও শ্রোতা নেই। তবে কেবল ক্ষেত্রে, এটি এখানে। আশা করি এটি কারও সাহায্য করবে।


এটি আইকেইভ 2 ভিপিএনগুলির সাথে কাজ করবে না। আপনি এটি কীভাবে করতে পারেন তা এখানে রয়েছে: matt.coneybeare.me/… -সেবার -অন-আপনার-ম্যাক /
কনিয়েবিয়ার

4

একটি অ্যাপ্লিকেশন রয়েছে যা এটিকে ভিপিএন অটো-কানেক্ট (ম্যাক অ্যাপ স্টোর লিঙ্ক) বলে। এটি 99 0.99।

একবার শুরু হয়ে গেলে এটি আপনার মেনু বারে বাস করে; আপনি যখন এটি ভিপিএন "চালু" করতে ব্যবহার করেন, এটি ওএস এক্স এর নেটওয়ার্ক অগ্রাধিকার ফলকে সেট আপ করা একটি ভিপিএন সংযোগ প্রোফাইল পর্যবেক্ষণ করবে এবং আপনি সর্বদা এর সাথে সংযুক্ত থাকবেন কিনা তা নিশ্চিত করে। ভিপিএন অটো-কানেক্টের মেনু-বার আইকনটি আপনাকে সংজ্ঞায়িত সমস্ত ভিপিএন সংযোগের একটি তালিকা সরবরাহ করে এবং কোনটি সর্বদা সংযুক্ত হতে হবে তা চয়ন করতে দেয়।


ভিন্ন জিজ্ঞাসা করতে স্বাগতম! আপনার উত্তরের জন্য ধন্যবাদ, জন! আপনি যে অ্যাপ্লিকেশনটি সংযুক্ত করেছেন সে সম্পর্কে আপনি আরও তথ্য যুক্ত করতে পারেন? কিভাবে এটি প্রশ্নের উত্তর দেয়? ওপির প্রয়োজনীয় অ্যাপটি কোন নির্দিষ্ট বৈশিষ্ট্যগুলি তৈরি করে?
ডেভিজেক

আইপিইভ 2 ভিপিএনগুলির সাথে ভিপিএন অটো-কানেক্ট কাজ করে। আপনি এটি কীভাবে করতে পারেন তা এখানে রয়েছে: matt.coneybeare.me/… -সেবার -অন-আপনার-ম্যাক /
কনিয়েবিয়ার

0

একটি নতুন বিকল্প হ'ল ভিপিএন মনিটর অ্যাপস্টোরে উপলব্ধ। এটি আরও স্বনির্ধারণের জন্য যেমন অটো-লগইন, ভিপিএন সংযোগের মাধ্যমে সাইকেল চালানো ইত্যাদির অনুমতি দেয় কমপক্ষে ওএস এক্স ১০.৯ ম্যাভারিক্সের প্রয়োজন।


0

স্ক্রিপ্টটি যে কোনও বাদ পড়ে যাওয়া ভিপিএন পরিষেবাটিকে পুনরায় সংযুক্ত করুন ।

আমি rjarvis2010 এর সমাধানটি ব্যবহার করে যাচ্ছিলাম তবে আমি এতে সন্তুষ্ট নই।

আমার সাথে সংযুক্ত আমার অনেকগুলি আলাদা ভিপিএন পরিষেবাদি রয়েছে, তাই আমি এমন একটি স্ক্রিপ্ট চেয়েছিলাম যা আমার সাথে সংযুক্ত থাকা কোনও ভিপিএনকে স্বয়ংক্রিয়ভাবে সংযুক্ত করবে।

on idle
    tell application "System Events"
        tell location "Uni" of network preferences
            -- keep checking for VPN name until a VPN is connected
            set empty to true
            repeat until empty is false
                try
                    -- set variable "myVPN" to the name of the service that is connected and is a VPN
                    set myVPN to get name of first service whose (kind is greater than 11 and kind is less than 17) and connected of current configuration is true
                    set empty to false
                on error
                    set empty to true
                    delay 15
                end try
            end repeat

            -- doReconnect is a file that reads from the ppp.log and contains "true" by default, "false" if the vpn service was manually disconnected recently
            local doReconnect
            set doReconnect to (do shell script "cat /var/run/reconnect_vpn")

            repeat while doReconnect contains "true"
                set ConfProp to get current configuration of service myVPN
                if connected of ConfProp is false then
                    delay 1
                    set doReconnect to (do shell script "cat /var/run/reconnect_vpn")
                    if doReconnect contains "true" then
                        try
                            connect service myVPN
                        on error errorMessage
                        end try
                    else
                        exit repeat
                    end if
                end if
                delay 5
            end repeat
        end tell
    end tell
    return 1
end idle

এটি আপনার পক্ষে কাজ করার জন্য, আপনাকে প্রতিস্থাপন করতে হবে

  • Uni আপনার অবস্থানের নাম যাই হোক না কেন সঙ্গে

আপনার কাজ শেষ হয়ে গেলে, এটি অ্যাপ্লিকেশন হিসাবে সংরক্ষণ করুন এবং এটি আপনার লগইন আইটেমগুলিতে রাখুন এবং আপনি ভাল good

এছাড়াও, এবং এটি গুরুত্বপূর্ণ, আপনাকে পিপিপি হুকগুলি সেট করতে হবে যা rjarvis2010 এর সমাধান হিসাবে বর্ণিত হয়েছে

এছাড়াও, আমি আপনাকে একই সাথে একাধিক ভিপিএন সংযোগ করার চেষ্টা না করার পরামর্শ দেব। এই স্ক্রিপ্টটি থামানোর জন্য আপনাকে ক্রিয়াকলাপ মনিটরের মাধ্যমে এটিকে ছেড়ে দেওয়ার জন্য জোর করতে হবে (কারণ পুনরাবৃত্ত লুপগুলি এটিকে বাহ্যিক ইনপুটটি কখনও কখনও গ্রহণ করতে দেয় না)।


0

আমি আমার ভিপিএন সংযোগটি বাঁচিয়ে রাখতে বিভিন্ন পদ্ধতি ব্যবহার করছি। এর মধ্যে একটি খুব সাধারণ launchdডেমন চালানো জড়িত যা কোনও ব্যবহারকারী লগইন না করে ভিপিএন সংযোগ রক্ষণাবেক্ষণের অনুমতি দেয় (স্লিপ মোড থেকে পুনরায় শুরু করার সময় এটি ভিপিএন সংযোগ বিচ্ছিন্নতা পপআপগুলি এড়িয়ে যায়)।

launchdটার্মিনাল থেকে একটি plist ফাইল তৈরি করুন :

sudo nano /Library/LaunchDaemons/my.vpn.connector.plist

এবং নিম্নলিখিত বিষয়বস্তু প্রবেশ করুন:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <dict>
        <key>NetworkState</key>
        <true/>
    </dict>
    <key>Label</key>
    <string>my.vpn.connector</string>
    <key>ProgramArguments</key>
    <array>
        <string>bash</string>
        <string>-c</string>
        <string>(test $(networksetup -showpppoestatus MyVPN) = 'disconnected' &&  ping -o my.vpn.server.url && networksetup -connectpppoeservice MyVPN) ; sleep 10</string>
    </array>
</dict>
</plist>

আপনি আপনার ডিমন এবং পরীক্ষা শুরু করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

launchctl load /Library/LaunchDaemons/my.vpn.connector.plist

এইভাবে, আপনার কাছে সমস্ত ব্যবহারকারীর জন্য একটি ডেমন চলছে, ইন্টারনেট সংযোগ উপলব্ধ থাকলেই সংযোগের চেষ্টা করা হয়েছিল। এছাড়াও, ইন্টারনেট সংযোগ ফিরে এলে ভিপিএন স্বয়ংক্রিয়ভাবে পুনরায় সংযুক্ত হয়ে যায় ...

সম্পাদনা:

কোনও ব্যবহারকারী লগ ইন করার আগে (সার্ভারের জন্য কার্যকর) কোনও ভিপিএন সংযোগকে স্বয়ংক্রিয়ভাবে তৈরি করার অনুমতি দেয় বলে আমি এই পদ্ধতিটিকে সবচেয়ে শক্তিশালী মনে করি।

ইয়োসেমাইটের জন্য আপডেট (ওএসএক্স 10.10)

    <key>KeepAlive</key>
    <dict>
        <key>NetworkState</key>
        <true/>
    </dict>

ইয়োসেমাইটে অবমূল্যায়ন করা হয়। পরিবর্তে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন

    <key>KeepAlive</key>
    <true/>

এছাড়াও

networksetup -connectpppoeservice MyVPN

ইয়োসেমাইটে আর কাজ করে না। পরিবর্তে আপনি এটি ব্যবহার করতে পারেন

scutil --nc start MyVPN

scutil --nc listআমার ভিপিএন সংযোগটি তালিকাভুক্ত করে না, যা নেটওয়ার্ক সেটিংসের মাধ্যমে দেখা এবং সংযোগযোগ্য।
ফিল পিরোজভকভ

@ ফিলিপিরোজহকভ IKEv2 ভিপিএনগুলির সাথে এটি কাজ করবে না। আপনি এটি কীভাবে করতে পারেন তা এখানে রয়েছে: matt.coneybeare.me/… -সেবার -অন-আপনার-ম্যাক /
কনিয়েবিয়ার

0

আমি দেখেছি যে এখানে কয়েকটি উত্তর রয়েছে যা লগইন হুক ব্যবহার করে, সেগুলি লঞ্চ এজেন্ট এবং লঞ্চ ডেমোনসের পক্ষে OS X এর নতুন সংস্করণে অবচিত করা হয়েছে।

আমি একটি স্ক্রিপ্ট এবং লঞ্চ এজেন্ট তৈরি করেছি। এজেন্ট প্রতি 30 সেকেন্ডে একটি শেল স্ক্রিপ্ট কল করে এবং একটি আইপি ঠিকানা পিন করার চেষ্টা করে যা ভিপিএন নেটওয়ার্কে স্থিতিশীল। যদি সে আইপি পিং করতে না পারে তবে এটি আপনার ভিপিএন সংযোগ সক্ষম করে।

আপনি যদি কোনও অ্যাপল স্ক্রিপ্ট অ্যাপের মাধ্যমে এটি করেন তবে অ্যাপ্লিকেশন আইকনটি সর্বদা আপনার ডকের মধ্যে থাকবে। আমি ব্যাকগ্রাউন্ডে স্বয়ংক্রিয়ভাবে এটি চালানো পছন্দ করি।

নীচের প্রকল্পটি ক্লোন করুন এবং রিডমেতে দিকনির্দেশগুলি অনুসরণ করুন। শেষ ফলাফলটি হ'ল একটি ইনস্টলার প্যাকেজ যা / গ্রন্থাগার / লঞ্চআজেন্টস / এ একটি লঞ্চ এজেন্ট প্লাস্ট ফাইল এবং / লাইব্রেরি / অ্যাপ্লিকেশন সহায়তা / মেলনমেশার / এ একটি শেল স্ক্রিপ্ট স্থাপন করবে।

আপনার ভিপিএন সংযোগের নাম এবং ভিপিএন নেটওয়ার্কে থাকা একটি আইপি ঠিকানা দিয়ে শেল স্ক্রিপ্ট (অটো-ভিপিএন) সম্পাদনা করতে ভুলবেন না। আপনি প্লাস্ট ফাইল (com.melonsmasher.autovpn.plist) এ রান ব্যবধান পরিবর্তন করতে পারেন।

https://github.com/MelonSmasher/OSX-AutoVPN


-2

অ্যাপলস্ক্রিপ্টগুলির সৌন্দর্য হ'ল আপনি এটির সাথে প্রায় যা কিছু করতে পারেন এবং এটি নিখরচায়, খারাপ দিকটি হ'ল এগুলি সাধারণত খুব প্রতিক্রিয়াশীল হয় না (একটি নির্দিষ্ট সময়ের ব্যবধানে ভোটদান) এবং কেবল স্থানীয় ম্যাক ওএস এক্স অ্যাপ্লিকেশনগুলিতে থাকতে পারে এমন বৈশিষ্ট্যের অভাব রয়েছে। একটি দুর্দান্ত এবং নতুন ভিপিএন অটো পুনঃসংযোগ অ্যাপ্লিকেশনটি স্টোরটিতে "ভিপিএন মনিটর", এটি কোনও ভিপিএন সংযোগ হ্রাসের মুহুর্তের সাথে সাথেই আবার সংযোগ স্থাপন করে, পছন্দের পরিষেবাটি নিচে থাকলে কোনও নতুন ভিপিএন পরিষেবাতে পুনরায় সংযোগ করতে সক্ষম হয়, স্টার্ট-আপ এ সংযোগ দেয়, আপনার ডাউনটাইম ট্র্যাক করে এবং স্ট্যাটাসবার অ্যাপ্লিকেশন হিসাবে ব্যাকগ্রাউন্ডে চালানোর জন্য সর্বনিম্ন সিস্টেম সংস্থান ব্যবহার করে। ভিপিএন মনিটর


2
দয়া করে এফএকিউ, বিশেষত স্ব-প্রচার
নহিলসাইড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.