تكوين اتصال VPN في Linux. تثبيت VPN على Ubuntu لماذا تقوم بتنزيل VPN على Linux

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

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

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

يجب تثبيت OpenVPN على كلا الجهازين ، فهو برنامج شائع إلى حد ما ، لذا يمكنك تثبيته من المستودعات الرسمية. نحتاج أيضًا إلى Easy-RSA للعمل مع المفاتيح الخاصة. لتثبيت البرامج على Ubuntu ، استخدم الأمر التالي:

sudo apt install openvpn easy-rsa

يجب تثبيت كلا الحزمتين على كل من الخادم والعميل. سوف تحتاجهم لتهيئة البرنامج. اكتملت المرحلة الأولى من المقالة ، وهي تثبيت وتكوين openvpn.

إعداد مرجع مصدق

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

يرجى ملاحظة أنه يجب الاحتفاظ بجميع المفاتيح الخاصة في مكان آمن. في OpenVPN ، يُطلق على المفتاح العام شهادة وله ملحق .crt ، ويسمى المفتاح الخاص مفتاحًا ، وامتداده هو مفتاح.

أولاً ، قم بإنشاء مجلد لتخزين شهادات Easy-RSA. في الواقع ، يتم تكوين OpenVPN يدويًا ، لذلك يمكن وضع المجلد في أي مكان:

sudo mkdir / etc / openvpn / easy-rsa

ثم انسخ جميع نصوص easy-rsa الضرورية إلى هذا المجلد:

cd / etc / openvpn / easy-rsa /

sudo -i
# مصدر ./vars
# ./امسح الكل
# ./build-ca

باستخدام الأمر الأول ، ننتقل إلى وحدة التحكم نيابة عن المستخدم المتميز ، مع الأمر الثاني ، نقوم بتحميل متغيرات البيئة من ملف. / Vars. يقوم الأمر. / Clear-all بإنشاء مجلد المفاتيح إذا لم يكن موجودًا ومسح محتوياته. وسيقوم الأمر الأخير بتهيئة المرجع المصدق لدينا. ظهرت الآن جميع المفاتيح الضرورية في مجلد .keys:

تكوين شهادات العميل

sudo cp -R / usr / share / easy-rsa / etc / openvpn /

نحتاج الآن إلى نسخ الشهادة ، ملف .crt إلى مجلد / etc / openvpn على جميع العملاء. على سبيل المثال ، لنقم بتنزيل هذا الملف لعملائنا باستخدام scp:

sudo scp user @ host: /etc/openvpn/easy-rsa/keys/ca.crt / etc / openvpn / easy-rsa / keys

الآن فقط يمكنك إنشاء مفتاحك الخاص بناءً على شهادة CA:

cd / etc / openvpn / easy-rsa /

sudo -i
# مصدر ./vars
# بناء-مطلوب سرقي

يرجى ملاحظة أن ca.crt يجب أن يكون في مجلد المفاتيح ، وإلا فلن يعمل شيء. ستنشئ الأداة الآن مفتاحًا يمكنك من خلاله الاتصال بخادم OpenVPN ، ولكن لا يزال يتعين عليك تسجيله على الخادم. أرسل ملف .csr الناتج إلى الخادم باستخدام نفس ملف scp:

scp /etc/openvpn/easy-rsa/keys/Sergiy.csr user @ host: ~ /

بعد ذلك ، على الخادم ، في المجلد / etc / openvpn / easy-rsa ، تحتاج إلى تنفيذ أمر توقيع الشهادة:

./sign-req ~ / سيرجي

يجب تأكيد توقيع الشهادة. ثم يقوم البرنامج بالإبلاغ عن توقيعه وإضافته إلى قاعدة البيانات. سيظهر ملف .crt في المجلد بشهادة csr ، والتي يجب إرجاعها مرة أخرى إلى جهاز العميل:

sudo scp user @ host: /home/Sergiy.crt / etc / openvpn / easy-rsa / keys

بعد ذلك فقط يكون لدى الخادم والعميل جميع المفاتيح اللازمة للاتصال وإنشاء الاتصال. لا يزال هناك عدد قليل من الإعدادات المتبقية. إذا كنت تخطط لاستخدام تشفير TLS ، فأنت بحاجة إلى إنشاء مجموعة بيانات Diffie-Huffman على الخادم ، لهذا استخدم الأمر:

