केवल चयनित अनुप्रयोगों के लिए वीपीएन कनेक्शन का उपयोग करें


39

मेरे पास एक वीपीएन तक पहुंच है और इसे केवल कुछ अनुप्रयोगों के लिए उपयोग करना चाहते हैं, सभी नहीं।

उदाहरण के लिए:
यदि मैं किसी वीपीएन से जुड़ता हूं तो मैं केवल उन वीपीएन कनेक्शन का उपयोग करने के लिए ओपेरा और न्यूजबिन चाहता हूं। फ़्यू आउटलुक की तरह अन्य सभी एप्लिकेशन को सामान्य इंटरनेट कनेक्शन का उपयोग करना चाहिए (जबकि वीपीएन जुड़ा / खुला है)।

Afaik यह संभव नहीं है, लेकिन मुझे पूरा यकीन नहीं है। इसलिए मेरा प्रश्न: क्या यह उचित है?


जवाबों:


-1

नहीं, यह नहीं है। वैसे सामान्य साधनों का उपयोग नहीं करना। रूटिंग रूटिंग है। रूटिंग OSI मॉडल को कम करता है। इसके लिए आपको जो करने की आवश्यकता है, वह एप्लिकेशन स्तर (उच्चतर) पर जागरूक होना है, ताकि यह पता लगाया जा सके कि आप किस प्रोग्राम का उपयोग कर रहे हैं आदि। NORMAL रूटर्स आपको एप्लिकेशन या पोर्ट नंबर के आधार पर मार्गों को कॉन्फ़िगर करने की अनुमति नहीं देता है।

मुझे लगता है कि यह संभव है। राउटर बंदरगाहों को देख सकते हैं ताकि आप उन्हें पोर्ट नंबर द्वारा फ़िल्टर कर सकें और ट्रैफ़िक को विभिन्न मार्गों से बाहर भेज सकें। मुझे यकीन है कि मैं कुछ समय पहले सिस्को राउटर के साथ पढ़ सकता हूं जो ऐसा कर सकते हैं। हालांकि वे सस्ते नहीं आते हैं और वे व्यवसाय राउटर हैं जिनके लिए बहुत अधिक कॉन्फ़िगरेशन की आवश्यकता होती है और मुझे लगता है कि आप घरेलू उपयोग के लिए कुछ सरल चाहते हैं।

सारांश में यह राउटर है जिसे इस सुविधा की आवश्यकता होगी और आपके बोग मानक घरेलू उपयोग के लिए, यहां तक ​​कि व्यवसाय भी इन सुविधाओं का समर्थन नहीं करते हैं। सिस्को और Sonicwalls की केवल उन्नत लाइन इन क्षमताओं की पेशकश करती है।


36

इसे पूरा करना संभव है, कम से कम लिनक्स पर (और मैं बीएसडी और ओएस एक्स पर भी सोच रहा हूं)। आप ऐसा कर सकते हैं:

  • सभी वीपीएन ट्रैफ़िक के लिए एक अतिरिक्त उपयोगकर्ता बनाएं।
  • वीपीएन के माध्यम से 1 डिफ़ॉल्ट मार्ग के साथ एक अतिरिक्त रूटिंग टेबल बनाएं।
  • किसी विशिष्ट उपयोगकर्ता आईडी से उत्पन्न होने वाले सभी ट्रैफ़िक के लिए अन्य रूटिंग तालिका का उपयोग करने के लिए Iptables के माध्यम से नेटफ़िल्टर कॉन्फ़िगर करें।
  • उन अनुप्रयोगों को चलाएं जिन्हें वीपीएन का उपयोग अपने स्वयं के उपयोगकर्ता के तहत करना चाहिए। उदाहरण के लिए 'सूडो' के साथ।

उपरोक्त चरणों को पूरा करने के लिए लिपियाँ हैं या यहाँ एक और मार्गदर्शिका है

