برنامج تعليمي حول إعداد خوادم VPN على Ubuntu. بادئة المجال من اسم المستخدم قبل المصادقة

13.04.2019

على ما يبدو، لا تتحدث عن VPN، لقد قيل كل شيء عنها. هناك عدد كبير من الإعدادات والطرق المتاحة عبر الإنترنت لكل الأذواق. أظهر التحليل الشامل أن المشاكل الرئيسية للمبتدئين تنشأ في مراحل مصادقة العميل وخادم VPN، بالإضافة إلى إعداد التوجيه. سنتناولها بالتفصيل. على طول الطريق، اتضح أنه يمكن تبسيط إعدادات اتصال VPN إلى حد كبير وبالتالي تسهيل فهم المعلمات الرئيسية.

لتسهيل فهم الأمور، نوصي جميع المبتدئين بتكوين VPN من سطر الأوامر وعدم استخدام مكوني VPN (شبه) التلقائيين - كما تظهر الممارسة، فإن إعداداتهم المبهمة ليست سوى مشكلة. وكما سترون أدناه، فإن هذه الإعدادات قليلة جدًا، لذا لا داعي للوقوف على عكازين للجري لمسافة مائة متر. بالإضافة إلى ذلك، فإن سطر الأوامر سوف يخدمك جيدًا عندما يحدث خطأ ما. يمكنك دائمًا نشر التكوينات الخاصة بك ومخرجات أوامر وحدة التحكم، وسيساعدك الرجال الملتحين الصارمون الذين كانوا على علاقة ودية مع Linux لفترة طويلة. لأنك تتحدث نفس اللغة معهم. على العكس من ذلك، فإن شيئًا مثل "في هذا المربع أتحقق من العنصر الثاني من الأسفل" يضمن عمليًا عدم وجود أي تعليقات.

سنقوم بإعداد اتصال VPN خطوة بخطوة. في نهاية كل خطوة هناك خطوة التحقق. يتم إدخال جميع الأوامر الموجودة في سطر الأوامر كمستخدم متميز (جذر). مستعد؟ إذن إمض قدما!

ماذا نحتاج للعمل

لإعداد وتكوين اتصال VPN، نحتاج إلى برنامجين فقط - تعادل القوة الشرائيةو com.pptp. برنامج تعادل القوة الشرائيةمع احتمال 99% يوجد بالفعل حزمة في التوزيعة الخاصة بك تحتوي على com.pptp، يُطلق عليه بشكل مختلف في توزيعات مختلفة، في الغالب بي بي تي بي لينكس. بعد التثبيت، يجب أن يكون هناك ملفان قابلان للتنفيذ على النظام - /usr/sbin/pppdو /usr/sbin/pptp. باختصار - com.pptpيقوم بإنشاء نفق إلى خادم VPN يتم من خلاله تعادل القوة الشرائيةيتصل ويعمل مثل اتصال المودم العادي.

بطبيعة الحال، لإنشاء اتصال، نحتاج إلى شبكة محلية عاملة وبيانات الموفر حول عنوان IP (أو الاسم) لخادم VPN، وتسجيل دخول VPN وكلمة مرور VPN. ستكون المعلومات حول بروتوكول المصادقة المستخدم ومدى توفر تشفير حركة المرور مفيدة أيضًا. إذا لم يكن هناك، فلا بأس. تستخدم الغالبية العظمى من مقدمي الخدمة بروتوكول المصادقة MS-CHAP v2، وستخبرنا سجلات الأخطاء بوجود التشفير ppd. تلميح: إذا كان لديك نظام التشغيل MS Windows وتم تمكين اتصال VPN هناك، فيمكن عرض معلماته في علامة تبويب الاتصال "التفاصيل". نحن مهتمون بخيارات "المصادقة" و"التشفير".

سنقوم بتنفيذ جميع عمليات التلاعب على شبكة Corbin Telecom المنزلية في متناول اليد. لذلك، قدم لنا المزود المعلومات التالية:
الشبكة المحلية:

إب: 10.167.17.38
قناع الشبكة الفرعية: 255.255.0.0.
البوابة: 10.167.0.17
DNS1: 195.14.50.1
DNS2: 195.14.50.21

معلمات VPN:

اسم خادم VPN: vpn.corbina.net
تسجيل الدخول: VPN_LOGIN
كلمة المرور: VPN_PASSWORD

التحقق من وظائف الشبكة المحلية

إذا تم تكوين الشبكة بالفعل، فيجب أن نرى شيئًا كهذا

# إذا كان التكوين eth0




حزم RX: 2884 أخطاء: 0 تم إسقاطها: 0 تجاوزات: 0 إطار: 0
حزم TX: 25 خطأ: 0 تم إسقاطها: 0 تجاوزات: 0 ناقل: 0
الاصطدامات:0 txqueuelen:1000
بايت RX: 243742 (238.0 كيلو بايت) بايت TX: 2242 (2.1 كيلو بايت)
المقاطعة:19

# IP a sh dev eth0
3: إيث0: mtu 1500 كيو ديسك pfifo_fast كلين 1000
الرابط/الأثير 00:13:D4:68:B2:3E brd ff:ff:ff:ff:ff:ff
إنت 10.167.17.38/16 brd 10.167.255.255 النطاق العالمي eth0
<# route -n
جدول توجيه Kernel IP


0.0.0.0 10.167.0.17 0.0.0.0 UG 0 0 0 eth0

# الملكية الفكرية ص
10.167.0.0/16 رابط نطاق dev eth0 proto kernel src 10.167.17.38
الافتراضي عبر رابط نطاق 10.167.0.17 dev eth0

إذا لم يتم عرض أي شيء مثل هذا، فارفع الشبكة وحدد بوابتنا كبوابة افتراضية

Ifconfig eth0 10.167.17.38 قناع الشبكة 255.255.0.0 لأعلى

