خدمة VPN Wireguard مجانية على AWS

خدمة VPN Wireguard مجانية على AWS


المنطق


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


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

فيما يلي الإرشادات التفصيلية المكونة من 6 خطوات للأشخاص الذين لا يستخدمون تقنية المعلومات لنشر خدمة VPN مجانية * على تقنية Wireguard في البنية التحتية السحابية من Amazon Web Services (AWS) ، وذلك باستخدام حساب مجاني لمدة 12 شهرًا ، على مثيل (جهاز افتراضي) يديره خادم Ubuntu 04/18 LTS.


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


مذكرة


مراحل


  1. تسجيل حساب AWS.
  2. إنشاء مثيل AWS.
  3. الاتصال مثيل AWS.
  4. تكوين خادم Wireguard.
  5. تكوين عملاء VPN.
  6. تحقق من اتصال VPN.



المؤلفون



1. سجل حساب AWS المجاني


لتسجيل حساب AWS ، تحتاج إلى تقديم رقم هاتف صالح وبطاقة مصرفية (فيزا أو ماستركارد). أوصي باستخدام البطاقات الافتراضية المقدمة مجانًا بواسطة محفظة Yandex.Money أو Qiwi .
تقوم AWS بالتحقق من صلاحية البطاقة عن طريق خصم 1 دولار عند التسجيل ثم إعادة الأموال.


1.1. فتح وحدة تحكم إدارة AWS


اتبع الرابط: https://aws.amazon.com/ ، انقر على زر إنشاء حساب AWS .


الأمازون AWS صفحة البداية


1.2. إنشاء حساب AWS


املأ البيانات وانقر فوق الزر " متابعة" .


إنشاء حساب AWS


1.3. معلومات الاتصال لحساب AWS


معلومات الاتصال لحساب AWS


1.4. تحديد معلومات الفواتير


رقم البطاقة وتاريخ انتهاء الصلاحية واسم حامل البطاقة.


تحديد معلومات الفواتير


1.5. التحقق من الحساب


تقوم AWS بالتحقق من رقم هاتفك وخصم 1 دولار من بطاقتك المصرفية. ثم يجب أن تحصل على رمز مكون من 4 أرقام على شاشة الكمبيوتر وتتلقى مكالمة من أمازون. أثناء المكالمة ، تحتاج إلى طلب الرمز المكون من 4 أرقام الظاهر على الشاشة.


التحقق من الحساب


1.6. اختيار خطة دعم AWS


اختر خطة أساسية (مجانًا).


اختيار خطة دعم AWS


تسجيل الدخول إلى وحدة التحكم بالإدارة AWS


تسجيل الدخول إلى وحدة التحكم بالإدارة AWS


1.8. اختيار موقع مركز البيانات


اختيار موقع مركز البيانات


1.8.1. اختبار سرعة الإنترنت


أوصيك بإجراء اختبار سرعة إلى أقرب مركز بيانات على https://speedtest.net/ واختيار الأفضل للاتصال به.


فيما يلي نتائج اختبار السرعة من موقعي:


  • سنغافورة
    سنغافورة
  • باريس
    باريس
  • فرانكفورت
    فرانكفورت
  • ستوكهولم
    ستوكهولم
  • لندن
    لندن

يُظهر Datacenter في لندن أفضل نتيجة للسرعة ، لذلك اخترتها للمتابعة.


2. إنشاء مثيل AWS


2.1 إنشاء جهاز ظاهري (مثيل)


2.1.0. اتبع خطوات إنشاء المثيل


2.1.0.1. انتقل إلى صفحة تشغيل مثيل ، اختر خدمة EC-2


انتقل إلى صفحة تشغيل مثيل ، اختر خدمة EC-2


2.1.0.2. قم بتشغيل خادم افتراضي ، يعرف باسم Amazon EC-2 Instance


قم بتشغيل خادم افتراضي ، يعرف باسم Amazon EC-2 Instance


2.1.0.3. اختر صورة آلة Amazon (نظام التشغيل) - خادم Ubuntu 18.04 LTS