إعداد OpenVPN

الآن قم بإعداد خادم OpenVPN. افتراضيًا ، لا يوجد شيء في مجلد ملفات تهيئة OpenVPN. تحتاج إلى إنشائها بنفسك ، اعتمادًا على ما تخطط لتكوينه ، خادم أو عميل. يمكن العثور على ملف تكوين OpenVPN المطلوب في / usr / share / doc / openvpn / أمثلة / sample-config-files /. أولاً ، لنقم بإنشاء ملف تهيئة للخادم:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

هناك بعض المعلمات التي تحتاج إلى تعديلها هنا:

ميناءو بروتو- المنفذ والبروتوكول المستخدم من قبل البرنامج ؛

المنفذ 1194
بروتو udp

يجب تسجيل جميع المفاتيح التي تم إنشاؤها في ملف التكوين. يتم تخزين مفاتيحنا في / etc / openvpn / easy-rsa / keys:


cert /etc/openvpn/easy-rsa/keys/ca.crt
مفتاح /etc/openvpn/easy-rsa/keys/ca.key
dh /etc/openvpn/easy-rsa/keys/dh.pem

نقوم بتهيئة نطاق العناوين للشبكة الافتراضية ، وسيكون خادمنا متاحًا في أولها - 10.8.0.1:

الخادم 10.8.0.0 255.255.255.0

بعد الانتهاء من التكوين ، احفظ التغييرات في الملف ، يمكنك إما لصق كل هذا التكوين بنفسك أو تحرير ملف المثال. إعدادات خادم العمل الجاهز:

المنفذ 1194
بروتو udp
شركات-lzo
ديف تون
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
الشبكة الفرعية للطوبولوجيا
الخادم 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf

يمكنك إنشاء ملفات تكوين متعددة للعميل للاتصال بخوادم مختلفة. افتح ملف التكوين وقم بتغيير المعلمات التالية فيه:

التحكم عن بعد- هذا هو عنوان خادم OpenVPN الخاص بك ، يجب أن يتطابق العنوان والمنفذ مع تلك التي تم تكوينها على الخادم ، على سبيل المثال:

بعيد 194.67.215.125 1194

كاليفورنيا- المفتاح الذي تلقيته من المرجع المصدق ، وضعناه في المجلد / etc / openvpn /.

الشهادة والمفتاح- هذه هي المفاتيح العامة والخاصة للعميل ، وبمساعدتها سوف تتصل بالخادم. كما تتذكر ، قمنا بحفظها في المجلد / etc / openvpn / easy-rsa / keys /.

ca /etc/openvpn/easy-rsa/keys/ca.crt

يمكن ترك باقي الإعدادات كما هي. إليك ملف التكوين الكامل الذي يمكنك نسخه:

زبون
ديف تون
بروتو udp
بعيد 194.67.215.125 1194
حل وإعادة المحاولة لانهائية
نبيل
استمرار مفتاح
استمرار تون
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
مفتاح /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
شركات-lzo
فعل 3

احفظ الإعدادات ، العميل جاهز الآن للاتصال. يرجى ملاحظة أن ملفات التكوين يجب أن تتطابق قدر الإمكان ، فقد يؤدي عدم وجود خيارات معينة في أحد الملفات إلى حدوث أخطاء. هذا لا يعني أن الملفات ستكون متطابقة ، ولكن يجب أن تكون المعلمات الأساسية لـ openvpn هي نفسها. تحتاج فقط إلى تشغيل OpenVPN على هذا الجهاز باستخدام ملف التكوين هذا:

openvpn /etc/openvpn/client.conf

تم ، الآن كل شيء يعمل ، إذا قمت بتشغيل ifconfig ، فسترى أنه تمت إضافة واجهة tun0:

يمكنك أيضًا محاولة استخدام عناوين ping 10.8.0.1 ، هذا هو العنوان الذي قمنا بتكوينه لخادم OpenVPN الخاص بنا ، وسيتم إرسال حزم ping بشكل طبيعي. إذا لم تكن الحزم قادمة ، أو كان هناك شيء آخر لا يعمل ، فاحرص على الانتباه إلى إخراج كلا البرنامجين ، فربما كانت هناك أي أخطاء أو تحذيرات ، وتأكد أيضًا من أن جدار الحماية الخاص بالخادم يسمح بالوصول الخارجي عبر udp للمنفذ 1194. يمكنك أيضًا ابدأ الخادم أو العميل ، واضبط مستوى التفاصيل في التكوين على الحد الأقصى من الفعل 9. وغالبًا ما يساعد هذا في فهم سبب عدم عمل شيء ما. لكن لا يمكنك توجيه حركة المرور عبر النفق بعد. للقيام بذلك ، تحتاج إلى تمكين إعادة التوجيه وإضافة بعض قواعد iptables. أولاً ، نسمح بنقل الحزم على الخادم:

