एक वीबीएन सर्वर के रूप में उबंटू को सेटअप करने का सबसे आसान तरीका


68

मुझे पता है कि वीपीएन क्लाइंट और सर्वर स्थापित करने के लिए नेट पर कई ट्यूटोरियल हैं।

मुझे लगता है कि आप एक सरल / छोटा है , मैं केवल सर्वर भाग में रुचि रखता हूँ।

क्लाइंट के लिए, मैं ओएस एक्स का उपयोग करूंगा, इसलिए मैं एक समाधान पसंद करता हूं जो उपयोग करता है L2TP over IPsecया PPTPक्योंकि मुझे लगता है कि सिस्को IPsec कुछ खर्च करेगा।

मैं इसे स्थापित करने में कई घंटे खर्च नहीं करना चाहता। तुम्हें पता है, शायद किसी को पहले से ही एक स्क्रिप्ट स्क्रिप्ट बनाया :)

नोट: मैं इस पर Ubuntu 12.04 चलाने वाले EC2 माइक्रो इंस्टेंस का उपयोग कर रहा हूं।


3
नोट: CISCO IPSec को स्ट्रोंगस्वान और बहुत सारे कॉन्फ़िगरेशन के माध्यम से प्राप्त किया जा सकता है, लेकिन यह मुश्किल है। PPTP अब सुरक्षित नहीं है। IPSec पर AND L2TP को L2TP और IPSec दोनों कॉन्फ़िगरेशन की आवश्यकता है। , अपने खाली समय में उठाओ हालांकि मेरा उत्तर PPTP बताते हैं
थॉमस वार्ड

जवाबों:


24

अद्यतन : सिएरा के रूप में, macOS अब PPTP vpn का समर्थन नहीं करता है। यह जवाब macOS क्लाइंट सिएरा और उससे आगे के लिए मान्य नहीं है।

PoPToP के माध्यम से PPTP आसान है

  1. apt-get install pptpd
  2. /etc/pptpd.confअपने नेटवर्क पर एक सीमा तक रिमोट विकल्प को संपादित और सेट करें जो आपके डीएचसीपी सर्वर द्वारा सेवा नहीं दिया गया है।
  3. /etc/ppp/chap-secretsउपयोगकर्ता नाम और पासवर्ड को संपादित करें और जोड़ें

जैसे

vpnuser pptpd vpnpassword *

यह सब सेटअप पीपीपी के लिए होता है। अब इसे अपने OS X क्लाइंट के साथ टेस्ट करें।


मैं यह भी सोच रहा हूं कि कौन से स्थानीय और रिमोट वैल्यू सबसे सुरक्षित हैं, यह देखते हुए कि मैं किसी भी स्थान से इस सर्वर से जुड़ने जा रहा हूं। निश्चित रूप से डिफ़ॉल्ट मान के साथ 192.168.0.और 192.168.1.संभवतः सबसे खराब संभवों में से एक है।
सोरिन

12 मई 13:28:06 zork pppd [9447]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so लोड किया गया। मई 12 13:28:06 zork pppd [9447]: pppd 2.4.5 रूट द्वारा शुरू, uid 0 मई 12 13:28:06 zork pppd [9447]: इंटरफ़ेस ppp0 का उपयोग करना 12 मई 13:28:06 zork pppd [9447] ]: कनेक्ट: ppp0 <-> / dev / pts / 3 मई 12 13:28:36 zork pppd [9447]: हैंगअप (SIGHUP) 12 मई 13:28:36 zork pppd [9447]: मॉडेम हैंगअप 12 मई 13 : 28: 36 zork pppd [9447]: कनेक्शन समाप्त। 12 मई 13:28:36 zork pppd [9447]: Exit.It अभी तक काम नहीं करता है! आपका गाइड अधूरा है (अभी तक);)
12:30

हाँ, यह काम नहीं करता है।
बेंकेनसा

1
मेरे लिए काम नहीं किया
Tyler Gillies

