मैं अपने खुद के उबंटू सर्वर पर पीपीटीपी वीपीएन कैसे स्थापित कर सकता हूं?


16

यह मानते हुए कि मेरे पास लाइनोड जैसे किसी उबंटू से चलने वाला वर्चुअल प्राइवेट सर्वर है , मैं आसानी से पीपीटीपी वीपीएन कैसे सेट कर सकता हूं ताकि उबंटू क्लाइंट इससे जुड़ सकें?

डिफ़ॉल्ट रूप से, Ubuntu इन PPTP नेटवर्क से जुड़ने की पेशकश करता है। मैं इसे इस तरह से सेट करना चाहता हूं कि इसे कनेक्ट करना बहुत आसान हो (यानी क्लाइंट पर कोई पैकेज स्थापित किए बिना)।

जवाबों:


28

निरपेक्ष न्यूनतम सर्वर सेटअप

निम्न न्यूनतम निर्देश हैं जो आपको Ubuntu के तहत चलने वाला एक मूल PPTP VPN सर्वर प्राप्त करने की आवश्यकता है। ग्राहक तब वीपीएन सर्वर में सक्षम होंगे और अपने इंटरनेट ट्रैफ़िक को रूट कर सकते हैं ताकि यह सर्वर से इंटरनेट तक जाए। हमेशा की तरह, सब कुछ क्या कर रहा है यह समझने के लिए पूर्ण प्रलेखन से परामर्श करें ।

सबसे पहले, आवश्यक सॉफ़्टवेयर स्थापित करें:

sudo apt-get install pptpd

दूसरा, /etc/sysctl.confip_forward में संबंधित लाइन को अनइंस्टॉल करके IPv4 के लिए कर्नेल में सक्षम करें :

sudo sed -i -r 's/^\s*#(net\.ipv4\.ip_forward=1.*)/\1/' /etc/sysctl.conf
# Reload the config file to have the change take effect immediately.
sudo -i sysctl -p

तीसरा, NAT को सक्षम करें (यदि यह पहले से सक्षम नहीं है) ताकि निजी वीपीएन नेटवर्क पर उपयोगकर्ता अपने पैकेट को इंटरनेट पर भेज सकें:

OUTIF=`/sbin/ip route show to exact 0/0 | sed -r 's/.*dev\s+(\S+).*/\1/'`
sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
# Enable NAT on boot from the rc.local script.
CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
sudo sed -i "\$i$CMD\n" /etc/rc.local

नोट: यह मार्गदर्शिका मानती है कि आपके पास सर्वर पर कोई फ़ायरवॉल कॉन्फ़िगर नहीं है। यदि आपके पास सर्वर पर फ़ायरवॉल है, जैसे कि UFW , तो इसके बजाय संबंधित दस्तावेज़ से परामर्श करें ।

चौथा, प्रत्येक वीपीएन उपयोगकर्ता के लिए, फ़ाइल / आदि / पीपीपी / चैप-सीक्रेट्स में एक खाता बनाएँ । $USERउस वीपीएन उपयोगकर्ता के लिए उपयोग किए जाने वाले वास्तविक उपयोगकर्ता नाम से बदलें ।

KEY=`head -c 20 /dev/urandom | sha1sum | nawk '{print $1}'`
echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets

अंत में, आप के लिए तैयार हैं ...

क्लाइंट को कॉन्फ़िगर करें

में नेटवर्क प्रबंधक एप्लेट , चयन वीपीएन कनेक्शनकॉन्फ़िगर वीपीएन , उसके बाद जोड़ें । अगली स्क्रीन पर VPN प्रकार के लिए PPTP चुनें , फिर Create पर क्लिक करें

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

इस विंडो में, अपने सर्वर के होस्टनाम या आईपी को उस यूजरनेम और कुंजी के साथ दर्ज करें जिसे आपने सर्वर पर / etc / ppp / chap-secret फाइल में जोड़ा है ।

अब Advanced पर क्लिक करें ।

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

इस विंडो में, "प्वाइंट-टू-प्वाइंट एन्क्रिप्शन (एमपीपीई) का उपयोग करें" सक्षम करें और 128-बिट सुरक्षा का चयन करें । MSCHAP प्रमाणीकरण का उपयोग अक्षम करें ( MSCHAPv2 सक्षम छोड़ें )।

अंत में, पिछली विंडो को बंद करने के लिए Ok पर क्लिक करें और फिर सेव करें