sysctl -w net.ipv4.ip_forward = 1

ثم أضف قواعد مثل هذه. نسمح للجميع بالاتصال بخادمنا:

iptables -A INPUT -p udp --dport 1194 -j قبول

نسمح لمستخدمي OpenVPN بالوصول إلى الإنترنت:

iptables -I FORWARD -i tun0 -o eth0 -j قبول
# iptables -I FORWARD -i eth0 -o tun0 -j قبول
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

الاستنتاجات

في هذه المقالة ، نظرنا في كيفية تثبيت OpenVPN Ubuntu وتكوينه ، وكذلك كيفية تكوين openvpn للعمل مع مصادقة المفتاح. يمكن أن يكون تنظيم الشبكات الافتراضية الخاصة مفيدًا جدًا ليس فقط في المؤسسات ، ولكن أيضًا لتبادل البيانات بين جهازي كمبيوتر أو لزيادة الأمان على الشبكة.

إعداد اتصال VPN في دبيان

فيما يلي مثال على كيفية إعداد اتصال VPN لـ Debian Linux عبر سطر الأوامر. لكنها لن تكون أقل فائدة لأصحاب التوزيعات القائمة على دبيان ، على سبيل المثال ، Ubuntu.

  1. تحتاج أولاً إلى حزمة pptp:
    # apt-get install pptp-linux
  2. نقوم بتحرير (أو إنشاء ، إذا لم يكن موجودًا) ملف /etc/ppp/options.pptp. يجب أن تحتوي على المعلمات التالية:
    قفل
    نوح
    nobsdcomp
    عقدة
  3. بعد ذلك ، تحتاج إلى إضافة سطر مثل هذا إلى ملف / etc / ppp / chap-secrets:
    "اسم المستخدم" PPTP "كلمة المرور" *
  4. قم بإنشاء ملف / etc / ppp / peers / XXX (XXX هو اسم الشبكة). اكتب ما يلي فيه:
    pty "pptp vpn.XXX.ru --nolaunchpppd"
    اسم "اسم المستخدم"
    remotename PPTP
    ملف /etc/ppp/options.pptp
    المسار الافتراضي
    يجب استبدال "اسم المستخدم" و "كلمة المرور" باسم المستخدم وكلمة المرور بدون علامات اقتباس ، كما هو محدد في الاتفاقية الخاصة بك. vpn.XXX.ru - عنوان خادم vpn - اسأل مزودك.
  5. لاستبدال المسار الافتراضي تلقائيًا ، أنشئ الملف /etc/ppp/ip-up.d/routes-up:
    # su touch /etc/ppp/ip-up.d/routes-up
    # su chown a + x /etc/ppp/ip-up.d/routes-up

    وندخل فيه ما يلي:
    #! / بن / ش
    / sbin / route del default
    / sbin / route إضافة dev ppp0 الافتراضي
    قم بإنشاء ملف /etc/ppp/ip-down.d/routes-down:
    # su touch /etc/ppp/ip-down.d/routes-down
    # su chown a + x /etc/ppp/ip-down.d/routes-down
    وندخل فيه ما يلي:
    #! / بن / ش
    / sbin / route del default
    / sbin / route إضافة dev eth0 افتراضيًا

  6. يمكنك الآن الاتصال بالأمر:
    # su pon XXX
    للحصول على عرض مفصل للمعلومات حول عملية الاتصال ، اكتب:
    # su pon XXX تصحيح أخطاء تفريغ logfd 2 nodetach
    يمكنك التحقق مما إذا كنت متصلاً بشبكة VPN عن طريق كتابة الأمر ifconfig. إذا كان ناتجه يحتوي على قسم ppp0 ، فأنت متصل ويمكنك البدء في العمل مع الإنترنت. للتعطيل ، اضغط على ctrl + c ، أو اكتب:
    # su poff XXX
  7. لكي يتلقى جهاز الكمبيوتر الخاص بك المسارات من خادمنا ، يجب أن تكون الأسطر التالية موجودة في ملف /etc/dhcp3/dhclient.conf:
    #
    الخيار rfc3442-classless-static-links code 121 = صفيف من الأعداد الصحيحة بدون إشارة 8 ؛
    الخيار ms-classless-static-links code 249 = صفيف من الأعداد الصحيحة بدون إشارة 8 ؛
    #
    طلب قناع الشبكة الفرعية ، عنوان البث ، إزاحة الوقت ، أجهزة التوجيه ، اسم المجال ، خوادم اسم المجال ، بحث المجال ، اسم المضيف ، خوادم أسماء netbios ، نطاق netbios ، واجهة mtu ، مسار ثابت ، rfc3442-classless-static-route، ms-classless-static-path؛
    #
  8. للاتصال بالإنترنت تلقائيًا عند تحميل نظام التشغيل ، قم بإنشاء ملف / etc / init.d / XXX
    # touch /etc/init.d/XXX
    # su chown a + x /etc/init.d/XXX
    # su ln -s /etc/init.d/XXX /etc/rc2.d/S99XXX
    دعنا نكتبها في الآتي:
    #! / بن / ش
    سو / البيرة / بن / بون XXX