IP a 10.167.17.18/16 ديف eth0
IP l s up dev eth0
IP r افتراضي عبر 10.167.0.17

تسجيل خوادم IP DNS في ملف /etc/resolv.confيجب أن تبدو هذه:

# القط /etc/resolv.conf
خادم الأسماء 195.14.50.1
خادم الأسماء 195.14.50.21

إذا كانت الشبكة سليمة، فيجب أن يتم اختبار اتصال البوابة وخادم VPN. تدقيق

# بينغ -c5 10.167.0.17
PING 10.167.0.17 (10.167.0.17) 56(84) بايت من البيانات.
64 بايت من 10.167.0.17: icmp_seq=1 ttl=255 مرة=3.95 مللي ثانية
64 بايت من 10.167.0.17: icmp_seq=2 ttl=255 مرة=0.526 مللي ثانية
64 بايت من 10.167.0.17: icmp_seq=3 ttl=255 مرة=0.528 مللي ثانية
64 بايت من 10.167.0.17: icmp_seq=4 ttl=255 مرة=3.31 مللي ثانية
64 بايت من 10.167.0.17: icmp_seq=5 ttl=255 مرة=0.534 مللي ثانية
# ping -c5 vpn.someserver.net

64 بايت من vpn8-l0.msk.corbina.net (195.14.38.8): icmp_seq=1 ttl=248 time=1.17 مللي ثانية
64 بايت من vpn8-l0.msk.corbina.net (195.14.38.8): icmp_seq=2 ttl=248 time=1.16 مللي ثانية
64 بايت من vpn8-l0.msk.corbina.net (195.14.38.8): icmp_seq=3 ttl=248 time=1.19 مللي ثانية
64 بايت من vpn8-l0.msk.corbina.net (195.14.38.8): icmp_seq=4 ttl=248 time=1.17 مللي ثانية
64 بايت من vpn8-l0.msk.corbina.net (195.14.38.8): icmp_seq=5 ttl=248 time=1.00 مللي ثانية

تكوين التوجيه الأولي

ملاحظة: يعد التكوين المسبق للتوجيه ضروريًا عندما تكون خوادم VPN و/أو DNS موجودة في شبكات فرعية أخرى. إذا لم يكن الأمر كذلك (أنت محظوظ!)، فلا تتردد في تخطي هذه الخطوة.

أولاً، دعنا نكتشف عنوان IP الخاص بخادم VPN الخاص بنا باستخدام الأمر بينغ.

# ping -c5 vpn.corbina.net
PING vpn.corbina.net (195.14.38.8) 56(84) بايت من البيانات.

كما يتبين من أمر ping، فإن عنوان IP لخادم VPN هو 195.14.38.8

ملاحظة: لكي لا نخوض في التفاصيل، نفترض في هذا المثال ذلك vpn.corbina.netلديه IP واحد فقط. الوضع عندما المضيف vpn.corbina.netلا يحتوي على عنوان IP واحد بل عدة عناوين IP (في الواقع، هناك 20 عنوانًا) سننظر إليها في خطوة "الأتمتة".

نضيف مسارات ثابتة إلى خوادم VPN وDNS إلى جدول التوجيه الخاص بنا:

إضافة المسار - المضيف 195.14.50.1 جيجاوات 10.167.0.17
إضافة المسار -المضيف 195.14.50.21 جيجاواط 10.167.0.17
إضافة المسار -المضيف 195.14.38.8 غيغاواط 10.167.0.17

IP ص 195.14.50.1 عبر 10.167.0.17
الملكية الفكرية ص 195.14.50.21 عبر 10.167.0.17
الملكية الفكرية ص 195.14.38.8 عبر 10.167.0.17

إزالة المسار الافتراضي

سيبدو جدول التوجيه كما يلي:

# الطريق -ن
جدول توجيه Kernel IP
أعلام قناع Genmask لبوابة الوجهة المرجع المتري استخدم Iface
195.14.50.21 10.167.0.17 255.255.255.255 قرش 0 0 0 eth0
195.14.50.1 10.167.0.17 255.255.255.255 قرش 0 0 0 eth0
195.14.38.8 10.167.0.17 255.255.255.255 قرش 0 0 0 eth0
10.167.0.0 0.0.0.0 255.255.0.0 يو 0 0 0 eth0

# الملكية الفكرية ص
195.14.50.21 عبر 10.167.0.17 ديف eth0
195.14.50.1 عبر 10.167.0.17 ديف eth0
195.14.38.8 عبر 10.167.0.17 ديف eth0
10.167.0.0/16 رابط نطاق dev eth0 proto kernel src 10.167.17.38

التحقق: يجب علينا تنفيذ الأمر ping بنجاح على خوادم DNS وVPN.

# بينغ -c5 195.14.50.1
PING 195.14.50.1 (195.14.50.1) 56(84) بايت من البيانات.
64 بايت من 195.14.50.1: icmp_seq=1 ttl=56 مرة=4.45 مللي ثانية
64 بايت من 195.14.50.1: icmp_seq=2 ttl=56 مرة=1.30 مللي ثانية
64 بايت من 195.14.50.1: icmp_seq=3 ttl=56 مرة=1.22 مللي ثانية
# بينغ -c5 195.14.50.21
PING 195.14.50.21 (195.14.50.21) 56(84) بايت من البيانات.
64 بايت من 195.14.50.21: icmp_seq=1 ttl=56 مرة=0.982 مللي ثانية
64 بايت من 195.14.50.21: icmp_seq=2 ttl=56 مرة=0.954 مللي ثانية
64 بايت من 195.14.50.21: icmp_seq=3 ttl=56 مرة=1.02 مللي ثانية
# بينغ -c5 195.14.38.8
PING 195.14.38.8 (195.14.38.8) 56(84) بايت من البيانات.
64 بايت من 195.14.38.8: icmp_seq=1 ttl=248 مرة=1.34 مللي ثانية
64 بايت من 195.14.38.8: icmp_seq=2 ttl=248 مرة=2.60 مللي ثانية
64 بايت من 195.14.38.8: icmp_seq=3 ttl=248 مرة=1.09 مللي ثانية