अब आप नेटवर्क प्रबंधक एप्लेट → वीपीएन कनेक्शंस पर जाकर वीपीएन कनेक्शन का परीक्षण कर सकते हैं और उस कनेक्शन का चयन कर सकते हैं जो आपने बनाया था। सुनिश्चित करें कि आपको एक संदेश मिला है जिसमें कहा गया है कि वीपीएन कनेक्शन सफल था, फिर यह देखने के लिए कि आपके आईपी अब सर्वर के आईपी के रूप में दिखाई देता है , यह देखने के लिए एक आईपी ​​चेकिंग वेबसाइट पर ब्राउज़ करें ।

यदि आपको यह कहते हुए एक संदेश मिलता है कि सर्वर से वीपीएन कनेक्शन विफल हो गया है: पहले सत्यापित करें कि आपने क्लाइंट सेटिंग्स को सही ढंग से दर्ज किया है; दूसरा, जांचें कि क्लाइंट के पास सर्वर पर टीसीपी पोर्ट 1723 में नेटवर्क कनेक्टिविटी है; अंत में, आगे के सुराग के लिए सर्वर पर लॉग फ़ाइल / var / log / संदेश की जाँच करें । यदि आपका वीपीएन कनेक्शन सफल होता है, लेकिन आप बाद में क्लाइंट से किसी भी वेबसाइट को ब्राउज़ करने में असमर्थ हैं, तो पीपीटीपी वेबसाइट पर इस अविश्वसनीय रूप से उपयोगी नैदानिक ​​गाइड से परामर्श करें।

टिप्पणियाँ

यदि आप जिस स्थानीय नेटवर्क से जुड़े हैं, वह 192.168.0.0/24 और 192.168.1.0/24 सबनेट का उपयोग कर रहा है, तो आप मुद्दों में चलाने जा रहे हैं क्योंकि यही पीपीटीपी सर्वर डिफ़ॉल्ट रूप से उपयोग करता है। Pptpd.conf में विभिन्न सबनेट का उपयोग करने के लिए आपको PPTP को कॉन्फ़िगर करना होगा ।

कई अन्य कॉन्फ़िगरेशन परिवर्तन हैं जिन्हें आप करना चाहते हैं। उदाहरण के लिए, आपके सभी डोमेन नाम लुकअप को अभी भी PPTP सर्वर से गुजरने के बजाय आपके स्थानीय DNS सर्वर का उपयोग करके क्वेरी किया जाएगा। इस दस्तावेज़ और कई अन्य लोगों को कैसे बदलना है, यह जानने के लिए पूर्ण प्रलेखन पर पढ़ने का समय निकालें।


4

मेरे द्वारा लिखा गया यह ट्यूटोरियल आपको मार्गदर्शन करेगा। यह VPS का उपयोग करके लोगों द्वारा की जाने वाली सामान्य गलतियों से बचने में आपकी मदद करनी चाहिए।

सबसे पहले अपने VPS पैनल में लॉगिन करें और TUN / TAP और PPP सक्षम करें । यदि आपके पास ऐसा कोई विकल्प नहीं है तो अपने आईएसपी से संपर्क करें ताकि यह आपके लिए सक्षम हो सके।

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

पहले इस पैकेज को स्थापित करें:

sudo apt-get install pptpd

क्योंकि हम नहीं चाहते कि हमारा वीपीएन सार्वजनिक हो, हम उपयोगकर्ता बनाने जा रहे हैं।
मैं VI का उपयोग कर रहा हूं आप नैनो या जो भी पाठ संपादक पसंद करते हैं, का उपयोग कर सकते हैं

vi /etc/ppp/chap-secrets

प्रारूप है

[username] [service] [password] [ip]

उदाहरण

john pptpd johnspassword *

* इसका मतलब है कि सभी आईपी पतों की पहुंच की अनुमति है, आईपी को केवल तभी निर्दिष्ट करें जब आपके पास एक स्थिर हो।

PPTPD सेटिंग्स का संपादन

vi /etc/pptpd.conf

स्थानीय और दूरस्थ सेटिंग्स के लिए देखें। #दोनों के लिए (टिप्पणी चरित्र) निकालें ताकि ये सेटिंग्स वास्तव में पहचानी जा सकें। स्थानीय सर्वर को अपने सर्वर आईपी में बदलें। यदि आपको अपना सर्वर IP नहीं पता है, तो आप अपने VPS कंट्रोल पैनल में देख सकते हैं।

रिमोट मूल रूप से आईपी रेंज है जिसे क्लाइंट (कंप्यूटर जो आपके वीपीएन से जुड़े हैं) को सौंपा जाएगा। उदाहरण के लिए, यदि आप निम्नलिखित आईपी रेंज चाहते हैं: 192.168.120.231-235, तो आपका वीपीएन सर्वर ग्राहकों को 192.168.120.232, 192.168.120.233, 192.168.120.234, और 192.168.120.235 आवंटित करने में सक्षम होगा। यह आपके ऊपर है कि आप इस क्षेत्र के लिए क्या उपयोग करना चाहते हैं।