في جميع الأوامر ، XXX هو اسم شبكتك.

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

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

الطريقة الأولى: Astrill

Astrill هو أحد برامج واجهة المستخدم الرسومية المجانية التي يتم تثبيتها على جهاز كمبيوتر واستبدال عنوان الشبكة تلقائيًا بعنوان عشوائي أو محدد من قبل المستخدم. يعد المطورون باختيار أكثر من 113 خادمًا وأمانًا وإخفاء الهوية. إجراء التنزيل والتثبيت بسيط للغاية:

  1. انتقل إلى موقع Astrill الرسمي وحدد إصدار Linux.
  2. الرجاء تحديد التجمع المناسب. بالنسبة لمالكي أحدث إصدارات Ubuntu ، فإن حزمة DEB 64 بت مثالية. بمجرد التحديد ، انقر فوق "تنزيل Astrll VPN".
  3. احفظ الملف في مكان مناسب أو افتحه مباشرة من خلال التطبيق القياسي لتثبيت حزم DEB.
  4. انقر فوق الزر "ثبت".
  5. قم بتأكيد صحة الحساب بكلمة مرور وانتظر اكتمال الإجراء. للحصول على خيارات بديلة لإضافة حزم DEB إلى Ubuntu ، راجع مقالتنا الأخرى على الرابط أدناه.
  6. تمت إضافة البرنامج الآن إلى جهاز الكمبيوتر الخاص بك. يبقى فقط تشغيله بالنقر فوق الرمز المقابل في القائمة.
  7. أثناء التنزيل ، يجب أن تكون قد أنشأت حسابًا جديدًا لنفسك ، في نافذة Astrill التي تفتح ، أدخل بياناتك لتسجيل الدخول.
  8. حدد الخادم الأمثل للاتصال. إذا كنت بحاجة إلى تحديد بلد معين ، فاستخدم شريط البحث.
  9. يمكن أن يعمل هذا البرنامج مع العديد من الأدوات التي تسمح لك بإنشاء اتصال VPN في Ubuntu. إذا لم تكن متأكدًا من الخيار الذي تختاره ، فاترك الخيار الافتراضي.
  10. ابدأ الخادم بتحريك شريط التمرير إلى الموضع "على"وانتقل للعمل في المتصفح.
  11. لاحظ أن هناك الآن رمزًا جديدًا على شريط المهام. يؤدي النقر فوقه إلى فتح قائمة التحكم في Astrill. هنا لا يمكنك تغيير الخادم فحسب ، بل يمكنك أيضًا تكوين معلمات إضافية.

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

بالإضافة إلى ذلك ، تجدر الإشارة إلى عبء العمل الدوري للخوادم الشعبية. نوصي بإعادة الاتصال بالمصادر الأخرى القريبة قدر الإمكان من بلدك. بعد ذلك سيكون ping أقل ، ويمكن أن تزيد سرعة نقل الملفات واستلامها بشكل كبير.

