OpenVPN के साथ Google कंप्यूट इंजन पर वीपीएन सर्वर


13

मैं अपने सभी ट्रैफ़िक के लिए Google कंप्यूटर इंजन सर्वर को वीपीएन सर्वर के रूप में उपयोग करने की कोशिश कर रहा हूं (मैं रूस में रह रहा हूं, हमारे यहां सेंसरशिप के साथ कुछ मुद्दे हैं)।

GCE पर VPN के बारे में मिनी-ट्यूटोरियल है , लेकिन यह GCE के अंदर 2 सर्वरों के बीच नेटवर्क के बारे में है और OpenVPN के साथ नहीं है।

मैंने डेबियन पर ओपनवीपीएन के साथ वीपीएन स्थापित करने के बारे में एक अन्य ट्यूटोरियल से सभी कदम उठाए हैं , मैं क्लाइंट से वीपीएन से कनेक्ट कर सकता हूं, लेकिन फिर मैं कनेक्शन नहीं खोल सकता (Google को भी पिंग नहीं कर सकता)। सर्वर पर मैं पिंग कर सकता हूं और हमेशा की तरह सब कुछ डाउनलोड कर सकता हूं।

मेरे पास एक ही सेटअप के साथ लिनोड पर वीपीएन है और यह ठीक काम करता है। तो समस्या GCE नेटवर्क रूटिंग या फ़ायरवॉल नियमों में है।

मैंने बहुत से वेरिएंट आज़माए हैं लेकिन कुछ भी काम नहीं कर रहा है। कृपया, सेटिंग्स को देखें और मुझे बताएं कि मुझे क्या बदलना चाहिए।

// कॉन्फ़िगर लाइनों को हटा दिया गया है, क्योंकि समस्या हल हो गई है //


क्या आईपी अग्रेषण को सक्षम करने का एक तरीका है? गूंज 1> / proc / sys / net / ipv4 / ip_forward
एलेक इस्तोमिन

@AlecIstomin, हाँ, यह हो चुका है। मेरे पास एक ही सेटअप के साथ लिनोड पर वीपीएन है और यह ठीक काम करता है। तो समस्या GCE नेटवर्क रूटिंग या फ़ायरवॉल नियमों में है।
OZ_

शायद GCE समर्थन पूछें? ऐसा लगता है कि वे जिस तरह की चीज का जवाब दे सकते हैं, वे उसी तरह से हैं।
बिल वीस

@ उनके समर्थन की योजना के लिए बिल मूल्य $ 150 / महीने से शुरू होता है, लेकिन अगर यह समस्या सप्ताह में हल नहीं होगी, तो मुझे लगता है कि मैं उन्हें भुगतान करूंगा। इसके अलावा मैं इसे ठीक करने के लिए oDesk पर किसी को खोजने की कोशिश करूंगा और फिर अपने ब्लॉग में ट्यूटोरियल लिखूंगा।
OZ_

odesk.com/jobs/~01c4b1438a64f31fdd - यदि आप मदद कर सकते हैं, तो लोग आवेदन करने में संकोच न करें।
OZ_

जवाबों:


7

सबसे पहले, उसके उत्तर के लिए @ शिव को धन्यवाद ।