اختر صورة جهاز Amazon (نظام التشغيل)


2.1.1. اختر نوع مثيل


يتم تعيين نوع المثيل t2.micro افتراضيًا وهو النوع t2.micro يجب t2.micro . انقر على زر التالي: تكوين تفاصيل مثيل للمتابعة.


اختر نوع مثيل


2.1.2. تكوين تفاصيل مثيل


قم بتعطيل التعيين التلقائي لعنوان IP العام حيث ستقوم بتعيين تعيين ثابت لمثيلك. انقر على زر التالي: إضافة التخزين .


تكوين تفاصيل مثيل


2.1.3. إضافة التخزين


حدد حجم محرك الأقراص - سعة 16 جيجابايت كافية.
انقر فوق التالي: زر إضافة علامات .


إضافة التخزين


2.1.4. إضافة علامات


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


إضافة علامات


2.1.5. فتح المنافذ


قم بتكوين جدار الحماية عن طريق تعيين المنافذ المفتوحة. تسمى مجموعة المنافذ المفتوحة "مجموعة الأمان". تحتاج إلى إنشاء "مجموعة أمان" جديدة ، ومنحها اسمًا ووصفًا ومنفذًا لـ UDP (قاعدة UDP مخصصة).
في مجال Port Range ، حدد رقم منفذ من النطاق 49152 - 65535 من المنافذ الحيوية . في حالتي ، اخترت رقم المنفذ 54321.
انقر على زر المراجعة والتشغيل لإكمال هذه الخطوة.


فتح المنافذ


2.1.6. مراجعة إعدادات تشغيل مثيل


قم بمراجعة وتحقق من جميع الإعدادات الخاصة ببدء تشغيل مثيل ، وإذا كان كل شيء على ما يرام ، فانقر فوق زر التشغيل


مراجعة إعدادات تشغيل مثيل


2.1.7. إنشاء مفاتيح الوصول


قم بإنشاء أو إضافة مفتاح SSH موجود في مربع الحوار الذي ستستخدمه للاتصال عن بعد بمثيلك.
اختر "إنشاء زوج مفاتيح جديد" لإنشاء مفتاح جديد. قم بتسميته وانقر فوق الزر Download Key Pair لتنزيل المفتاح الذي تم إنشاؤه على محرك الكمبيوتر. انقر فوق الزر "تشغيل مثيلات" .


إنشاء مفاتيح الوصول


2.1.7.1. حفظ المفاتيح الخاصة (.pem)


عند النقر فوق Download Key Pair ، تقوم بحفظ المفتاح كملف .pem.
من أجل تحسين الإدارة ، قمت بتعيين اسم wireguard-awskey.pem للملف.


حفظ المفاتيح الخاصة


2.1.8. ملخص إطلاق مثيل


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


ملخص إطلاق مثيل


2.2. إنشاء عنوان IP خارجي


2.2.1. إنشاء IP خارجي


التالي هو إنشاء عنوان IP خارجي ، ستستخدمه للاتصال بخادم VPN.
ابحث عن IPs المرن في فئة NETWORK & SECURITY بلوحة التنقل. انقر فوق زر تخصيص عنوان جديد .


إنشاء IP خارجي


2.2.2. إعداد IP الخارجي


في الخطوة التالية ، تحتاج إلى تمكين تجمع Amazon (والذي يكون افتراضيًا) ، وانقر فوق الزر " تخصيص"


إعداد IP الخارجي


2.2.3. نظرة عامة على عنوان IP


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


نظرة عامة على عنوان IP


2.2.4. قائمة عناوين IP الخارجية


بعد ذلك ، يجب أن تحصل على قائمة بعناوين IP العامة الخاصة بك (Elastics IPs).


قائمة عناوين IP الخارجية


2.2.5. تعيين عنوان IP خارجي للمثيل


اختر عنوان IP من القائمة (انظر 2.2.3) ، وانقر فوق زر الماوس الأيمن لقائمة منسدلة.
في هذه القائمة ، اختر عنوان Associate لتعيين IP للمثيل الذي تم إنشاؤه.


تعيين عنوان IP خارجي للمثيل