الطريقة 2: أداة النظام

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

  1. انقر فوق الزر الموجود على شريط المهام "اتصال"وحدد العنصر "إعدادات".
  2. انتقل إلى القسم "شبكة"باستخدام القائمة الموجودة على اليسار.
  3. ابحث عن قسم VPN وانقر على زر علامة الجمع لمتابعة إنشاء اتصال جديد.
  4. إذا قدم لك مزود الخدمة ملفًا ، فيمكنك استيراد التكوين من خلاله. خلاف ذلك ، يجب إدخال جميع البيانات يدويًا.
  5. في الفصل "هوية"جميع الحقول المطلوبة موجودة. في الميدان "عام""بوابة"أدخل عنوان IP المقدم ، وفي "إضافي"- تلقى اسم المستخدم وكلمة المرور.
  6. بالإضافة إلى ذلك ، هناك معلمات إضافية ، ولكن يجب تغييرها فقط بناءً على توصية مالك الخادم.
  7. في الصورة أدناه ، يمكنك رؤية أمثلة للخوادم المجانية المتوفرة مجانًا. بالطبع ، غالبًا ما تكون غير مستقرة أو محملة أو بطيئة ، ولكن هذا هو الخيار الأفضل لأولئك الذين لا يريدون دفع المال مقابل VPN.
  8. بعد إنشاء اتصال ، كل ما تبقى هو تنشيطه عن طريق تحريك شريط التمرير المقابل.
  9. للمصادقة ، تحتاج إلى إدخال كلمة المرور من الخادم في النافذة التي تظهر.
  10. يمكنك أيضًا إدارة الاتصال الآمن من خلال شريط المهام بالنقر فوق الرمز المقابل بزر الماوس الأيسر.

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

الطريقة الثالثة: امتلاك خادم عبر OpenVPN

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

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

بعد النظر في القضايا النظرية في الأجزاء السابقة ، دعنا ننتقل إلى التنفيذ العملي. سننظر اليوم في إنشاء خادم PPTP VPN على نظام Ubuntu Server الأساسي. هذه المادة مخصصة للقراء الذين يتمتعون بمهارات Linux ، لذلك لن يتم تشتيت انتباهنا بالأشياء التي وصفناها في مقالات أخرى ، مثل تكوين الشبكة ، وما إلى ذلك. إذا كنت تواجه صعوبات - قم أولاً بدراسة موادنا الأخرى.

سنبدأ تعارفنا العملي مع VPN مع PPTP ، وهو أسهل تطبيق في التطبيق. ومع ذلك ، ضع في اعتبارك أن هذا بروتوكول ضعيف الأمان ولا ينبغي استخدامه للوصول إلى البيانات الهامة.

ضع في اعتبارك الدائرة التي أنشأناها في مختبر الاختبار الخاص بنا للحصول على معرفة عملية بهذه التكنولوجيا:

لدينا شبكة محلية 10.0.0.0/24 مع خادم طرفي 10.0.0.2 و 10.0.0.1 ، والذي سيعمل كخادم VPN ، بالنسبة لشبكة VPN ، قمنا بحجز شبكة 10.0.1.0/24. تحتوي واجهة الخادم الخارجية على عنوان IP مخصص شرطي X.X.X. هدفنا هو تزويد العملاء البعيدين بإمكانية الوصول إلى الخادم الطرفي والموارد المشتركة عليه.

إعداد خادم PPTP

قم بتثبيت حزمة pptpd التي تنفذ وظيفة PPTP VPN:

سودو apt-get install pptpd

الآن دعنا نفتح الملف /etc/pptpd.confوقم بتعيين الإعدادات الأساسية لخادم VPN. لننتقل إلى نهاية الملف ، حيث نشير إلى عنوان الخادم في شبكة VPN:

لوكاليب 10.0.1.1

ونطاق العناوين المراد إصدارها للعملاء:

ريموتيب 10.0.1.200-250

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

Bcrelay eth1

سيسمح ذلك لعملاء VPN ببث الحزم على الشبكة الداخلية.

يمكنك أيضًا استخدام الخيارات استمعو سرعة، الأول يسمح لك بتحديد عنوان IP للواجهة المحلية للاستماع إلى اتصالات PPTP الواردة ، والثاني لتحديد سرعة اتصالات VPN في bps. على سبيل المثال ، لنسمح للخادم بقبول اتصالات PPTP فقط من الواجهة الخارجية:

استمع X.X.X.X