और यहाँ त्वरित कैसे है:

  • । टीसीपी:: 22 (अगर मौजूद नहीं), टीसीपी: 9700, टीसीपी: मैं आप अतिरिक्त नेटवर्क बनाने के ( "देख" नेटवर्क "टैब) में नेटवर्क वरीयताओं, के लिए नियमों की इजाजत दी जोड़ने की सलाह देते 17,61917,619 यहाँ चर रहा है - किसी भी करने के लिए परिवर्तन यह आपको पसंद है (सीमा 9075-65534 है) आपको केवल 3 नियम और 2 डिफ़ॉल्ट मार्ग चाहिए, और कुछ नहीं।
  • "कंप्यूट इंजन बनाएं उदाहरण" पर जाएं, "उन्नत विकल्प दिखाएं" पर क्लिक करें, पोर्ट अग्रेषण की अनुमति दें, सर्वर का स्थान चुनें।
  • अब (जब आपने स्थान का चयन कर लिया है), सर्वर पर स्टेटिक आईपी जोड़ें।
  • Ubuntu 14.04 छवि (बिल्कुल यह संस्करण) का चयन करें।
  • उदाहरण बनाएँ
  • SSH के माध्यम से कनेक्ट करें (सबसे आसान तरीका - GCE पैनल से इन-ब्राउज़र टूल का उपयोग करें)
  • sudo su
  • apt-key update && apt-get update && apt-get -y upgrade && apt-get -y install python-software-properties && apt-get -y install software-properties-common && add-apt-repository -y ppa:pritunl && apt-get update && apt-get -y install pritunl
  • ब्राउज़र ओपन में https://instance_ip:9700
  • DB के बारे में सवाल पर, "सहेजें" पर क्लिक करें
  • लॉगिन विंडो में, pritunlउपयोगकर्ता नाम और पासवर्ड के रूप में उपयोग करें
  • अब उपयोगकर्ता नाम और व्यवस्थापक उपयोगकर्ता का पासवर्ड बदलें
  • संगठन जोड़ें, फिर 2 उपयोगकर्ता (डेस्कटॉप और मोबाइल के लिए)
  • "सर्वर" टैब में "सर्वर जोड़ें" पर क्लिक करें
  • पहले चरण ( उदाहरण के रूप में 17619 ) और टीसीपी प्रोटोकॉल से पोर्ट नंबर का उपयोग करें ।
  • सर्वर से संगठन संलग्न करें
  • सर्वर प्रारंभ करें
  • दोनों उपयोगकर्ताओं के लिए "उपयोगकर्ता" टैब डाउनलोड कुंजियाँ (टार अभिलेखागार के अंदर ovpn फ़ाइलों के साथ)।

मैं ओएस एक्स के लिए चिपचिपापन का उपयोग करता हूं और क्लाइंट के रूप में आईओएस के लिए ओपनवीपीएन कनेक्ट करता हूं। चिपचिपाहट में, "नेटवर्किंग" टैब में "वीपीएन कनेक्शन पर सभी ट्रैफ़िक भेजें" विकल्प चालू करें।


बस ध्यान दें: Google क्लाउड प्लेटफ़ॉर्म 60 दिनों के लिए $ 300 के साथ निःशुल्क परीक्षण देता है।
OZ_

1
: Intructions Ubuntu 14.04 बदल पर Pritunl स्थापित करने के लिए github.com/pritunl/pritunl#ubuntu-trusty
motobói

6

आप वीपीएन के माध्यम से पिंग, ट्रेसरआउट ... दो में से एक तरीके से सक्षम होने के बावजूद वेब ब्राउज़ न करने के मुद्दे को हल कर सकते हैं:

सबसे पहले, आप UDP के बजाय TCP प्रोटोकॉल का उपयोग कर सकते हैं, क्लाइंट और सर्वर conf दोनों फाइलों में 'proto tcp' को 'proto udp' में बदलकर।

दूसरा, आप क्लाइंट और सर्वर दोनों प्रकार की फाइलों में 'dev tun' को 'dev tap' में बदलकर, ट्यून के बजाय टैप डिवाइस का उपयोग कर सकते हैं।

यह सुनिश्चित नहीं है कि मुद्दा क्या है, हालांकि ऐसा लगता है कि यह Google के अंत से एक समस्या है।


1
आप मेरे हीरो हैं! आपका बहुत बहुत धन्यवाद! टीसीपी के लिए स्विच ने चाल चली। मैं अलग उत्तर में पूर्ण "हाउ-टू" का विस्तार करूंगा। वह एहसास जब लंबे समय का सपना सच होता है ... धन्यवाद!
OZ_ 12

4

कृपया याद रखें कि Google VPC पैकेट्स को ड्रॉप कर रहा है जिसमें source_ipVM के आंतरिक IP के अलावा अन्य बाहरी IP है।

यह डॉक्टर https://cloud.google.com/compute/docs/vpc/advanced-vpc स्टेट्स:

वीपीसी नेटवर्क आईपी हेडर को फिर से लिखता है, उदाहरण के बाहरी आईपी पते को स्रोत के रूप में घोषित करने के लिए। यदि उदाहरण में कोई बाहरी IP पता नहीं है, तो कॉल की अनुमति नहीं है, और वीपीसी नेटवर्क प्रेषक को सूचित किए बिना पैकेट को छोड़ देता है।

इसलिए यदि आपका ओपनवीपीएन दूसरे नेटवर्क से सिर्फ पैकेट अग्रेषित कर रहा है, तो पैकेट को सार्वजनिक आंतरिक में गिरा दिया जाएगा क्योंकि source_ipयह किसी भी मौजूदा वीएम के आंतरिक आईपी से मेल नहीं खाता है। इस कारण से आपको अपने वीपीएन नोड पर अपने स्थानीय नेटवर्क, जैसे कि पैकेट को नेट करने की आवश्यकता है।

Chain POSTROUTING (policy ACCEPT)
target      prot opt source              destination         
MASQUERADE  all  --  192.168.0.0/16      !192.168.0.0/16

OZ_ उत्तर कार्यों में वर्णित "प्रिटुनल", क्योंकि यह NAT को स्वतः कॉन्फ़िगर करता है।


3

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

फिर भी, मेरा लगभग वही कॉन्फ़िगरेशन है जो आपने ऊपर दिया है (मैंने सर्वर पर dnsmaq को मुश्किल से कॉन्फ़िगर नहीं किया है)

दुर्भाग्य से, वीपीएन अपेक्षा के अनुरूप काम नहीं कर रहा है। मैं कुछ पता लगा सकता हूं, कुछ इंटरनेट होस्ट को पिंग कर सकता हूं और यहां तक ​​कि वीपीएन से कनेक्ट होने के दौरान पूरा पता भी लगा सकता हूं। हालाँकि जब मैं ब्राउज़र खोलता हूं और किसी साइट पर नेविगेट करता हूं, तो कनेक्शन वास्तव में धीमा होता है। मुझे नहीं पता कि क्या कनेक्शन प्रभावित हो सकता है, लेकिन वास्तव में एक अजीब समस्या है।

हो सकता है कि Google का कोई व्यक्ति यह जानने में हमारी मदद करे कि क्या हो रहा है।

PS 1. जैसा कि अन्य लोगों ने पहले सुझाव दिया है, क्या आप यह सत्यापित कर सकते हैं कि क्या आईपी अग्रेषण सक्षम है? मेरे लिए, net.ipv4.ip_forward के मान को सुनिश्चित करने का एकमात्र तरीका रिबूट के बाद ठीक से बहाल किया गया था क्योंकि मैंने /etc/sysctl.d पर एक कस्टम नियम का उपयोग किया था

उदाहरण के लिए, आप निम्नलिखित कमांड का उपयोग करके नियम जोड़ सकते हैं:

$ sudo echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/90-useroverrides.conf

पुनश्च 2. यदि आपके लिए आगे काम करता है, तो क्या आप वीपीएन से कनेक्ट होने पर एक बाहरी होस्ट को ट्रेस मार्ग का परीक्षण कर सकते हैं? जब मुझे ऐसा करने पर जो आउटपुट मिला, वह थोड़ा अजीब है (एक ही आईपी पर कई हॉप्स क्यों हैं ????):

$ sudo traceroute www.yahoo.com -T -p 80 -N 1 -z 0.5 -q 1
traceroute to www.yahoo.com (98.139.183.24), 30 hops max, 60 byte packets
 1  209.85.241.26 (209.85.241.26)  0.764 ms
 2  209.85.241.34 (209.85.241.34)  0.668 ms
 3  209.85.241.26 (209.85.241.26)  0.966 ms
 4  209.85.241.36 (209.85.241.36)  0.702 ms
 5  209.85.241.28 (209.85.241.28)  0.865 ms
 6  209.85.241.36 (209.85.241.36)  0.642 ms
 7  209.85.241.26 (209.85.241.26)  0.921 ms
 8  209.85.241.28 (209.85.241.28)  18.837 ms
 9  72.14.238.107 (72.14.238.107)  13.378 ms
10  72.14.237.131 (72.14.237.131)  38.275 ms
11  209.85.254.131 (209.85.254.131)  13.349 ms
12  *
13  ae-8.pat1.bfz.yahoo.com (216.115.101.231)  44.903 ms
14  ae-4.msr1.bf1.yahoo.com (216.115.100.25)  45.323 ms
15  xe-10-3-1.clr1-a-gdc.bf1.yahoo.com (98.139.232.101)  47.382 ms
16  et18-25.fab6-1-sat.bf1.yahoo.com (98.139.128.103)  45.793 ms
17  po-13.bas1-7-prd.bf1.yahoo.com (98.139.129.209)  41.143 ms
18  ir2.fp.vip.bf1.yahoo.com (98.139.183.24)  42.451 ms

PS 3. केवल एक चीज जो ठीक से काम करती है, वह यह है कि वीपीएन इंटरनेट का उपयोग करने के लिए मेरे होस्ट से बाहरी आईपी का उपयोग कर रहा है

$ sudo curl --interface tun0 checkip.dyndns.org
<html><head><title>Current IP Check</title></head><body>Current IP Address: 107.178.XXX.XXX</body></html>

@OZ_ सुनकर लगता है कि आप वीपीएन से कनेक्ट होने के दौरान अब पिंग और ट्रेसरआउट कर सकते हैं। अब, क्या आप अपने ट्रेसरआउट में से एक का परिणाम पोस्ट कर सकते हैं? मैं उत्पादन की पहली पंक्तियों के बारे में उत्सुक हूं क्योंकि ऐसा लगता है कि पैकेज कम से कम पहले 8 जंप ('एक नेटवर्क विशेषज्ञ नहीं है, हालांकि) के लिए लूप में रूट किया गया है
मारियो

क्षमा करें, यहाँ यह है: gist.github.com/jamm/028ae858a03e40495740 । और हाँ, यह अजीब लग रहा है। शायद हमें कुछ विशिष्ट मार्ग की आवश्यकता है।
ओजेड

1

/etc/sysctl.confबेचैनी से संपादित करें#net.ipv4.ip_forward=1

यह OpenVPN को आपके ट्रैफ़िक को निर्देशित करने की अनुमति देनी चाहिए।


निम्न URL पर इसे करने का एक अच्छा ट्यूटोरियल: ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux
MFT

यह पहली टिप्पणी serverfault.com/questions/590530/…
OZ_

1

आपको Google क्लाउड में अपने वीएम उदाहरण के लिए सक्षम आईपी फ़ॉरवर्डिंग की आवश्यकता है, अन्यथा पैकेट आपके वीएम तक नहीं पहुंचेंगे। ध्यान दें, यह net.ipv4.ip_forward = 1उस से अलग है जिसे आप अपने वीएम में सेट कर सकते हैं।

एक वीएम बनाने से पहले आईपी अग्रेषण केवल एक बार सेट किया जा सकता है, और बाद में संशोधित नहीं किया जा सकता है। नए VM क्लिक के लिए इसे सक्षम करने के लिए Management, security, disks, networking, sole tenancy: यहाँ छवि विवरण दर्ज करें

फिर, Networkingटैब पर क्लिक करें Network Interfaceऔर IP अग्रेषण को इसमें सेट करें ON:

यहाँ छवि विवरण दर्ज करें


0

आपको उस नियम को जोड़ना होगा जो OpenVPN के लिए ट्रैफ़िक की अनुमति देता है:

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

नियम 4 के रूप में मौजूद है
OZ_

0

नेटवर्क के बारे में।

1) कंसोल पर OpenVPN सबनेट (जैसे 10.8.0.0/24) से सभी ट्रैफ़िक सक्षम करें

2) मैं दृढ़ता से आपको अपने नेटवर्क में बहाना जोड़ने के लिए सुझाव दूंगा

firewall-cmd --zone=trusted --add-masquerade --permanent
firewall-cmd --reload-all

3) कर्नेल में पैकेट रूटिंग को सक्षम करने के लिए मत भूलना

क) एक बार

 echo 1 > /proc/sys/net/ipv4/ip_forward

बी) /etc/sysctl.conf में हमेशा के लिए:

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