خدمة VPN Wireguard مجانية على AWS
المنطق
تؤدي زيادة رقابة الإنترنت من قبل الأنظمة الاستبدادية إلى توسيع نطاق حجب موارد الإنترنت المفيدة مما يجعل من المستحيل استخدام شبكة الإنترنت ، وهو ينتهك في جوهره الحق الأساسي في حرية الرأي والتعبير المنصوص عليه في الإعلان العالمي لحقوق الإنسان .
المادة 19
لكل فرد الحق في حرية الرأي والتعبير. يشمل هذا الحق حرية اعتناق الآراء دون تدخل والسعي إلى المعلومات والأفكار وتلقيها ونقلها من خلال أي وسائط وبغض النظر عن الحدود.
فيما يلي الإرشادات التفصيلية المكونة من 6 خطوات للأشخاص الذين لا يستخدمون تقنية المعلومات لنشر خدمة VPN مجانية * على تقنية Wireguard في البنية التحتية السحابية من Amazon Web Services (AWS) ، وذلك باستخدام حساب مجاني لمدة 12 شهرًا ، على مثيل (جهاز افتراضي) يديره خادم Ubuntu 04/18 LTS.
حاولت أن أجعل هذا التجوال ودودًا قدر الإمكان للأشخاص البعيدين عن تكنولوجيا المعلومات. الشيء الوحيد المطلوب هو الجدية في تكرار الخطوات الموضحة أدناه.
مذكرة
مراحل
- تسجيل حساب AWS.
- إنشاء مثيل AWS.
- الاتصال مثيل AWS.
- تكوين خادم Wireguard.
- تكوين عملاء VPN.
- تحقق من اتصال VPN.
روابط مفيدة
المؤلفون
1. سجل حساب AWS المجاني
لتسجيل حساب AWS ، تحتاج إلى تقديم رقم هاتف صالح وبطاقة مصرفية (فيزا أو ماستركارد). أوصي باستخدام البطاقات الافتراضية المقدمة مجانًا بواسطة محفظة Yandex.Money أو Qiwi .
تقوم AWS بالتحقق من صلاحية البطاقة عن طريق خصم 1 دولار عند التسجيل ثم إعادة الأموال.
1.1. فتح وحدة تحكم إدارة AWS
اتبع الرابط: https://aws.amazon.com/ ، انقر على زر إنشاء حساب AWS .

1.2. إنشاء حساب AWS
املأ البيانات وانقر فوق الزر " متابعة" .


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

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

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

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

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

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

- باريس

- فرانكفورت

- ستوكهولم

- لندن

يُظهر Datacenter في لندن أفضل نتيجة للسرعة ، لذلك اخترتها للمتابعة.
2. إنشاء مثيل AWS
2.1 إنشاء جهاز ظاهري (مثيل)
2.1.0. اتبع خطوات إنشاء المثيل
2.1.0.1. انتقل إلى صفحة تشغيل مثيل ، اختر خدمة EC-2

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

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

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

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

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

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

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 بلوحة التنقل. انقر فوق زر تخصيص عنوان جديد .

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

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

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

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

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

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

3. الاتصال على سبيل المثال AWS
SSH هو بروتوكول آمن لإدارة أجهزة الكمبيوتر عن بعد.
3.1. الاتصال من جهاز كمبيوتر يعمل بنظام Windows عبر SSH
قم بتنزيل المعجون وتثبيته لإجراء اتصال من كمبيوتر يعمل بنظام Windows.
3.1.1. استيراد مفتاح خاص للمعجون
3.1.1.1. استيراد مفتاح AWS إلى المعجون
قم بتشغيل الأداة المساعدة PuTTYgen لمطابقة مفتاح AWS الخاص بك بتنسيق .pem بتنسيق .ppk مناسب للمعجون.
للقيام بذلك ، حدد التحويلات -> استيراد مفتاح من القائمة العلوية.

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

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

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

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

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

3.1.2.3. استخدام مفتاح خاص للاتصال 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 الجاهز.

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

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

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

يوجد أدناه تعليمات حول تثبيت 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. ستحتاج في حالة التكوين اليدوي للعملاء كما هو موضح أدناه.

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.1. إعداد عميل أندرويد للجوال
قم بتنزيل عميل Wireguard المحمول لنظام Android من متجر GooglePlay الرسمي .
مسح رمز الاستجابة السريعة لاستيراد تكوين العميل (انظر 4.2.2 ) وتعيين اسم له.

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

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.

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

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

في محطة Linux ، يمكنك التحقق من عنوان IP الخاص بك عن طريق تنفيذ الأمر التالي:
curl http://zx2c4.com/ip