تكوين إعدادات اتصال VPN. اختبار المدى

سنقوم بتدوين جميع معلمات اتصال VPN الخاص بنا في ملف /etc/ppp/peers/corbina. فلنقم بإنشائه وملئه بالمحتوى التالي:

بي تي واي "pptp 195.14.38.8 --nolaunchpppd"
المستخدم VPN_LOGIN
كلمة المرور "VPN_PASSWORD"
com.nodeflate
com.nobsdcomp
com.noauth

لا تحتاج معلمات المستخدم وكلمة المرور إلى تعليقات؛ ويمكن العثور على معنى الباقي في ملف المساعدة رجل ppd. يرجى ملاحظة أن كلمة المرور مرفقة بين علامتي اقتباس.

نحن نتأكد من ذلك في الملفات /etc/ppp/options, ~/.ppprc, /etc/ppp/options.ppp0لا توجد معلمات غير معلقة يمكن للنظام من خلالها استبدال إعداداتنا. إذا كان هناك، التعليق

نرفع اتصال VPN

استدعاء PPPD لـ Corbina Debug Nodetach

سوف تظهر سجلات الاتصال. إذا سار كل شيء على ما يرام، فسوف يبدو الأمر كما يلي:

# استدعاء pppd لـ corbina debugNodetach
باستخدام القناة 2
باستخدام واجهة ppp0
الاتصال: ppp0<-->/dev/pts/0
مرسل
com.rcvd
مرسل
مرسل
com.rcvd
مرسل
com.rcvd
مرسل
com.rcvd
com.rcvd

نجحت مصادقة CHAP
مرسل
com.rcvd
مرسل
com.rcvd
مرسل
com.rcvd
مرسل
com.rcvd
لا يمكن تحديد عنوان إيثرنت للوكيل ARP
عنوان IP المحلي 89.178.77.182
عنوان IP البعيد 195.14.38.8
بدأ البرنامج النصي /etc/ppp/ip-up (معرف المنتج 4072)
انتهى البرنامج النصي /etc/ppp/ip-up (معرف المنتج 4072)، الحالة = 0x0

على المحطة المجاورة، تأكد من إنشاء اتصال VPN. يجب أن تظهر واجهة الشبكة pp0:

# إذاالتكوين
eth0 رابط encap:Ethernet HWaddr 00:13:D4:68:B2:3E
عنوان inet:10.167.17.38 Bcast:10.167.255.255 القناع:255.255.0.0
عنوان inet6: fe80::213:d4ff:fe68:b23e/64 النطاق:الرابط
تشغيل البث المتعدد MTU:1500 متري:1
حزم RX: 24990 أخطاء: 0 تم إسقاطها: 0 تجاوزات: 0 إطار: 0
حزم TX: 97 خطأ: 0 تم إسقاطها: 0 تجاوزات: 0 ناقل: 0
الاصطدامات:0 txqueuelen:1000
بايت RX: 2327027 (2.2 ميجا بايت) بايت TX: 8516 (8.3 كيلو بايت)
المقاطعة:19

لو تغليف الرابط: الاسترجاع المحلي
عنوان إنت:127.0.0.1 القناع:255.0.0.0
عنوان inet6: ::1/128 النطاق: المضيف
تشغيل الاسترجاع للأعلى MTU:16436 متري:1
حزم RX: أخطاء 13496: 0 تم إسقاطها: 0 تجاوزات: 0 إطار: 0
حزم TX: 13496 أخطاء: 0 تم إسقاطها: 0 تجاوزات: 0 ناقل: 0
الاصطدامات:0 txqueuelen:0
بايت RX: 1387313 (1.3 ميجا بايت) بايت TX: 1387313 (1.3 ميجا بايت)

غلاف الرابط ppp0: بروتوكول نقطة إلى نقطة
عنوان inet:89.178.77.182 P-t-P:195.14.38.8 القناع:255.255.255.255
UP Pointopoint RUNNING NOARP MULTICAST MTU:1500 متري:1
حزم RX: 4 أخطاء: 0 تم إسقاطها: 0 تجاوزات: 0 إطار: 0
حزم TX:4 أخطاء:0 تم إسقاطها:0 تجاوزات:0 الناقل:0
الاصطدامات:0 txqueuelen:3
بايتات RX:40 (40.0 b) بايتات TX:46 (46.0 b)

إذا كان خادم VPN يستخدم التشفير، فسينتهي الاتصال بالخطأ [ERROR LOGS SHOULD BE HERE]. في هذه الحالة، أضف إلى الملف /etc/ppp/peers/corbinaخط

وقم بتحميل وحدة kernel المقابلة بالأمر

لنبدا مجددا. كل شيء يجب أن يعمل.

انتبه إلى المعلمة MTUواجهه المستخدم pp0. بشكل افتراضي هو 1500. إذا كان مزود الخدمة الخاص بك يستخدم قيمة مختلفة MTU(دعنا نقول 1492) - إلى نفس ملف التكوين etc/ppp/peers/corbinaأضف سطرًا

إعداد التوجيه النهائي

لذلك، قمنا برفع مستوى اتصال VPN، لكن لا يمكننا الوصول إلى الإنترنت - فالجهاز لا يعرف بعد مكان البحث عن مضيفي الإنترنت. للقيام بذلك علينا إضافة مسار افتراضي من خلال الواجهة pp0إلى جدول التوجيه الخاص بنا (تذكر - لقد قمنا بحذف المسار الافتراضي القديم). البوابة الافتراضية هي الآن عنوان IP البعيد، الذي تفضل خادم VPN بتزويدنا به - 195.14.38.8 (نعم، في حالتنا يتزامن مع خادم IP VPN!). هذا عنوان IP البعيدالحاضر كما هو الحال في السجلات ppd(عنوان IP البعيد 195.14.38.8)، وفي معلمات الواجهة pp0، والتي يتم عرضها بواسطة أمر ifconfig (P-t-P:195.14.38.8). يدخل:

أضف المسار الافتراضي gw 195.14.38.8

إضافة المسار الافتراضي dev ppp0

وهو نفس الشيء في هذا السياق، فلنحاول الآن تنفيذ الأمر ping على بعض مضيفي الإنترنت

# بينغ -c5 www.ya.ru
PING ya.ru (213.180.204.8) 56(84) بايت من البيانات.
64 بايت من ya.ru (213.180.204.8): icmp_seq=1 ttl=61 مرة=2.11 مللي ثانية
64 بايت من ya.ru (213.180.204.8): icmp_seq=2 ttl=61 time=2.23 مللي ثانية
64 بايت من ya.ru (213.180.204.8): icmp_seq=3 ttl=61 time=2.39 مللي ثانية

يعمل!

أتمتة

الآن بعد أن تم اختبار الاتصال، يمكنك التفكير في الأتمتة. متى ppdينشئ اتصالاً، ويقوم تلقائيًا بتنفيذ البرنامج النصي /etc/ppp/ip-upعند انقطاع الاتصال، يتم تنفيذ البرنامج النصي /etc/ppp/ip-down. وهذا يعني أنه يجب إدخال جميع المسارات التي أدخلناها يدويًا في الفقرات السابقة في هذه الملفات.

ليس من قبيل الصدفة أننا فكرنا أولاً في الخيار المثالي، عندما يتم تمثيل خادم VPN الخاص بالمزود بصيغة المفرد وله عنوان IP واحد. في هذه الحالة، اسم المضيف ( vpn.corbina.net) يمكن تجاهله ويمكن استخدام عنوان IP الخاص به فقط في الإعدادات، وهو ما فعلناه. ومع ذلك، إذا كان الموفر كبيرًا، فسيتم إخفاء العديد من الخوادم ذات عناوين IP المختلفة تحت اسم خادم VPN، مما يسمح للموفر بضبط الحمل عليها ديناميكيًا. لمعرفة عنوان IP الذي يمتلكه المضيف vpn.corbina.netفلنستخدم الأمر يستضيفمن الحزمة com.dnsutils

# المضيف vpn.corbina.net
vpn.corbina.net له عنوان 195.14.38.19
vpn.corbina.net له عنوان 195.14.38.20
vpn.corbina.net له عنوان 195.14.38.1
vpn.corbina.net له عنوان 195.14.38.2
vpn.corbina.net له عنوان 195.14.38.3
vpn.corbina.net له عنوان 195.14.38.4
vpn.corbina.net له عنوان 195.14.38.5
vpn.corbina.net له عنوان 195.14.38.6
vpn.corbina.net له عنوان 195.14.38.7
vpn.corbina.net له عنوان 195.14.38.8
vpn.corbina.net له عنوان 195.14.38.9
vpn.corbina.net له عنوان 195.14.38.10
vpn.corbina.net له عنوان 195.14.38.11
vpn.corbina.net له عنوان 195.14.38.12
vpn.corbina.net له عنوان 195.14.38.13
vpn.corbina.net له عنوان 195.14.38.14
vpn.corbina.net له عنوان 195.14.38.15
vpn.corbina.net له عنوان 195.14.38.16
vpn.corbina.net له عنوان 195.14.38.17
vpn.corbina.net له عنوان 195.14.38.18

نحتاج إلى إدخال التوجيه لهذه المجموعة الكاملة من الخوادم في الملف مرة واحدة /etc/ppp/ip-upوقم بتغيير الملف إلى النموذج التالي:

#!/بن/ش
#
# يتم تشغيل هذا البرنامج النصي بواسطة pppd عندما يكون هناك اتصال ppp ناجح.
#
إضافة المسار -المضيف 195.14.38.1 جيجاواط 10.167.0.17
إضافة المسار -المضيف 195.14.38.2 جيجاواط 10.167.0.17
إضافة المسار -المضيف 195.14.38.3 جيجاواط 10.167.0.17
....
إضافة المسار -المضيف 195.14.38.19 جيجاواط 10.167.0.17
إضافة المسار -المضيف 195.14.38.20 جيجاواط 10.167.0.17
الطريق الافتراضي

وفي البرنامج النصي /etc/ppp/ip-downسنكتب سطرًا واحدًا فقط سيعيد لنا البوابة الافتراضية بعد فقدان الاتصال:

#!/بن/ش
#
# يتم تشغيل هذا البرنامج النصي بواسطة pppd بعد انتهاء الاتصال.
#
مسار إضافة الافتراضي غيغاواط 10.167.0.17

ربما لاحظت بالفعل أننا لم ندرجه في الملف /etc/ppp/ip-upخط الطريق إضافة الافتراضي dev ppp0. هذا ليس ضروريا - بعد اتصال ناجح ppdسوف يدخل إلى البوابة الافتراضية نفسها إذا أعطيناه أمرًا com.defaultroute. ونتيجة لذلك، ملف الإعدادات لدينا /etc/ppp/peers/corbinaسوف تبدو مثل هذا:

بي تي واي "pptp vpn.corbina.net --nolaunchpppd"
المستخدم VPN_LOGIN
كلمة المرور "VPN_PASSWORD"
com.nodeflate
com.nobsdcomp
com.noauth
com.defaultroute

بون كوربينا
بوف كوربينا

إذا كانت هناك حاجة لبدء الاتصال كمستخدم بسيط، فقم بتثبيت البرنامج sudoوإلى الملف /etc/sudoersيدخل:

Sergo myhost = NOPASSWD: /usr/bin/pon, /usr/bin/poff