@SorinSbarnea वे ips निजी हैं और कभी भी इंटरनेट पर नहीं जाते हैं, इसलिए मुझे नहीं पता कि आप "सबसे सुरक्षित" से क्या मतलब है। यदि वे कैफे, या कार्यस्थल जिससे आप कनेक्ट कर रहे हैं, वे समान आईपी रेंज नहीं हैं, तो आपके पास सबसे अच्छा भाग्य होगा। 192.168.42 का प्रयास करें। * :)
Jay _silly_evarlast_ Wren

86

चेतावनी: PPTP एक INSECURE PROTOCOL है! न केवल एन्क्रिप्शन का उल्लंघन किया गया है, लेकिन यह आपके प्रमाणीकरण को स्पष्ट पाठ में भेजता है और आसानी से इंटरसेप्ट किया जाता है। यह अनुमान लगाया गया है कि पासवर्ड को ब्रूट-फोर्स करने के लिए आवश्यक समय की मात्रा, किसी डीईएस की कुंजी को ब्रूट-फोर्स के लिए आवश्यक समय के बराबर है। PPTP के बजाय OpenVPN या किसी अन्य VPN आर्किटेक्चर का उपयोग करने पर विचार करें!

मैंने अपने Ubuntu 12.04 सर्वर पर PPTP VPN सर्वर सेट करने के लिए इस गाइड का उपयोग किया ।


लिंक में मुख्य बिंदुओं को संक्षेप में प्रस्तुत करना है, हालांकि:

1: स्थापित करें pptpdऔर ufwiptablesufw के स्थान पर इस्तेमाल किया जा सकता है, लेकिन आसानी के लिए, ufwबेहतर है यदि आप नहीं जानते हैं iptables

sudo apt-get install pptpd ufw

2: आवश्यक पोर्ट खोलें। गाइड पीपीपी वीपीएन के लिए 22 (एसएसएच) और 1723 का सुझाव देता है।

सूद ufw 22 की अनुमति दें
सूडो ufw 1723 की अनुमति दें
सूद ufw सक्षम करें

3: संपादित करें /etc/ppp/pptpd-options। फ़ाइल को अपने पसंदीदा संपादक (मेरा नैनो, इसलिए मेरे लिए कमांड है sudo nano /etc/ppp/pptpd-options) के साथ खोलें , और इन पंक्तियों को #उनके सामने रख कर टिप्पणी करें, यदि आप चाहते हैं कि यह सभी ओएस पर सार्वभौमिक रूप से काम करे:

मना-पैप
मना-तड़कना
मना-MSCHAP

यदि आप एन्क्रिप्शन को अक्षम करना चाहते हैं, तो आप इस लाइन पर टिप्पणी कर सकते हैं: require-mppe-128

4: संपादन करते समय /etc/ppp/pptpd-options, VPN के लिए DNS सर्वर जोड़ें। यह उदाहरण OpenDNS सर्वर का उपयोग करता है:

एमएस-डीएनएस 208.67.222.222
एमएस-डीएनएस 208.67.220.220

5: संपादित करें /etc/pptpd.conf। अपने पसंदीदा संपादक (मेरा नैनो है, इसलिए मेरे लिए कमांड है sudo nano /etc/pptpd.conf) के साथ फाइल खोलें । आपको सिस्टम के लिए स्थानीय वीपीएन आईपी जोड़ने की आवश्यकता है, इसलिए जोड़ें:

लोकलिप 10.99.99.99
रिमोट 10.99.99.100-199

यदि आपका सिस्टम VPS है, तो "लोकिप" के लिए सार्वजनिक IP का उपयोग करें। यदि यह नहीं है और एक स्थानीय नेटवर्क पर है, तो अपने कंप्यूटर के नेटवर्क आईपी का उपयोग करें। यदि ये IP आपके सबनेट पर मौजूद हैं, तो विभिन्न IP और रेंज का उपयोग करें! यदि आपको अपने VPS का सार्वजनिक आईपी पता नहीं है, तो उसे चलाकर खोजेंdig +short myip.opendns.com @resolver1.opendns.com