2.2.6. ربط عنوان مع مثيل


في القائمة المنسدلة ، حدد المثيل الذي تم إنشاؤه ، وانقر فوق الزر اقتران .


ربط عنوان مع مثيل


2.2.7. ملخص مهمة IP الخارجية


يجب أن يكون لديك الآن مثيل تم إنشاؤه بعنوان IP عام معين. يمكّنك هذا من إجراء اتصال عن بعد إلى المثيل من الخارج (من جهاز الكمبيوتر الخاص بك) عبر SSH.


ملخص مهمة IP الخارجية


3. الاتصال على سبيل المثال AWS


SSH هو بروتوكول آمن لإدارة أجهزة الكمبيوتر عن بعد.


3.1. الاتصال من جهاز كمبيوتر يعمل بنظام Windows عبر SSH


قم بتنزيل المعجون وتثبيته لإجراء اتصال من كمبيوتر يعمل بنظام Windows.


3.1.1. استيراد مفتاح خاص للمعجون


3.1.1.1. استيراد مفتاح AWS إلى المعجون


قم بتشغيل الأداة المساعدة PuTTYgen لمطابقة مفتاح AWS الخاص بك بتنسيق .pem بتنسيق .ppk مناسب للمعجون.
للقيام بذلك ، حدد التحويلات -> استيراد مفتاح من القائمة العلوية.


استيراد مفتاح AWS إلى المعجون


3.1.1.2. مفتاح AWS بتنسيق PEM


بعد ذلك ، اختر المفتاح الذي تعاملت معه في 2.1.7.1
في حالتي هو wireguard-awskey.pem .


مفتاح AWS بتنسيق PEM


3.1.1.3. تعيين المعلمات استيراد مفتاح


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


تعيين المعلمات استيراد مفتاح


3.1.1.4. حفظ المفتاح .ppk المستوردة


يمكنك حفظ المفتاح الخاص بتنسيق .ppk مناسب لـ Putty من مربع الحوار حفظ الملف.
حدد اسم المفتاح (في حالتي ، wireguard-awskey.ppk ) وانقر فوق الزر حفظ .


حفظ المفتاح .ppk المستوردة


3.1.2. إنشاء وتكوين اتصال في المعجون


3.1.2.1. إجراء اتصال


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


إجراء اتصال


3.1.2.2. تعيين تسجيل دخول تلقائي للمستخدم


اختر فئة البيانات الفرعية من فئة الاتصال . أدخل اسم مستخدم تسجيل الدخول التلقائي أوبونتو في حقل اسم المستخدم تسجيل الدخول التلقائي . ( أوبونتو هو مستخدم المثيل القياسي على AWS مع أوبونتو).


تعيين تسجيل دخول تلقائي للمستخدم


3.1.2.3. استخدام مفتاح خاص للاتصال SSH


اتبع المسار اتصال -> SSH -> مصادقة الفئة الفرعية وانقر على زر تصفح لاختيار ملف المفتاح الخاص.


استخدام مفتاح خاص للاتصال SSH


3.1.2.4. افتح ملف المفتاح الخاص


حدد المفتاح الذي قمت باستيراده مسبقًا في الخطوة wireguard-awskey.ppk - wireguard-awskey.ppk ، وانقر فوق الزر فتح .


افتح ملف المفتاح الخاص


3.1.2.5. حفظ التغييرات وإطلاق اتصال SSH عن بعد


في فئة جلسة نافذة تكوين المعجون ، اضغط على زر حفظ لتطبيق جميع التغييرات التي أجريتها في ( 3.1.2.2 - 3.1.2.4 ).
انقر فوق الزر " فتح" لبدء الاتصال البعيد SSH الجاهز.


حفظ التغييرات وإطلاق اتصال SSH عن بعد


3.1.2.7. تعيين الثقة بين المضيفين


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


تعيين الثقة بين المضيفين


3.1.2.8. أدخل كلمة المرور لتنشيط المفتاح


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


أدخل كلمة المرور لتنشيط المفتاح


3.1.2.9. اتصال ناجح