व्यक्तिगत रूप से मैं यह सेटिंग्स चुनता हूं:

localip 10.0.0.1
remoteip 10.0.0.100-200

तो मुझे लगभग 200 ग्राहक जुड़े हुए मिल सकते हैं।

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

ms-dns 8.8.8.8
ms-dns 8.8.4.4

आप चाहे तो इसे फ़ाइल के अंत में जोड़ सकते हैं या उन पंक्तियों को खोज सकते हैं, उन्हें अनलिम कर सकते हैं और अपने इच्छित सार्वजनिक DNS में IP बदल सकते हैं।

अग्रेषण सेट अप करें

अपने पीपीटीपी सर्वर पर आईपी अग्रेषण को सक्षम करना महत्वपूर्ण है। यह आपको सार्वजनिक आईपी और निजी आईपी के बीच पैकेट को अग्रेषित करने की अनुमति देगा जिसे आप पीपीटीपी के साथ सेटअप करते हैं। बस /etc/sysctl.conf को संपादित करें और निम्न पंक्ति जोड़ें यदि यह वहां पहले से मौजूद नहीं है:

net.ipv4.ip_forward = 1

परिवर्तनों को सक्रिय बनाने के लिए, चलाएं sysctl -p

Iptables के लिए NAT नियम बनाएँ

यह एक महत्वपूर्ण हिस्सा है, अगर आप VPS का उपयोग कर रहे हैं, तो आप शायद eth0 का उपयोग नहीं करेंगे, लेकिन इसके बजाय venet0, आपको यह देखना चाहिए कि आप कौन सा इंटरफ़ेस चलाकर ifconfig

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

यदि आप अपने पीपीटीपी ग्राहकों को एक-दूसरे से बात करना भी पसंद करते हैं, तो निम्नलिखित iptables नियम जोड़ें:

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 eth0 -j ACCEPT

यदि आप VPS का उपयोग कर रहे हैं, तो फिर से, आपको eth0 को ven0 के साथ बदलना होगा।

मैं दौड़ने की सलाह दूंगा

sudo iptables-save

अब आपका PPTP सर्वर एक राउटर के रूप में भी काम करता है।

आप इस कमांड को चला सकते हैं इसलिए वीपीएन सेवा बूट पर शुरू होती है

systemctl enable pptpd

मैं iptables-persistent स्थापित करने की सलाह देता हूं ताकि नियम रिबूट के बाद भी बने रहें

sudo apt-get install -y iptables-persistent

लिंक कहीं भी नहीं जाएगा, मुख्य रूप से मैं इस डोमेन नाम को कभी भी जारी नहीं करूंगा, दूसरी बात यह है कि यह मेरा होस्टिंग सर्वर है, तीसरा मुझ पर विश्वास करें: डीआई वास्तव में यहां केवल कॉपी-पेस्ट ट्यूटोरियल नहीं कर सकता है यह बहुत लंबा है।
लुका

मुझे डर है कि हम इस साइट पर केवल लिंक के उत्तर स्वीकार नहीं करते हैं। इस प्रकार यह उत्तर जल्द ही हटा दिया जाएगा, जैसा कि आप देख सकते हैं, यह पहले से ही समीक्षा कतार में है (मेरी पिछली टिप्पणी में लिंक)।

ज़न्ना बहुत धन्यवाद! @Pranoid पांडा अच्छी तरह से तो आप मेरा ऊपर का जवाब हटा दें जिसमें 2 वोट हैं क्योंकि इसमें लिंक है: P
Luka

1
यहां समस्या यह थी कि उत्तर केवल लिंक था। इसका मतलब यह है कि यदि लिंक किसी भी कारण से नीचे जाना था (भले ही लिंक माना जाता है कि नीचे कभी नहीं जाएगा), तो उत्तर अमान्य हो जाएगा। अब जब उत्तर स्व-निर्भर हो गया है (और संदर्भ के लिए लिंक का उपयोग कर रहा है), तो इसका उत्तर ठीक-ठीक है। वर्तमान में प्रश्न का उत्तर तब तक हटाया जा रहा है, जब तक कि वह आपकी पोस्ट की तरह अनुकूलित न हो जाए।
काज वोल्फ

1
आपका बहुत स्वागत है, ट्यूटोरियल बनाने के लिए धन्यवाद। अगली बार इस लंबाई का पद बनाने से न डरें; यह पूरी तरह से स्वीकार्य है।
ज़न्ना

3