6: संपादित करें /etc/ppp/chap-secrets। फ़ाइल को अपने पसंदीदा संपादक (मेरा नैनो, इसलिए मेरे लिए कमांड है sudo nano /etc/ppp/chap-secrets) के साथ खोलें , और डेटा जोड़ें।
इसके लिए प्रारूप /etc/ppp/chap-secretsहै:

[उपयोगकर्ता नाम] [सेवा] [पासवर्ड] [स्वीकृत आईपी पता]

एक उदाहरण होगा: sampleuser pptpd samplepassword *

7: pptpd को पुनरारंभ करें। टर्मिनल में यह कमांड चलाएँ:sudo /etc/init.d/pptpd restart

8: संपादित करें /etc/sysctl.conf। अपने पसंदीदा संपादक (मेरा नैनो है, इसलिए मेरे लिए कमांड है sudo nano /etc/sysctl.conf) के साथ फाइल खोलें । निम्नलिखित पंक्ति को अन-कमेंट करें ( #इसकी शुरुआत में इसे हटाकर ) /etc/sysctl.conf: net.ipv4.ip_forward=1
कॉन्फ़िगरेशन को पुनः लोड करें: sudo sysctl -p

9: यह कदम मानता है कि आपके पास ufw है।
संपादित करें /etc/default/ufwऔर विकल्प को बदलने DEFAULT_FORWARD_POLICYसे DROPकरने के लिएACCEPT

10: यह कदम मानता है कि आपके पास ufw है।
संपादित करें /etc/ufw/before.rules, और नियमों की शुरुआत से /etc/ufw/before.rulesपहले या तो निम्नलिखित जोड़ें *filter(अनुशंसित):

# NAT तालिका नियम
* नेट

: पोस्टिंग खाता [0: 0]
# Eth0 को फॉरवर्ड ट्रैफ़िक की अनुमति दें
-एक पोस्टिंग -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# एनएटी टेबल नियमों की प्रक्रिया करें
COMMIT

यदि आपके पास कर्नेल संस्करण 3.18 और नया है (आप इसे चलाकर जांच सकते हैं uname -r), लाइन से पहले निम्नलिखित पंक्तियाँ भी जोड़ें # drop INVALID packets ...:

-A ufw-before-input -p 47 -j ACCEPT

11: नियम सेटों को रीफ्रेश करने के लिए और /etc/ufw/*.rulesफाइलों में हमारे द्वारा जोड़े गए नियमों को लागू करने के लिए फ़ायरवॉल को फिर से शुरू करें: sudo ufw disable && sudo ufw enable

चेतावनी: यदि आपके पास ऐसे अन्य पोर्ट हैं जिनकी आपको आवश्यकता है, जैसे कि HTTPS के लिए यदि आपका सर्वर किसी वेबसाइट को होस्ट करता है, तो आपको व्यक्तिगत रूप से उन पोर्ट को अनुमत सूची में जोड़ने की आवश्यकता हैsudo ufw allow <PORT>


4
अब मैं क्या करूं: डी: मुझे मिल गया है कि सर्वर पर काम कर रहा हूं, कोई विचार नहीं है कि इसे कैसे कनेक्ट किया जाए
जेमी हटबर

1
@Jamie नेटवर्क मैनेजर के अंदर प्रलेखन का उल्लेख नहीं करने के लिए वीपीएन से कनेक्ट करने पर पूछें उबंटू पर यहां अन्य दस्तावेजों और प्रविष्टियों का एक टन है। यह प्रश्न केवल वीपीएन, और सर्वर साइड की स्थापना को कवर करता है। इससे जुड़ा हिस्सा नहीं।
थॉमस वार्ड

: डी सुपर फास्ट प्रतिक्रिया: DI मुझे लगता है कि मैंने इसे काम किया हो सकता है, मुझे बस कुछ गलत सेट करना होगा। यह कहा गया कि ufw सक्रिय है और अधिकांश बंदरगाहों की अनुमति देता है। मैं iptables के साथ खेलूंगा अगर यह मुझे वैसे भी मिल जाए
जेमी हटबर

@ जैमी मैं आपको iptables कमांड दे सकता हूँ जब मैं आप के घर जाऊँगा उपयोग करने के लिए ufw को iptables पसंद करते हैं।
थॉमस वार्ड

1
iptables / netfilter का उपयोग ufw के साथ किया जाता है, ufw नियमों और आदेश उपयोगकर्ताओं के लिए हैंडलिंग के साथ सिर्फ अच्छा है।
थॉमस वार्ड

19

Ubuntu 12.04 उदाहरण पर PPTP वीपीएन

यहां उबंटू 12.04 पर एक बुनियादी पीपीटीपी वीपीएन सर्वर स्थापित करने के लिए एक त्वरित ट्यूटोरियल है।

आवश्यक पैकेज स्थापित करें

                          sudo apt-get install ppp pptpd

सर्वर पर PPTP IP रेंज कॉन्फ़िगर करें

                          sudo nano /etc/pptpd.conf

निम्नलिखित पंक्तियों को अंत में जोड़ें

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

PPTP क्लाइंट को IP रेंज 10.89.64.100 से 10.89.64.150 को PPTP क्लाइंट को वितरित करते समय IP 10.89.64.1 का उपयोग करने के लिए यह सेट करता है। जब तक आप निजी आईपी पते हैं, तब तक इन्हें बदलें और अपने सर्वर द्वारा पहले से उपयोग किए गए आईपी पते के साथ संघर्ष न करें।

DNS सर्वर को उस पीपीटीपी सर्वर से कनेक्ट होने पर उपयोग करने के लिए कॉन्फ़िगर करें

                          sudo nano /etc/ppp/pptpd-options

संशोधित करें या अंत में निम्नलिखित पंक्तियाँ जोड़ें

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

एक PPTP उपयोगकर्ता बनाएँ

                          sudo nano /etc/ppp/chap-secrets

नीचे एक पंक्ति में संलग्न करें ताकि आपकी फ़ाइल कुछ इस तरह दिखे:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

PPTP कनेक्शंस के लिए NAT कॉन्फ़िगर करें

इस चरण के बिना आप कनेक्ट कर पाएंगे लेकिन आपका कनेक्शन इस सर्वर से कोई वेब कनेक्शन लोड नहीं कर पाएगा।

                          sudo nano /etc/rc.local

"निकास 0" लाइन से पहले दाईं ओर नीचे में जोड़ें:

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Eth0 को मानते हुए, आप ifconfigनेटवर्क नाम की जांच करने के लिए उपयोग कर सकते हैं ।

IPv4 forwading सक्षम करें:

                          sudo nano /etc/sysctl.conf

निम्नलिखित लाइन को रद्द करें:

                          net.ipv4.ip_forward=1

फिर कॉन्फ़िगरेशन पुनः लोड करें:

                          sudo sysctl -p

अपने VPS को रिबूट करें और सब कुछ किसी भी PPTP क्लाइंट से तैरकर काम करना चाहिए।


क्लाइंट साइड कॉन्फ़िगरेशन

मैक के लिए, सुनिश्चित करें कि आपने PPTP VPN कनेक्शन जोड़ा है। इसके अलावा आपको केवल ऑथेंटिकेशन सेटिंग में सर्वर एड्रेस, अकाउंट नेम और पासवर्ड सेटअप करना होगा। यहां कोई दर्द नहीं।

Linux के लिए, NetworkManager VPN कनेक्शन जोड़ने के लिए। सुनिश्चित करें कि आपने PPTP VPN कनेक्शन जोड़ा है। और मेरे द्वारा उपयोग किया जाने वाला विन्यास यहां है:

पीपीटीपी / वीपीएन क्लाइंट कनेक्शन को डिबग और फिक्स कैसे करें

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

और विंडोज के लिए

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


क्या यह विधि Ubuntu 12.04 गैर-सर्वर संस्करण पर भी काम करती है? इस वीपीएन नेटवर्क से कनेक्ट करने के लिए क्लाइंट को किस आईपी नंबर का उपयोग करना होगा?
रसूल 29'13

हां यह नॉन-सर्वर संस्करण के लिए भी है, आपको vpn @Rasoul
Qasim

काम नहीं करता है, Ubuntu सर्वर 13.04। क्लाइंट DNS की तलाश में फंस गया।
knutole

@knutole जाँचें कि आपके IPTables नियम ठीक से चल रहे हैं। सुनिश्चित करें कि आपके पास en0 इंटरफ़ेस है और इसका नाम कुछ और नहीं है। आपको सूचीबद्ध एक सार्वजनिक आईपी पता देखना चाहिए।
निक वुडहम्स

ठीक है, इसलिए, आपके उदाहरण में कौन सा आईपी सर्वर आईपी है? 10.89.64.1? फिर उबंटू नेटवर्क मैनेजर में क्लाइंट 10.89.64.1 को गेटवे के रूप में सूचीबद्ध करेगा?
dranxo

9

इस सूत्र पर अन्य उत्तर मेरे मामले में केवल आंशिक उत्तर थे। यहाँ मेरे लिए Ubuntu 12.04.3 पर काम किया गया है

sudo apt-get install pptpd

/Etc/pptpd.conf (IP पता कोई फर्क नहीं पड़ता, के लिए निम्नलिखित को लागू करें यह आपके ppp0 इंटरफ़ेस के लिए केवल IP पता है।)

localip 10.0.0.1
remoteip 10.0.0.100-200

DNS सर्वर को / etc / ppp / pptpd-options में जोड़ें

ms-dns 8.8.8.8
ms-dns 8.8.4.4

IP अग्रेषण सक्षम करें

sudo vim /etc/sysctl.conf

इस लाइन को रद्द करें

net.ipv4.ip_forward=1

परिवर्तनों को सुरक्षित करें

sudo sysctl -p /etc/sysctl.conf

संपादित करें / etc / ppp / chap- राज़, इस प्रारूप में एक वीपीएन उपयोगकर्ता जोड़ें:

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

PPTP को पुनरारंभ करें

service pptpd restart

ifconfigअपने डिफ़ॉल्ट इंटरफ़ेस को चलाएं और ढूंढें, मेरे मामले में यह br0 था (मैंने इंटरफ़ेस को साझा करने के लिए अपनी भौतिक मशीन पर आभासी मशीनों की अनुमति देने के लिए इसे बदल दिया। आपका शायद en0 होगा )

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

IPtables का बैकअप लें

iptables-save > ~/iptables.save

अब अपने iptables परिवर्तनों को अपने डिफ़ॉल्ट इंटरफ़ेस का उपयोग करें जैसा कि ifconfig द्वारा किया गया है।

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT

अपने सिस्टम को रिबूट करने पर इसे लगातार बनाए रखने के लिए;

sudo apt-get install iptables-persistent

क्लाइंट कंप्यूटर पर वीपीएन जोड़ें (मैक)

सिस्टम वरीयताएँ> नेटवर्क> [+]> वीपीएन

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

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

फिर प्रमाणीकरण सेटिंग्स> पासवर्ड चुनें, फिर यहां अपना पासवर्ड भरें

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


7

यहाँ एक बहुत प्यारी परियोजना है जो OpenVPN दर्द को दूर करती है:

https://github.com/Nyr/openvpn-install

बस इसे चलाएं और यह ओपन वीपीएन इंस्टॉल करेगा और इसे कॉन्फ़िगर करेगा। अंत में यह एक client.ovpn फ़ाइल को पॉप आउट करेगा जिसे आप क्लाइंट को सेटअप करने के लिए उपयोग कर सकते हैं। बहुत अच्छा काम करने लगता है।


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