استبدل وفقًا لذلك سيرجوو com.myhostباسم المستخدم الخاص بك وجهازه. سيكون قادرًا على بدء وإيقاف الاتصال بالأوامر

سودو بون كوربينا
سودو بوف كوربينا

هذا يكمل إعداد الاتصال.
مصدر

التكوين باستخدام مدير الشبكة

مهما كان الأمر، ولكن لا يزال وصف إعداد VPN باستخدام مدير الشبكة، يعد هذا الإعداد مناسبًا تمامًا لأولئك الذين يتصلون بالشبكة باستخدام الحصول التلقائي على عنوان IP باستخدام DHCP.

1. قم بتثبيت الحزمتين اللتين نحتاجهما:
#apt-get install pptp-linux Network-manager-pptp
نظرًا لأن هذه الحزم ليست موجودة على قرص Ubuntu بشكل افتراضي، وغالبًا ما يتعين تكوين VPN على جهاز لم يعد لديه أي وصول آخر إلى الإنترنت، فإنني أنصحك بتخزين هذه الحزم من المستودع الرسمي مسبقًا. للقيام بذلك، انتقل إلى موقع الويب packages.ubuntu.com/، حيث نبحث عن هاتين الحزمتين، ونقوم بتنزيلهما ثم تثبيتهما على الجهاز الذي نحتاجه.
2. إذا لم يظهر عنصر "اتصالات VPN" في برنامج Network Manager الصغير أو لن يتم فتحه، فستحتاج إلى إعادة تسجيل الدخول أو إعادة التشغيل بشكل أفضل.
3. انقر بزر الماوس الأيسر (يفتح الزر الأيمن قائمة أخرى) على أيقونة مدير الشبكة وفي القائمة المنسدلة حدد "اتصالات VPN" - "تكوين VPN".
4. بعد ذلك، يجب أن يظهر اتصالك في قائمة "اتصال VPN"؛ إذا لم يظهر فجأة، قم بتسجيل الدخول مرة أخرى أو إعادة التشغيل (حسنًا، ماذا يمكنني أن أفعل، لا يزال مدير الشبكة هذا فظًا للغاية).
5. يمكنك الآن الاتصال باتصال VPN الذي قمت بإنشائه (وأيضًا قطع الاتصال عن طريق تحديد عنصر قائمة في Network Manager).

#apt-get install pptp-linux

كما سبق أن شرحت أعلاه في قسم التثبيت باستخدام مدير الشبكة، غالبًا ما يتعين تكوين VPN على جهاز لم يعد به اتصال آخر بالإنترنت، لذا أنصحك بتخزين هذه الحزمة مسبقًا من packages.ubuntu الرسمية. كوم/مستودع.

2. قم بتحرير ملف options.pptp:
#nano /etc/ppp/options.pptp


قفل noauth nobsdcomp nodeflate يستمر

لن أصف كل من المعلمات، سأصف القليل منها فقط:
استمرار - تحاول هذه المعلمة إعادة فتح الاتصال عند إغلاقه؛
nodeflate - لا تستخدم ضغط الانكماش (على الرغم من أنهم يقولون إنه يعمل بشكل أسرع، لا أعرف - لم أختبره).
أيضًا، إذا كان اتصالك يستخدم التشفير، فقم بإضافة أحد الأسطر، اعتمادًا على نوع التشفير - require-mschap-v2، وrequire-mppe-40، وrequire-mppe-128، وrequire-mppe.

3. قم بإنشاء ملف اتصال /etc/ppp/peers/vpn (يمكنك استبدال اسم VPN بأي اسم آخر، ولكن إذا قمت بذلك، فلا تنس تغييره لاحقًا في هذه المقالة)

#nano /etc/ppp/peers/vpn

أدخل الأسطر التالية هناك:
maxfail 0 lcp-echo-interval 60 lcp-echo-failure 4 defaultroute pty "pptp vpn.ava.net.ua --nolaunchpppd" الاسم sukochev Remotename PPTP +chap file /etc/ppp/options.pptp ipparam vpn

انتباه!!!تأكد من استبدال الخيارات التالية بخياراتك:
بدلاً من vpn.ava.net.ua، أدخل عنوان خادم VPN الخاص بك (يمكنك استخدام عنوان IP الخاص بالخادم). بدلا من sukochev، أدخل تسجيل الدخول الخاص بك.
سأصف بعض المعلمات:
maxfail 0 - حاول دائمًا الاتصال عندما لا يكون هناك اتصال؛
lcp-echo-interval - الفاصل الزمني الذي يتم بعده استقصاء الطرف البعيد؛
lcp-echo-failure - عدد الطلبات التي لم يتم الرد عليها من الجانب البعيد، وبعد ذلك يعتبر النظام أنه تم قطع اتصالنا؛
المسار الافتراضي - تعيين المسار الافتراضي؛
+ الفصل - نوع المصادقة. بالإضافة إلى +chap، يمكن استخدام النوع +pap.
ملف - قراءة الإعدادات الإضافية من الملف المحدد.
يمكنك أيضًا إضافة المعلمات التالية، إذا لزم الأمر:
انكماش 15,15 - استخدم ضغط الانكماش (يجب ألا يكون هناك معلمة عقد انكماش في ملف options.pptp)؛
mtu - الحد الأقصى لحجم الحزمة المرسلة (عادةً ما يتم تغيير هذه المعلمة عندما ينقطع الاتصال غالبًا أو لا تفتح بعض المواقع)؛
MRU - الحد الأقصى لحجم الحزمة المستلمة.

4. قم بتحرير الملف /etc/ppp/chap-secrets (إذا تم استخدام نوع مصادقة PAP، ثم /etc/ppp/pap-secrets وفقًا لذلك)

#nano /etc/ppp/chap-secrets

أدخل سطرًا هناك مثل:

كلمة مرور Sukochev PPTP *

انتباه!!! استبدل sukochev بتسجيل الدخول الخاص بك، وكلمة المرور بكلمة المرور الخاصة بك للاتصال.
5. إذا لزم الأمر، فاكتب المسارات الضرورية في الملف /etc/network/interfaces. على سبيل المثال، لدي مسارات مسجلة حتى أتمكن من استخدام الشبكة المحلية المحلية عند تشغيل اتصال VPN. فيما يلي مثال على مساراتي (تلك التي تبدأ بالمسار العلوي)، سيكون مسارك مختلفًا بطبيعة الحال:

Auto eth1 iface eth1 inet dhcp up road add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1 up road add -net 10.3.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1

لا تنسَ إعادة تشغيل اتصالات الشبكة بعد تغيير الملف /etc/network/interfaces:

#/etc/init.d/networking إعادة التشغيل

6. يمكنك الآن تشغيل وإيقاف اتصال VPN باستخدام الأوامر التالية:
تضمين

اغلق

اتصال VPN تلقائي عند تشغيل النظام

للقيام بذلك، قم بتحرير الملف /etc/network/interfaces
#nano /etc/network/interfaces

وأدخل الأسطر التالية في نهاية الملف:
auto ppp0 iface ppp0 inet ppp Provider vpn pre-up ip link set eth1 لأعلى الطريق del المسار الافتراضي لأعلى إضافة dev الافتراضي ppp0

حيث eth1 هو واجهة جهاز الشبكة الذي يتصل من خلاله اتصال VPN، وvpn هو اسم اتصال VPN الذي قمت بإنشائه في المجلد /etc/ppp/peers/.

تعليمات

تحقق لمعرفة ما إذا كان دعم PPP موجودًا في kernel لنظام التشغيل الخاص بك. أسهل طريقة للقيام بذلك هي النظر إلى قيم الخيارات ذات البادئة CONFIG_PPP في ملف تكوين kernel الحالي. يتم تثبيته عادةً في الدليل /boot وله اسم يبدأ بـ config. اكتشف اسم هذا الملف باستخدام الأمر
ليرة سورية /التمهيد
أو
ليرة سورية /التمهيد | grep conf
اطبع الأسطر المطلوبة باستخدام الأمر cat، ثم قم بالتصفية باستخدام grep. على سبيل المثال:
القط /boot/config-2.6.30-std-def-alt15 | grep تعادل القوة الشرائية
قم بتحليل الأسطر التي تحتوي على خيارات CONFIG_PPP وCONFIG_PPP_ASYNC وCONFIG_PPP_SYNC_TTY. إذا لم يكن هناك رمز # أمامهم، يتوفر دعم للوظيفة المقابلة (لقيم m - في شكل وحدة خارجية، لقيم y - المضمنة في النواة).

تحقق مما إذا كان برنامج العميل لإنشاء اتصالات VPN مثبتًا على النظام. عادةً ما يكون للحزمة المطلوبة اسم يبدأ بـ pptp. استخدم apt-cache مع خيار البحث للبحث عن الحزمة المطلوبة في المستودعات المتاحة وrpm مع خيار -qa للتحقق من تثبيت الحزمة. عند العمل في بيئة رسومية، قد يكون من المنطقي استخدام برامج مثل Synaptic.

قم بتثبيت البرنامج المفقود. استخدم مديري الحزم المناسبين (apt-get، وrpm في وحدة التحكم، وsynaptic في واجهة المستخدم الرسومية، وما إلى ذلك). إذا قمت بتثبيت حزمة ppp مع وحدات kernel لدعم البروتوكول المقابل، فأعد تشغيل جهاز الكمبيوتر الخاص بك.

حاول إعداد VPN باستخدام البرامج النصية للتكوين مثل أمر pptp أو pptpsetup. غالبًا ما يتم تضمينها في حزم برامج العميل لإنشاء اتصالات VPN. للحصول على مساعدة بشأن معلمات سطر الأوامر لهذه الأدوات المساعدة، قم بتشغيلها باستخدام خيار --help. على سبيل المثال:
بي بي تي بي سيتوب - مساعدة
إذا لم يتم تثبيت البرامج النصية للتكوين، فانتقل إلى الخطوة التالية لتكوين VPN يدويًا.

قم بإنشاء دليل /etc/ppp، وفيه ملف يسمى chap-secrets. افتح الملف في محرر النصوص. أضف سطرًا مثل هذا:
كلمة مرور خادم تسجيل الدخول *
قيم تسجيل الدخول وكلمة المرور هي اسم المستخدم وكلمة المرور. يجب أن يتم توفيرها من قبل مزود خدمة VPN الخاص بك. بدلاً من SERVER، حدد اسم اتصال عشوائيًا أو *.

قم بإنشاء دليل /etc/ppp/peers. قم بإنشاء ملف به نفس اسم قيمة SERVER من الخطوة السابقة (أو اسمًا عشوائيًا إذا تم تحديد القيمة *). قم بتحرير هذا الملف عن طريق إضافة معلومات مثل:
بي تي واي "خادم pptp --nolaunchpppd"
تسجيل الدخول بالاسم
خادم إيبارام
خادم الاسم البعيد
قفل
com.noauth
com.nodeflate
com.nobsdcomp
قيم تسجيل الدخول والخادم هنا هي نفسها كما في الخطوة 5. في هذه المرحلة، يمكن اعتبار إعداد VPN في Linux مكتملاً.

نصائح مفيدة

اتصل بشبكة VPN باستخدام الأمر
ppd استدعاء الخادم
حيث SERVER هو اسم الاتصال، ويطابق نفس القيمة من الخطوة 6.