इस ट्यूटोरियल का अनुसरण करें: उबंटू के साथ पीपीटीपी वीपीएन सर्वर

  1. सॉफ़्टवेयर चयन के तहत मशीन के दूरस्थ प्रबंधन के लिए ओपनएसएसएच सर्वर - और वास्तविक पीपीटीपी पैकेज के लिए मैनुअल पैकेज चयन का चयन करें। यदि आप अधिक सेवाएँ चाहते हैं, उदाहरण के लिए यदि आप कंप्यूटर को वेबसर्वर के रूप में भी उपयोग करना चाहते हैं, तो आप अतिरिक्त सॉफ़्टवेयर का चयन कर सकते हैं। सुरक्षा कारणों से, मैं आमतौर पर लोगों को सलाह देता हूं कि यदि कोई महत्वपूर्ण वातावरण में स्थापित किया गया है तो प्रति मशीन केवल बाहर की सुलभ सेवा से चला सकता है, लेकिन वास्तव में यह आपके ऊपर है।

  2. मैनुअल चयन में स्थापित संकुल> नेट पर नेविगेट न करें जहाँ आपको pptpd मिलेगा। इसे चुनें और पैकेज को स्थापित करने के लिए दो बार 'जी' दबाएं।

  3. इंस्टालेशन को पूरा होने दें और अपने सिस्टम को रिबूट करें।

  4. अपने नए सेट अप मशीन में SSH और sudo aptitude update && sudo aptitude safe-upgradeसभी पैकेजों को अपडेट करने के लिए सबसे पहले दौड़ें । यदि आवश्यक हो तो रिबूट करें।

  5. Pptpd.conf फ़ाइल खोलें: sudo nano /etc/pptpd.confअपनी आवश्यकताओं के नीचे IP सेटिंग्स समायोजित करें। स्थानीय आईपी के तहत आप अपने वीपीएन सर्वर के स्थानीय नेटवर्क में आईपी दर्ज करते हैं (यदि आप नहीं जानते हैं कि यह 'sudo ifconfig' टाइप करता है और यह आपको आपके नेटवर्क इंटरफेस और असाइन किए गए आईपी दिखाएगा)। उस मामले के लिए मैं / etc / नेटवर्क / इंटरफेस या आपके राउटर कॉन्फ़िगरेशन में एक स्थिर IP सेट करने की सलाह देता हूं।

  6. यदि आप चाहते हैं, तो आप hostname को बदल सकते हैं /etc/ppp/pptpd-options

  7. उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें जिसे आप अपने वीपीएन तक पहुँच देना चाहते हैं sudo nano /etc/ppp/chap-secrets:। यदि आपने होस्टनाम को चरण में बदल दिया है, तो सुनिश्चित करें कि आप अब उसी होस्टनाम में टाइप करते हैंserver

    उदाहरण:

    # client        server  secret                  IP addresses
    eubolist   pptpd   myübersecretpassword   *
    

    जैसे कि pptp में कोई कीफ़ाइल सुरक्षा नहीं है, केवल पासवर्ड पर निर्भर करता है। यही कारण है कि आपको एक लंबा (जैसे 32 अक्षर), यादृच्छिक पासवर्ड चुनना चाहिए। आप यहां इस तरह का पासवर्ड जनरेट कर सकते हैं।

  8. अब हमें ip-masquerading स्थापित करने की आवश्यकता है: sudo nano /etc/rc.local

    'बाहर निकलें 0' कहने वाली रेखा के ऊपर निम्न पंक्तियाँ जोड़ें

    # PPTP IP forwarding
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    

    वैकल्पिक रूप से मैं जानवर बल के हमलों के खिलाफ आपके SSH सर्वर को सुरक्षित करने की सलाह देता हूं:

    #SSH Brute Force Protection
    iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
    iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j
    

    ड्रॉप

    ('एग्जिट 0' के ऊपर भी डालें)

    आपको अपने मशीन पर इंटरनेट से कनेक्ट करने के लिए किस इंटरफ़ेस को कॉन्फ़िगर किया गया है, इसके आधार पर आपको एक अन्य इंटरफ़ेस में 'eth 0' बदलना होगा।

  9. अंत में, इस लाइन को अनइंस्टॉल करें /etc/sysctl.conf:

    net.ipv4.ip_forward=1
    
  10. रीबूट

  11. यदि आपका वीपीएन-सर्वर सीधे इंटरनेट से नहीं जुड़ता है, तो आपको अपने वीपीएन-सर्वर के लैन आईपी पर 1723 टीसीपी और जीआरई को अग्रेषित करना पड़ सकता है। विक्रेता विशिष्ट निर्देशों के लिए अपने राउटर के मैनुअल या portforward.com का संदर्भ लें। फिर से, आपको एक स्थिर आईपी में असाइन करना पड़ सकता है /etc/network/interfaces

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