توجد إعدادات أكثر دقة في الملف / etc / ppp / pptpd-options... تتوافق الإعدادات الافتراضية تمامًا مع متطلباتنا ، لكننا سنراجع بعضًا منها بإيجاز حتى يكون لديك فكرة عن الغرض منها.

قسم # التشفيرمسؤول عن تشفير البيانات والمصادقة. تحظر هذه الخيارات استخدام بروتوكولات PAP و CHAP و MS-CHAP القديمة وغير الآمنة:

يرفض باب
الفصل القمامة
رفض- mschap

تتطلب- mschap-v2
تتطلب- mppe-128

القسم التالي # الشبكة والتوجيه، هنا يجب الانتباه إلى الخيار مللي نظام أسماء النطاقاتالذي يسمح باستخدام خادم DNS على الشبكة الداخلية. يمكن أن يكون هذا مفيدًا عند وجود بنية المجال للشبكة أو وجود خادم DNS فيها يحتوي على أسماء جميع أجهزة الكمبيوتر في الشبكة ، مما يجعل من الممكن الرجوع إلى أجهزة الكمبيوتر بأسمائها ، وليس فقط عن طريق IP. في حالتنا ، هذا الخيار عديم الفائدة ويتم التعليق عليه. وبالمثل ، يمكنك تعيين عنوان خادم WINS مع الخيار ms- يفوز.

هنا هو الخيار بروكسيارب، بما في ذلك ، كما قد تتخيل من الاسم ، دعم الخادم الوكيل ARP.

في القسم #متفرقاتيحتوي على خيار قفل، مما يقصر العميل على اتصال واحد.

إيفانوف * 123 *
بتروف * 456 10.0.1.201

يسمح الإدخال الأول للمستخدم ivanov بالاتصال بالخادم باستخدام كلمة المرور 123 ويخصص له عنوان IP تعسفيًا ، بينما يُنشئ الإدخال الثاني المستخدم petrov بكلمة المرور 456 ، والذي سيتم تعيين العنوان الدائم 10.0.1.201 عند الاتصال به.

إعادة بدء pptpd:

أعد تشغيل Sudo /etc/init.d/pptpd

ملاحظة مهمة! لو pptpdلا تريد إعادة التشغيل ، والتجميد في البداية ، ولكن في / var / log / syslogمضيفا الخط تجاهل سطر ملف التكوين الطويلتأكد من الإضافة إلى نهاية الملف /etc/pptpd.confالخط مقطوع.

خادمنا جاهز للذهاب.

تكوين أجهزة الكمبيوتر العميلة

بشكل عام ، يكفي تكوين اتصال VPN بالخيارات الافتراضية. ومع ذلك ، ننصحك بتحديد نوع الاتصال بشكل صريح وتعطيل بروتوكولات التشفير غير الضرورية.

علاوة على ذلك ، بناءً على بنية الشبكة ، يجب عليك تحديد المسارات الثابتة والعبّارة الافتراضية. تمت مناقشة هذه الأسئلة بالتفصيل في الأجزاء السابقة.

نقوم بتأسيس اتصال VPN ونحاول اختبار اتصال أي جهاز كمبيوتر في الشبكة المحلية ، وتمكنا من الوصول إلى الخادم الطرفي دون أي صعوبة:

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

إذا كان للشبكة المحلية بنية مجال ، يكفي تحديد خادم DNS لاتصال VPN بخادم DNS لوحدة تحكم المجال. استخدم الخيار مللي نظام أسماء النطاقاتفي / etc / ppp / pptpd-optionsسيتلقى العميل بيانات الخادم والإعداد تلقائيًا.

إذا لم يكن هناك خادم DNS في الشبكة المحلية ، فيمكنك إنشاء واستخدام خادم WINS ، ويمكن أيضًا نقل المعلومات المتعلقة به تلقائيًا إلى العملاء باستخدام الخيار ms- يفوز... وأخيرًا ، إذا كان هناك عدد قليل من العملاء البعيدين ، فاستخدم الملفات الموجودة على أجهزة الكمبيوتر العميلة المضيفين(C: \ Windows \ System32 \ drivers \ etc \ hosts) ، حيث يجب إضافة أسطر مثل.

هل ترغب في الحصول على اتصال آمن ومضمون بالإنترنت من هاتفك الذكي أو الكمبيوتر المحمول أثناء الاتصال بشبكة غير آمنة عبر شبكة WiFi في فندق أو مقهى؟ تسمح لك الشبكة الافتراضية الخاصة (VPN) باستخدام شبكات غير آمنة كما لو كنت على شبكة خاصة. تمر كل حركة المرور الخاصة بك في هذه الحالة عبر خادم VPN.

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