بمجرد إدخال كلمة المرور الصحيحة ، يجب أن تحصل على نص ترحيب. يعلمك أن النظام البعيد جاهز لتنفيذ الأوامر الخاصة بك.


اتصال ناجح


4. تكوين خادم Wireguard


يوجد أدناه تعليمات حول تثبيت Wireguard وإدارته بواسطة البرامج النصية.
أحتفظ بأحدث إصدار من التعليمات في المستودع: https://github.com/isystem-io/wireguard-aws


4.1. تثبيت wireguard


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


4.1.1. استنساخ مستودع البرامج النصية


استنساخ مستودع البرامج النصية لتثبيت Wireguard:


 git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws 

4.1.2. دليل البرامج النصية مستودع


انتقل إلى دليل مستودع المستنسخة:


 cd wireguard_aws 

4.1.3 النصي التهيئة


قم بتشغيل البرنامج النصي لتثبيت Wireguard ضمن حقوق المسؤول (مستخدم الجذر):


 sudo ./initial.sh 

يطلب منك البرنامج النصي توفير البيانات التالية لتكوين Wireguard.


4.1.3.1. ضبط نقطة نهاية الاتصال (IP: port)


أدخل عنوان IP الخارجي (انظر 2.2.3 ) والمنفذ المفتوح (انظر 2.1.5 ) لخادم Wireguard. استخدم التنسيق التالي IP: منفذ ، على سبيل المثال ، 4.3.2.1:54321 . اضغط على مفتاح Enter للتأكيد.


 Enter the endpoint (external ip and port) in format[ipv4:port] (eg 4.3.2.1:54321): 4.3.2.1:54321 

4.1.3.2. تعيين عنوان IP الداخلي


أدخل عنوان IP لخادم Wireguard في شبكة VPN آمنة. إذا كنت لا تعرف ما هو عليه ، فاضغط على مفتاح Enter لتعيين القيمة الافتراضية ( 10.50.0.1 ).


 Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1): 

4.1.3.3. حدد خادم DNS


أدخل عنوان IP لخادم DNS ، أو اضغط على المفتاح Enter لتعيين القيمة الافتراضية 1.1.1.1 (Cloudflare public DNS).


 Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1): 

4.1.3.4. حدد واجهة WAN


أدخل اسم واجهة الشبكة الخارجية. ستشعر هذه الواجهة بواجهة الشبكة الداخلية لـ VPN.
اضغط على Enter لتعيين الافتراضي لـ AWS ( eth0 )


 Enter the name of the WAN network interface ([ENTER] set to default: eth0): 

4.1.3.5. حدد اسم العميل


لا يمكن بدء تشغيل خادم Wireguard VPN حتى تضيف عميلًا واحدًا على الأقل. أدخل اسم مستخدم VPN.
في حالتي ، أدخلت اسم Alex @ mobil.


 Enter VPN user name: Alex@mobile 

بعد ذلك ، يجب أن تتلقى رمز الاستجابة السريعة لتكوين العميل المضافة. ينطبق QR هذا على تهيئة المستخدم على عميل Wireguard المحمول على Android أو iOS.
يتم عرض نص ملف التكوين أيضًا مع QR. ستحتاج في حالة التكوين اليدوي للعملاء كما هو موضح أدناه.


استكمال تركيب Wireguard


4.2. إضافة مستخدم VPN جديد


لإضافة مستخدم جديد ، تحتاج إلى تشغيل البرنامج النصي add-client.sh في المحطة


 sudo ./add-client.sh 

يطلب البرنامج النصي اسم المستخدم:


 Enter VPN user name: 

يمكن أن يتطابق اسم المستخدم كمعلمة نصية (في حالتي ، اسم المستخدم هو Alex @ mobile):


 sudo ./add-client.sh Alex@mobile 

يؤدي تنفيذ البرنامج النصي إلى إنشاء ملف تكوين العميل في دليل العميل.
ملف تهيئة العميل: /etc/wireguard/clients/{ClientName}/{ClientName}.conf .
دليل العميل:
/etc/wireguard/clients/{ClientName}