أصبحت أنظمة التشغيل المستندة إلى Linux شائعة بشكل متزايد باعتبارها بيئة سطح المكتب الأساسية. ويرجع ذلك إلى تحسين الأصداف الرسومية، مما يوفر للمستخدم واجهة مريحة لحل الغالبية العظمى من المهام. لذلك، يمكنك اليوم إعداد شبكة في Linux باستخدام أداة KDE الإدارية.

سوف تحتاج

  • - كلمة مرور المستخدم الجذر.

تعليمات

قم بتشغيل برنامج تكوين النظام. افتح قائمة تشغيل التطبيق الخاصة بالقشرة الرسومية، وقم بتوسيع قسم الإعدادات. ابحث عن عنصر "مركز إدارة النظام". انقر عليه. أدخل كلمة مرور المستخدم الجذر إذا طُلب منك ذلك. يمكن أيضًا تنفيذ هذا التطبيق من وحدة التحكم أو نافذة تشغيل البرنامج عن طريق إدخال أمر acc.

انتقل إلى تكوين واجهات الشبكة. في نافذة مركز التحكم في النظام، ابحث عن قسم الشبكة. انقر على زر واجهات إيثرنت.

تكوين واجهات الشبكة. في الصفحة الحالية لمركز التحكم في النظام، في قائمة الواجهات، حدد العنصر المطلوب. في القائمة المنسدلة التكوين، حدد طريقة التكوين: يدويًا، استخدم DHCP أو Zeroconf. أدخل عناوين خادم DNS في حقل خوادم DNS. عند اختيار طريقة التكوين اليدوي (يدويًا)، حدد عنوان IP وقناع الشبكة في حقلي عنوان IP وقناع الشبكة، على التوالي. انقر فوق الزر "تطبيق" لتطبيق التغييرات. اضغط على الزر الرئيسي للانتقال إلى الصفحة السابقة.

VPN – الشبكة الافتراضية الخاصة (الشبكة الخاصة الافتراضية) – بكلمات بسيطة، هي خدمة توفر الاتصال بين النقاط البعيدة من خلال دمجها في شبكة واحدة مشتركة. بروتوكول الاتصال – PPPoE (من نقطة إلى نقطة عبر الإيثرنت)، أي. هذا اتصال نفقي مع إعدادات تشفير معينة، والذي بدوره يسمح ليس فقط بدمج شبكتين بعيدتين في مقطع واحد، ولكن أيضًا لحماية هذا الاتصال من اعتراض الحزمة من قبل المهاجمين.

يمكن استخدام VPN ليس فقط من قبل مسؤولي الشبكات لتلبية احتياجات الشركات الكبيرة (الجمع بين مكتبين)، ولكن أيضًا من قبل المستخدمين العاديين. على سبيل المثال، بالنسبة للمعارك عبر الإنترنت، في الحالات التي لا تحتوي فيها اللعبة على خادم رسمي ولا تتضمن خادمًا غير رسمي، لكنك تريد حقًا اللعب مع الأصدقاء. ومن ثم يمكنك دمج 2،3،4 جهاز كمبيوتر أو أكثر في شبكة واحدة. حتى لو كنت بعيدًا عن أصدقائك وتتواجد في قارة أخرى، فاستخدم خدمات مقدم خدمة مختلف، وما إلى ذلك....

في نظام التشغيل Linux، يتم تكوين خدمة VPN عن طريق تثبيت حزمة pptpd وتحرير ملفات التكوين لتناسب احتياجاتك. سأحاول أن أشرح بأكبر قدر ممكن من الوضوح ما هو. سنقوم معك بإعداد خادم VPN على Linux، ومعرفة كيفية توصيل أجهزة Linux به باستخدام الأدوات المساعدة الرسومية والمحطة الطرفية فقط. وبالطبع سنناقش معك الاتصال من نظام التشغيل Windows.

لذلك، لنبدأ في التثبيت والتكوين:

النقطة الأولى– تثبيت حزمة pptpd. في Linux Debian/Ubuntu وما شابه، استخدم الأداة المساعدة apt-get. بالمناسبة، توجد الحزمة عادة في مستودعات قياسية، لذلك ليست هناك حاجة لربط أي شيء إضافي.

الرابطة بين الحصول على تثبيت pptpd

النقطة الثانية– تكوين الملف الرئيسي – خيارات pptpd. الملف موجود في المجلد /etc/ppp ويمكن تحريره باستخدام حقوق المسؤول باستخدام محرر من اختيارك. بالمناسبة، فقط في حالة، لتوضيح الأمر أكثر، تحملت عناء ترجمة خيارات pptpd إلى اللغة الروسية. في الواقع هنا هو:

ترجمة خيارات pptpd إلى اللغة الروسية.

يمكنك استخدام خيارات pptpd مع التعليقات باللغة الروسية على نظامك.

يمكنك توزيع نص ترجمة خيارات pptpd بحرية مع رابط للمصدر.

تمت ترجمة ملف التكوين pptpd-options بواسطة Squ1sh خصيصًا لموقع الويب

#

المصادقة

اسم نظام المصادقة المحلي

(يجب أن يكون الثاني في /etc/ppp/chap-secrets) (بعد اسم المستخدم)

اسمcom.pptpd

اختياري – اسم المجال للمصادقة.

المجال mydomain.net

بادئة المجال من اسم المستخدم قبل المصادقة.

(ينطبق إذا كنت تستخدم pppd مع تصحيح المجال champs-strip)

#champs-strip-domain

التشفير

ملاحظة - رفض. نوع التشفير، يتطلب – تشغيل. نوع التشفير

رفض باب

رفض الفصل

دعونا نقوم بتمكين تشفير MPPE 128 بت. سيتم ربط كل شيء به.

(تحذير! يستخدم MPPE MSCHAP-V2 أثناء المصادقة)

يتطلب-mppe-128

الشبكة والطرق

إذا كان pppd يعمل مع عملاء Microsoft Windows، فقم بتمكينه

دعم pppd لواحد أو اثنين من DNS (خادم اسم المجال). لا يعمل لعملاء Linux!