يمكنك نقل ملف تعريف من جهاز الكمبيوتر الخاص بك إلى هاتفك عن طريق توصيل جهاز Android بجهاز الكمبيوتر الخاص بك عبر USB ونسخ الملف. يمكنك أيضًا نقل ملف التعريف باستخدام بطاقة SD عن طريق نسخ ملف التعريف إلى البطاقة وإدخال البطاقة في جهاز Android الخاص بك.

قم بتشغيل تطبيق OpenVPN وانقر فوق القائمة لاستيراد ملف التعريف.

مجمع

اضغط على الزر لتأسيس اتصال. الاتصال... سيتم سؤالك عما إذا كنت تثق في تطبيق OpenVPN. إجابه حسنالتأسيس اتصال. لإيقاف الاتصال ، انتقل إلى تطبيق OpenVPN واختر قطع الاتصال.

الخطوة 13. اختبار اتصال VPN

بعد تثبيت كل شيء وتكوينه ، دعنا نتأكد من أن كل شيء يعمل بشكل صحيح. بدون إنشاء اتصال VPN ، افتح متصفحًا وانتقل إلى DNSLeakTest.

سيعيد هذا الموقع عنوان IP الذي عينه لك موفر خدمة الإنترنت. للتحقق من أي خوادم DNS قيد الاستخدام ، انقر فوق اختبار موسع.

الآن قم بإنشاء اتصال باستخدام عميل VPN الخاص بك وقم بتحديث الصفحة في متصفحك. يجب أن يكون عنوان IP المعطى لك مختلفًا تمامًا. أنت الآن تستخدم عنوان IP الجديد هذا للجميع على الإنترنت. انقر فوق اختبار موسعمرة أخرى للتحقق من إعدادات DNS الخاصة بك وتأكد من أنك تستخدم الآن خادم DNS الخاص بشبكة VPN.

الخطوة 14. إبطال شهادات العميل

من وقت لآخر ، قد تحتاج إلى إبطال شهادة العميل لمنع الوصول إلى خادم VPN &

للقيام بذلك ، انتقل إلى دليل المرجع المصدق وأدخل الأوامر:

  • القرص المضغوط ~ / openvpn-ca
  • فارز المصدر
  • ./revoke-full client3

سينتهي إخراج هذا الأمر بالخطأ 23. هذا أمر طبيعي. نتيجة لذلك ، سيتم إنشاء ملف crl.pem في دليل المفاتيح بالمعلومات اللازمة لإبطال الشهادة.

انقل هذا الملف إلى الدليل / etc / openvpn:

  • sudo cp ~ / openvpn-ca / keys / crl.pem / etc / openvpn
  • sudo nano /etc/openvpn/server.conf

أضف crl-check في نهاية الملف. سيتحقق خادم OpenVPN من قائمة الشهادات الباطلة (CRL) في كل مرة يتصل فيها شخص ما بالخادم.

/etc/openvpn/server.conf

Crl- تحقق من crl.pem

أحفظ وأغلق الملف.

أعد تشغيل OpenVPN لإكمال عملية إبطال الشهادة:

الآن لن يتمكن العميل من إنشاء اتصال بخادم OpenVPN باستخدام الشهادة القديمة.

لإلغاء الشهادات الإضافية ، اتبع الخطوات التالية:

    قم بإنشاء قائمة إبطال جديدة باستخدام الأمر source vars في الدليل ~ / openvpn-ca وتنفيذ الأمر revoke-full باسم العميل.

    انسخ CRL الجديد إلى / etc / openvpn ، واستبدل القائمة القديمة.

    أعد تشغيل خدمة OpenVPN.

يمكن استخدام هذا الإجراء لإبطال أي شهادات قمت بإنشائها مسبقًا.

استنتاج

تهانينا! يمكنك الآن الوصول إلى الإنترنت بأمان ، وكل حركة المرور الخاصة بك محمية من التنصت بواسطة الرقباء والمتطفلين.

كرر الخطوات لتكوين عملاء إضافيين 6 و 11-13 لكل جهاز جديد. لإبطال الوصول لعميل معين ، استخدم الخطوة 14 .