4.2.1. ملف تكوين المستخدم


قم .conf الأمر cat للحصول على محتويات ملف .conf للتكوين اليدوي للعميل.


 sudo cat/etc/wireguard/clients/Alex@mobile/Alex@mobile.conf 

نتيجة تنفيذ الأوامر على النحو التالي:


 [Interface] PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit + jbzT5cshNUi8zlM = Address = 10.50.0.2/32 DNS = 1.1.1.1 [Peer] PublicKey = mLnd + mul15U0EP6jCH5MRhIAjsfKYuIU / j5ml8Z2SEk = PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc = AllowedIPs = 0.0.0.0/0, :: / 0 Endpoint = 4.3.2.1:54321 

وصف ملف تكوين العميل:


 [Interface] PrivateKey = Client's private key Address = Client IP Address DNS = DNS used by the client [Peer] PublicKey = Public key server PresharedKey = Shared server and client key AllowedIPs = Allowed addresses for connection (all - 0.0.0.0/0, :: / 0) Endpoint = IP address and port for connection 

4.2.2. تكوين العميل مع رمز الاستجابة السريعة


qrencode -t ansiutf8 الأمر qrencode -t ansiutf8 للحصول على QR qrencode -t ansiutf8 عميل تم إنشاؤه. (في حالتي ، اسم العميل الجديد هو Alex @ mobile).


 sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8 

5. تكوين عملاء VPN


5.1. إعداد عميل أندرويد للجوال


قم بتنزيل عميل Wireguard المحمول لنظام Android من متجر GooglePlay الرسمي .


مسح رمز الاستجابة السريعة لاستيراد تكوين العميل (انظر 4.2.2 ) وتعيين اسم له.


إعداد عميل أندرويد للجوال


بعد استيراد التكوين ، يمكنك تمكين نفق VPN. يؤكد رمز مفتاح صغير في نظام Android اتصال VPN.


تم تأسيس اتصال Wireguard بنجاح على Android


5.2. إعداد عميل Windows


قم بتنزيل وتثبيت TunSafe ، وهو عميل Wireguard لنظام Windows.


5.2.1. قم بإنشاء ملف نصي محلي لاستيراد التكوين


إنشاء ملف نصي وهمية على سطح المكتب لجهاز الكمبيوتر الخاص بك.


إنشاء ملف نصي


5.2.2. انسخ ملف التكوين من الخادم


انسخ محتويات ملف التكوين من الخادم.
بعد ذلك ، عد إلى محطة المعجون وعرض محتويات ملف تكوين المستخدم (انظر 4.2.1 ).
استخدم زر الماوس الأيمن للماوس لنسخ نص التكوين في المعجون.


نسخ النص مع التكوين


5.2.3. الصق نص التكوين في ملف نصي محلي


الصق نص التكوين من الحافظة إلى ملف نصي وهمية أنشأناه في وقت سابق على سطح المكتب (انظر 5.2.1 ).


لصق النص مع التكوين


5.2.4. احفظ ملف التكوين المحلي


احفظ الملف النصي بتنسيق .conf (في حالتي باسم london.conf )


احفظ ملف التكوين المحلي


5.2.5. استيراد ملف التكوين المحلي


استيراد ملف التكوين إلى برنامج TunSafe.


استيراد ملف التكوين المحلي إلى TunSafe


5.2.6. تأسيس اتصال VPN


في برنامج TunSafe ، حدد ملف التكوين الذي تم استيراده وانقر فوق الزر " اتصال" .


تأسيس اتصال VPN


6. تحقق من اتصال VPN


استخدم مورد https://2ip.ua/ar/ للتحقق من اتصال نفق VPN. إذا كان عنوان IP المعروض يطابق العنوان الذي وصلنا إليه في 2.2.3 ، فإن نفق VPN يعمل.


الاتصال بخادم VPN من خلال TunSafe


في محطة Linux ، يمكنك التحقق من عنوان IP الخاص بك عن طريق تنفيذ الأمر التالي:


 curl http://zx2c4.com/ip 

Source: https://habr.com/ru/post/ar449234/


All Articles