यहां एक वीपीएन के माध्यम से ट्रांसमिशन को पार करने के लिए एक विस्तृत मार्गदर्शिका दी गई है (एक वीपीएन सर्वर का उपयोग करके जो आपके पास है।


लिनक्स पर बहुत आसान: एक नेटवर्क नेमस्पेस बनाएं, वीपीएन को उस नेमस्पेस से कनेक्ट करें, ऐसे एप्लिकेशन चलाएं जो वीपीएन में नेमस्पेस का उपयोग करें। तुम भी एक ही आवेदन की दो प्रतियां चला सकते हैं, एक वीपीएन का उपयोग कर और एक सीधे कनेक्शन का उपयोग कर।
14

15

इसे पूरा करने के लिए आप विंडोज फ़ायरवॉल का उपयोग कर सकते हैं (बशर्ते आप विन 7 या विस्टा का उपयोग कर रहे हों) - मैंने इस पर एक गाइड लिखा था

  1. अपने वीपीएन से कनेक्ट करें जैसा कि आप सामान्य रूप से करेंगे।

  2. नेटवर्क और साझाकरण केंद्र खोलें - टास्कबार में इंटरनेट कनेक्शन आइकन पर राइट-क्लिक करें और "ओपन नेटवर्क और साझाकरण केंद्र" चुनें (नीचे देखें)

  3. आपको "कम से कम) दो नेटवर्क" अपने सक्रिय नेटवर्क देखें "- अपने वीपीएन कनेक्शन और एक को" नेटवर्क "कहा जाता है - अपने आईएसपी कनेक्शन को देखना चाहिए। सुनिश्चित करें कि आपका वीपीएन एक "सार्वजनिक नेटवर्क" है, और आपका आईएसपी कनेक्शन "होम नेटवर्क" है। यदि आपको या तो कनेक्शन बदलने की आवश्यकता है, तो इसे क्लिक करें और एक विकल्प विंडो दिखाई देगी (नीचे देखें)।

  4. नियंत्रण कक्ष पर जाएं और सिस्टम और सुरक्षा पर क्लिक करें (नीचे देखें)।

  5. परिणामी विंडो में, विंडोज फ़ायरवॉल (नीचे देखें) पर क्लिक करें।

  6. विंडोज फ़ायरवॉल विंडो में, बाएं फलक पर उन्नत सेटिंग्स पर क्लिक करें (नीचे देखें)। नोट: फ़ायरवॉल सेटिंग्स में परिवर्तन करने के लिए आपको एक प्रशासक के रूप में लॉग इन होना चाहिए।

  7. आपको उन्नत सुरक्षा के साथ विंडो फ़ायरवॉल शीर्षक वाली विंडो देखनी चाहिए। इस विंडो में, इनबाउंड नियम (नीचे देखें) पर क्लिक करें।

  8. दाएँ फलक पर, आपको एक नया नियम का विकल्प दिखाई देगा। इसे क्लिक करें (नीचे देखें)।

  9. नए इनबाउंड नियम विज़ार्ड (जो दिखाई देना चाहिए) में, निम्न कार्य करें:

    • प्रोग्राम चुनें और अगला पर क्लिक करें।

    • उस प्रोग्राम को चुनें जिसे आप वीपीएन कनेक्शन को छोड़कर सभी ट्रैफ़िक को ब्लॉक करना चाहते हैं, और अगले पर क्लिक करें।

    • कनेक्शन ब्लॉक करें चुनें।

    • टिक डोमेन और निजी। सुनिश्चित करें कि सार्वजनिक को अछूता छोड़ दिया गया है।

  10. आउटबाउंड नियमों के लिए चरण 9 को दोहराएं।


11
क्या यह वास्तव में सवाल का जवाब देता है? हां, यह ऐप को वीपीएन पर नहीं होने पर काम करने से रोकता है, लेकिन सभी ट्रैफ़िक अभी भी वीपीएन के ऊपर जाता है?
जेसन कॉयेन

3
@pramble तो क्या सभी ट्रैफ़िक अभी भी वीपीएन से गुजरते हैं?
nsij22

काम करने के लिए प्रकट होता है। बस इसका परीक्षण किया ..
Faiz

यह इसे ठीक नहीं करता है। यह बहुत ही सरल परिदृश्य है। मैं चाहता हूं कि मेरे सभी कार्य-संबंधित सामान वीपीएन (एसक्यूएल सर्वर कनेक्शन, स्लैक, आदि) पर जाएं, लेकिन मैं चाहता हूं कि मेरा वेब ब्राउज़र (फेसबुक, साउंडक्लाउड, आदि, मूल रूप से सभी पोर्ट 80 ट्रैफिक) वीपीएन पर न जाएं। । यदि यह संभव नहीं है तो विंडोज बेकार है।
त्रिवेंको

@Triynko ओपी के लिए पूछे गए परिदृश्य से आपका परिदृश्य अलग है। वीपीएन से कनेक्ट करने के बाद आप अपने काम से संबंधित सामान के लिए संबंधित मार्ग निर्धारित कर सकते हैं, अर्थात, सभी काम से संबंधित सबनेट या आईपी के लिए वीपीएन गेटवे का उपयोग करें। विशिष्ट अनुप्रयोगों से उत्पन्न होने वाले यातायात को प्राप्त करना अधिक कठिन होता है।
8:25 बजे

4

आप इसे GNU / Linux पर नेटवर्क नेमस्पेस के साथ कर सकते हैं।

यहां OpenVPN और एक अलग नामस्थान में एक एकल एप्लिकेशन को चलाने का तरीका बताया गया है:

नेट नेटवर्क नेमस्पेस बनाएँ:

ip netns add myvpn

नेमस्पेस में लूपबैक इंटरफेस शुरू करें (अन्यथा कई चीजें उम्मीद के मुताबिक काम नहीं करती हैं ...)

ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo
ip netns exec myvpn ip link set lo up

वर्चुअल नेटवर्क इंटरफेस बनाएँ जो ओपनवीपीएन (नाम स्थान में) को वास्तविक नेटवर्क तक पहुंचने देगा, और नेमस्पेस (vpn0) से इंटरफ़ेस को डिफ़ॉल्ट गेटवे के रूप में उपयोग करने के लिए नेमस्पेस (vpn1) में इंटरफ़ेस कॉन्फ़िगर करेगा।

ip link add vpn0 type veth peer name vpn1
ip link set vpn0 up
ip link set vpn1 netns myvpn up
ip addr add 10.200.200.1/24 dev vpn0
ip netns exec myvpn ip addr add 10.200.200.2/24 dev vpn1
ip netns exec myvpn ip route add default via 10.200.200.1 dev vpn1

नामस्थान में इंटरफ़ेस के लिए IPv4 रूटिंग और NAT सक्षम करें। जैसा कि मेरा डिफ़ॉल्ट इंटरफ़ेस एक वायरलेस है, मैं आउटगोइंग इंटरफ़ेस के लिए iptables में wl + (जो wlan0, wlp3s0, आदि से मेल खा सकता है) का उपयोग करता है; यदि आप एक वायर्ड इंटरफ़ेस का उपयोग करते हैं, तो आपको संभवतः एन + (या ब्रिडेड इंटरफ़ेस के लिए br +) का उपयोग करना चाहिए।

iptables -A INPUT \! -i vpn0 -s 10.200.200.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o wl+ -j MASQUERADE
sysctl -q net.ipv4.ip_forward=1

नेमस्पेस को नाम स्थान के अंदर उपयोग करने के लिए कॉन्फ़िगर करें

mkdir -p /etc/netns/myvpn
echo 'nameserver 8.8.8.8' > /etc/netns/myvpn/resolv.conf

लगभग पूरा हो चुका है, अब हमें नेमस्पेस में पूरा नेटवर्क उपलब्ध होना चाहिए

ip netns exec myvpn ping www.google.com

अंत में नामस्थान में OpenVPN शुरू करें

ip netns exec myvpn openvpn --config /etc/openvpn/myvpn.conf

एक बार ट्यून नेमस्पेस में है, तो आप उस कार्यक्रम को शुरू करने के लिए तैयार हैं जो आप चाहते थे!

while ! ip netns exec myvpn ip a show dev tun0 up; do sleep .5; done
ip netns exec myvpn sudo -u $MYSELF popcorntime

स्रोत लेख।

इसके अलावा स्रोत लेख में एक आवरण स्क्रिप्ट है जिसे आप अपनी आवश्यकताओं के लिए अनुकूलित कर सकते हैं।


3

मैंने यह विंडोज पर किया है। यह विचार आउटगोइंग नेटवर्क पैकेज को वीपीएन के इंटरफेस से बांधने का है। लोग इसके लिए ForceBindIP का सुझाव देते हैं , लेकिन इस जवाब के लिए धन्यवाद कि मुझे प्रॉक्सी का उपयोग करने का विचार आया है। इस पद्धति का नकारात्मक पक्ष यह है कि या तो आपके ऐप्स को प्रॉक्सी का समर्थन करना है या आपको एक प्रॉक्सिफ़ायर ( यहां और यहां देखें ) का उपयोग करना होगा। उल्टा यह है कि इस तरह से आप ब्राउज़र में वीपीएन के उपयोग को फॉक्सपॉक्सी या इसी तरह के ऐड-ऑन का उपयोग करके विशिष्ट डोमेन तक सीमित कर पाएंगे।

मैं SOCKS मोड में 3proxy का उपयोग करता हूं और इसके बाहरी इंटरफ़ेस को VPN के IP से बांधता हूं । ओपन वीपीएन का उपयोग वीपीएन कनेक्शन के लिए किया जाता है।

मेरी .ovpn फ़ाइल ( client, dev tun) में मैंने ये पंक्तियाँ जोड़ी हैं:

route-nopull
route 0.0.0.0 0.0.0.0 vpn_gateway
pull-filter ignore "dhcp-option DNS "
script-security 2
up 'c:\path\to\up.cmd'
down 'c:\path\to\down.cmd'

route-nopullसर्वर से धकेल दिए गए मार्गों को अनदेखा करना। आपके मामले में आपको इसके बजाय पुनर्निर्देशित-गेटवे टिप्पणी करने की आवश्यकता हो सकती है।

route इस इंटरफ़ेस के लिए एक मार्ग जोड़ने के लिए, इस पंक्ति के बिना इसका उपयोग नहीं किया जाएगा भले ही ऐप इसके लिए बाध्य हो।

pull-filterधक्का दिए गए DNS को संरक्षित करने के लिए अन्यथा धक्का दिए गए route-nopullमार्गों के साथ एक साथ गिरा दिया जाएगा । यह विकल्प OpenVPN 2.4 के साथ शुरू होने का समर्थन करता है, अगर आपको OpenVPN 2.3 (Windows XP के लिए नवीनतम रिलीज़) के साथ रहना है, तो आपको dhcp-option DNS x.x.x.xइसके बजाय हार्डकोड आईपी के साथ दो लाइनें जोड़ना होगा।

script-security 2 स्क्रिप्टिंग की अनुमति देने के लिए।

up स्क्रिप्ट:

cd %~dp0
echo auth none> 3proxy-openvpn.conf
echo internal 127.0.0.1>> 3proxy-openvpn.conf
echo external %4>> 3proxy-openvpn.conf
echo socks>> 3proxy-openvpn.conf
start /b 3proxy.exe 3proxy-openvpn.conf

down स्क्रिप्ट:

taskkill /f /im 3proxy.exe

इस प्रकार, आप इस कॉन्फ़िगरेशन का उपयोग करके वीपीएन से कनेक्ट होने के बाद, 3proxy.exeप्रक्रिया शुरू हो जाएगी और DNS रिज़ॉल्यूशन क्षमता वाला एक लोकलहोस्ट-सीमित SOCKS5 प्रॉक्सी 1080पोर्ट पर चलेगा , अब बस अपने ऐप को localhost:1080SOCKS प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करें ।


मैं हो रही है Options error: option 'route' cannot be used in this context ([PUSH-OPTIONS])और Options error: option 'redirect-gateway' cannot be used in this context ([PUSH-OPTIONS])। कोई भी कम नहीं, यह समाधान काम करता है। यदि आप नीचे और ऊपर की स्क्रिप्ट के लिए एपोस्ट्रोफ को छोड़ते हैं, तो डबल बैकस्लैश का उपयोग करें:c:\\path\\to\\script
chx

1

यदि आप linux पर हैं, और आप ओपन वीपीएन का उपयोग करते हैं, तो VPNShift खूबसूरती से काम करता है।


कृपया एक से अधिक प्रश्नों के उत्तर न दें। यदि समान जानकारी वास्तव में दोनों प्रश्नों का उत्तर देती है, तो एक प्रश्न (आमतौर पर नया एक) दूसरे के डुप्लिकेट के रूप में बंद होना चाहिए। आप इसे डुप्लिकेट के रूप में बंद करने के लिए मतदान करके इंगित कर सकते हैं या, यदि आपके पास इसके लिए पर्याप्त प्रतिष्ठा नहीं है, तो यह इंगित करने के लिए कि यह एक डुप्लिकेट है, एक ध्वज उठाएं । अन्यथा इस सवाल के अपने जवाब को दर्जी करें और एक ही उत्तर को कई स्थानों पर पेस्ट न करें।
DavidPostill

4
क्या तथ्य यह है कि यह "कई सवालों का एक ही जवाब है" इतना महत्वपूर्ण है? प्रश्न मौजूद है, यह डुप्लिकेट के रूप में (अभी तक) ध्वजांकित नहीं है, और यह एक अच्छा उत्तर है, इसलिए यह मौजूद है। धन्यवाद @thouliha ha
रोनेन जौचेट

0

बस वर्चुअल मशीन के माध्यम से वीपीएन तक पहुंचें।

  1. एक वीएम बनाएं, फिर वीएम के अंदर से ...
  2. 'चयनित' एप्लिकेशन इंस्टॉल करें
  3. वीपीएन को कॉन्फ़िगर करें

होस्ट मशीन से उनका उपयोग करने के बजाय VM से 'चयनित' अनुप्रयोगों का उपयोग करें।

PS आपको होस्ट मशीन के माध्यम से VM को नेटवर्क एक्सेस देने की आवश्यकता है, बिल्कुल।


यह सिर्फ एक दृष्टिकोण का उल्लेख करता है जो पहले से ही अन्य उत्तरों में विस्तार से वर्णित है।
फिक्सर 1234

1
@ fixer1234: किसी ने भी वर्चुअल मशीनों का उल्लेख नहीं किया है।
डूबो

क्या आप अपने उत्तर का विस्तार कुछ और कार्रवाई करने योग्य (कैसे समझाएं) कर सकते हैं? विस्तार के स्तर के विचार के लिए थ्रेड पर अन्य उत्तर देखें। बस एक दिशा प्रदान करने के लिए एक संकेत देने के लिए एक टिप्पणी में जाना होगा, जिसके लिए थोड़ा और प्रतिनिधि चाहिए।
फिक्सर 1234

मैंने पहले एक टिप्पणी की कोशिश की है, लेकिन सिस्टम ने मुझे अनुमति नहीं दी क्योंकि मेरे पास 50 से कम अंक हैं। मैं जवाब का विस्तार करने की कोशिश करूंगा।
18'18

यह वह विचार है जिसके साथ मैं आया था, और यह ठीक काम करता है, बिना किसी जटिल रूटिंग कॉन्फ़िगरेशन के सिसडमिन की तरफ।
pwned

0

मुझे पता है कि यह एक तरह से देर से उत्तर है जो मैं अभी भी चला रहा हूं, लेकिन अगर यह कभी किसी के लिए प्रासंगिक है, तो मेरी वही परिस्थिति थी जहां मैं वीपीएन के माध्यम से अपना कार्य ट्रैफ़िक चलाना चाहता था, लेकिन अपने व्यक्तिगत ट्रैफ़िक को उनके माध्यम से रूट नहीं करना चाहता था प्रॉक्सी सर्वर और ऐसे। तो मैं तब Win7 चला रहा था, लेकिन वे अभी भी बहुत सारे सिस्टम पर WinXP चला रहे थे। आखिरकार उन्होंने मुझे काम के लिए दौड़ने के लिए एक दूसरा पीसी दिया, जिसने इस मुद्दे को हल कर दिया (एक स्विचबॉक्स दोनों पीसी को झुका दिया, बस आगे और पीछे कूद सकता है) लेकिन इससे पहले मैंने एक वर्चुअल एक्सपी चलाया जो मैंने अपने काम के ओएस के रूप में स्थापित किया था। । वीएम ने कहा कि वीएम को काम से जुड़ने के लिए कहा जाएगा, जो मेरे व्यक्तिगत ओएस ट्रैफिक को काम के प्रतिबंध और जासूसी से मुक्त करेगा।

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