عناوين للعملاء. الأول هو عنوان خادم DNS الأساسي لشبكتك المحلية؛ الثاني - الثانوي (إذا كان هناك واحد)

#مللي دي إن إس 10.0.0.1

#مللي دي إن إس 10.0.0.2

باستخدام نفس المخطط، يمكنك تحديد عناوين خوادم WINS.

#ms-Wins 10.0.0.3

#ms-يفوز 10.0.0.4

#Proxyarp هي إحدى وظائف بروتوكول ARP التي تتيح لك #محاكاة أن شبكات IP المختلفة تنتمي إلى نفس مقطع Ethernet

#(استخدم نفس بادئة الشبكة لكلا الشبكتين). باختصار، يجب #تفعيل الخيار، لأنه بدونه لا توجد طريقة

com.proxyarp

لا تقم بتعيينه كمسار افتراضي (المسار الافتراضي - قم بتعيين هذا #connection باعتباره المسار الافتراضي في جدول التوجيه)

com.nodefaultroute

كتابة السجلات

نحن نمكن تصحيح الأخطاء وتسجيل السجل.

إظهار كافة الخيارات المثبتة.

(غالبا بناء على طلب القائمة البريدية للتحقق من الخيارات). أنا شخصياً لم #أفهم ما هو هذا الشيء أو ما يؤكل به. حتى أنني أشك في أنه صحيح

#ترجمة... حسنًا، الخيار ليس مهمًا على أية حال.

متنوع

استخدم حظر منفذ UCPP لمنع العديد من الأجهزة التسلسلية من الوصول إلى نفس المنفذ في نفس الوقت

تعطيل ضغط BSD-Compress.

com.nobsdcomp

#

كما لاحظتم، فقد قمت بتسليط الضوء على العديد من المعلمات بالخط العريض. هذه هي الحد الأدنى من المعلمات السبعة للتشغيل المقبول لخادم VPN. أولئك. قد يبدو الحد الأدنى من تكوين خيارات pptpd كما يلي:

الاسم pptpd

تتطلب mschap-v2

تتطلب mppe-128

com.proxyarp

com.nodefaultroute

com.nobsdcomp

يكفي اللعب عبر الإنترنت أو توصيل مكتبين بالشبكة. ولكن، إذا لم تقم بتحديد خادم DNS في ملف pptpd-options، فسيكون من المستحيل الوصول إلى الكمبيوتر عن طريق اسم Net-Bios (فقط عن طريق عنوان IP)، مما سيخلق بعض الصعوبات مع العناوين غير الثابتة (أ). تشغيل خادم DHCP على الشبكة)، إذا كنت لا تعرف العنوان، ولكن فقط اسم الجهاز المطلوب.

________________________________________

النقطة الثالثة – إعداد العناوين/نطاق العناوين في VPN. يجب على المستخدم الذي سيتصل بشبكتنا أن يتلقى عنوان IP بشكل طبيعي. يمكنك إعطاء عناوين من نطاق ما، أو ربط كل مستخدم بعنوان محدد (كما تريد). إذا قمت بربط عنوان IP باسم مستخدم VPN، فيمكنك تخطي إعداد pptpd.conf إذا قمت بإعطاء عناوين من النطاق - اقرأ بعناية. لذلك، ملف pptpd.conf. إنه موجود مباشرة في جذر المجلد /etc. نحتاج فقط إلى معلمتين منه، وقد قمت بترجمتهما. نقوم بالتمرير عبر الملف حتى النهاية ونرى ما يلي:

عنوان IP الخاص بالخادم على الشبكة المحلية

المحلية 192.168.1.1

نطاق العناوين لعملاء خادم PPTP

نصيحة عن بعد 192.168.1.50-254

هذا كل شيء بالنسبة لهذا الملف.

النقطة الرابعة -نحن ننشئ مستخدمي VPN. يتم تخزين قائمة المستخدمين وكلمات المرور وعناوين IP المرتبطة بهم في ملف أسرار الفصل. وهو موجود في /etc/ppp.

سأقدم مثالين لإضافة المستخدمين:

#المثال رقم 1 –يتلقى المستخدم عنوان IP من نطاق العناوين الذي حددناه في /etc/pptpd.conf

اسم المستخدم كلمة المرور pptpd "*"

#المثال رقم 2 –ربط عنوان IP بحساب VPN الخاص بالمستخدم.

اسم المستخدم كلمة المرور pptpd "192.168.1.52

أولئك. المبدأ هو كما يلي: أولاً نكتب تسجيل دخول المستخدم، ثم اسم الخدمة (المحدد في معلمة الاسم في بداية ملف خيارات pptpd)، ثم تأتي كلمة المرور، وبين علامتي الاقتباس نشير إلى عنوان IP أو * إذا تم إعطاؤه خارج النطاق. هذا هو الإعداد كله.

بالمناسبة، بعد تحرير كافة الملفات الضرورية، قم بإعادة تشغيل الخدمة

/etc/init.d/pptpd إعادة التشغيل

وبطبيعة الحال، يجب أن يكون الخادم الخاص بك قابلاً للوصول من الخارج، أي من الخارج. في قواعد iptables، إذا لزم الأمر، أضف ما يلي:

السماح ببروتوكول GRE للجميع iptables -A INPUT -p gre -j قبول# السماح بالاتصال بخادم VPN؛ iptables -A INPUT -m tcp -p tcp --dport 1723 -j قبول

انتباه! هذا نصف المقال فقط! سنخبرك لاحقًا بكيفية الاتصال بعملاء مختلفين على أنظمة تشغيل مختلفة، بالإضافة إلى التوجيه ومثال لدمج مكتبين أو أكثر في شبكة واحدة.

2015-12-12T18:46:56+00:00 مسؤلمقالات التعليقات pptpd، VPN، الإدارة، الأمان، التثبيت