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

1.2. تعبئة البيانات الشخصية
املأ البيانات وانقر على زر "متابعة"

1.3. ملء تفاصيل الاتصال
ملء تفاصيل الاتصال.

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

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

1.6. اختيار خطة التعريفة
اختر - الخطة الأساسية (مجانًا)

1.7. تسجيل الدخول إلى وحدة التحكم في الإدارة

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

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

- باريس

- فرانكفورت

- ستوكهولم

- لندن

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

2.1.0.2. إطلاق تجول إنشاء مثيل

2.1.0.3. اختيار نوع نظام تشغيل مثيل

2.1.1. اختر نوع المثيل
افتراضيًا ، يتم تحديد مثيل t2.micro ، نحتاج إليه ، فقط انقر فوق الزر " التالي": تكوين مثيل التفاصيل

2.1.2. تكوين معلمات مثيل
في المستقبل ، سنقوم بتوصيل عنوان IP عام دائم بمثيلنا ، لذلك في هذه المرحلة ، نقوم بإيقاف تشغيل التعيين التلقائي للملكية الفكرية العامة ، وانقر فوق التالي: إضافة وحدة تخزين

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

2.1.4. تخصيص العلامة
إذا أنشأنا عدة مثيلات ، فيمكن تجميعها حسب العلامات ، لتسهيل الإدارة. في هذه الحالة ، تكون هذه الوظيفة زائدة عن الحاجة ، انقر فوق الزر التالي فورًا : تكوين Security Gorup

2.1.5. فتح ميناء
في هذه المرحلة ، نقوم بتكوين جدار الحماية عن طريق فتح المنافذ المطلوبة. تسمى مجموعة المنافذ المفتوحة مجموعة الأمان. نحتاج إلى إنشاء مجموعة أمان جديدة ، ومنحها اسمًا ووصفًا ، وإضافة منفذ UDP (قاعدة UDP مخصصة) ، في حقل نطاق التمدد ، تحتاج إلى تعيين رقم منفذ من نطاق المنفذ الديناميكي 49152–65535. في هذه الحالة ، اخترت رقم المنفذ 54321.

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

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

2.1.7.1. حفظ مفاتيح المرور
يظهر هنا خطوة حفظ المفاتيح التي تم إنشاؤها من الخطوة السابقة. بعد أن نقرت على زر Download Key Pair ، يتم حفظ المفتاح كملف شهادة بالملحق * .pem. في هذه الحالة ، أعطيتها اسم wireguard-awskey.pem

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

2.2. إنشاء عنوان IP خارجي
2.2.1. ابدأ في إنشاء عنوان IP خارجي
بعد ذلك ، نحتاج إلى إنشاء عنوان IP خارجي دائم يمكننا من خلاله الاتصال بخادم VPN الخاص بنا. للقيام بذلك ، في لوحة التنقل على الجانب الأيسر من الشاشة ، حدد عنصر IPs المرن من فئة NETWORK & SECTURITY وانقر على زر تخصيص عنوان جديد

2.2.2. تكوين إنشاء IP الخارجي
في الخطوة التالية ، نحتاج إلى تمكين خيار Amazon pool (يتم تمكينه افتراضيًا) ، ثم انقر فوق الزر " تخصيص"

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

2.2.4. قائمة عناوين IP الخارجية
بعد ذلك ، نفتح قائمة بعناوين IP العامة الدائمة لدينا (elastics IP).

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

2.2.6. تكوين تعيين IP الخارجي
في الخطوة التالية ، حدد مثيلنا من القائمة المنسدلة ، وانقر فوق الزر Associate

2.2.7. نظرة عامة على نتائج تخصيص IP الخارجي
بعد ذلك ، يمكننا رؤية مثيلنا وعنوان IP الخاص به مرتبطان بعنوان IP العام الدائم الخاص بنا.

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

بعد ذلك ، حدد المفتاح الذي قمنا بحفظه مسبقًا في الخطوة 2.1.7.1 ، في حالتنا ، اسمها هو wireguard-awskey.pem

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

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

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

3.1.2.2. إعداد المستخدم التلقائي
علاوة على ذلك ، في فئة الاتصال ، حدد الفئة الفرعية للبيانات وفي حقل اسم المستخدم لتسجيل الدخول التلقائي ، أدخل اسم مستخدم ubuntu - هذا هو مستخدم مثيل AWS القياسي مع Ubuntu.

3.1.2.3. اختيار مفتاح خاص للاتصال SSH
ثم نذهب إلى الفئة الفرعية Connection / SSH / Auth وبجوار ملف المفتاح الخاص للمصادقة ، انقر فوق الزر Browse ... لتحديد ملف مع شهادة مفتاح.

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

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

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

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

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 الخارجي والمنفذ المفتوح لخادم Wireguard. حصلنا على عنوان IP الخارجي للخادم في الخطوة 2.2.3 ، وفتحنا المنفذ في الخطوة 2.1.5. 4.3.2.1:54321
معًا ، 4.3.2.1:54321
بنقطتين ، على سبيل المثال 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 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. اسم العميل
أدخل اسم مستخدم VPN. الحقيقة هي أن خادم Wireguard VPN لن يكون قادرًا على البدء حتى تتم إضافة عميل واحد على الأقل. في هذه الحالة ، أدخلت اسم Alex@mobile
مثال الإخراج:
Enter VPN user name: Alex@mobile
بعد ذلك ، يجب عرض رمز الاستجابة السريعة على الشاشة مع تكوين العميل المضافة حديثًا ، والذي يجب قراءته باستخدام عميل Wireguard المحمول على Android أو iOS لتكوينه. أيضا ، سيتم عرض نص ملف التكوين أسفل رمز الاستجابة السريعة في حالة التكوين اليدوي للعملاء. كيفية القيام بذلك سيتم وصفها أدناه.

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/{}
، سيتم إنشاء ملف باستخدام تكوين العميل /etc/wireguard/clients/{}
CustomerName►.conf ، وسيتم عرضه على الشاشة النهائية رمز الاستجابة السريعة لإعداد عملاء المحمول ومحتويات ملف التكوين.
4.2.1. ملف تكوين المستخدم
يمكنك إظهار محتويات ملف .conf على الشاشة ، لتكوين العميل اليدوي ، باستخدام cat
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 = Address = IP DNS = [Peer] PublicKey = PresharedKey = AllowedIPs = ( - 0.0.0.0/0, ::/0) Endpoint = IP
4.2.2. رمز تكوين عميل QR
يمكنك عرض رمز الاستجابة السريعة لرمز التكوين للعميل الذي تم إنشاؤه مسبقًا على شاشة المحطة الطرفية باستخدام الأمر qrencode -t ansiutf8
(في هذا المثال ، يتم استخدام العميل المسمى Alex @ mobile):
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8
5. تكوين عملاء VPN
5.1. إعداد عميل Mobile Android
يمكن تثبيت عميل Wireguard الرسمي لنظام Android من متجر GooglePlay الرسمي
بعد ذلك ، تحتاج إلى استيراد التكوين من خلال قراءة رمز الاستجابة السريعة بتكوين العميل (انظر الفقرة 4.2.2) ومنحه اسمًا:

بعد استيراد التكوين بنجاح ، يمكنك تمكين نفق VPN. حول الاتصال الناجح سيقول خبأ المفتاح في لوحة نظام Android

5.2. إعداد عميل Windows
في البداية ، تحتاج إلى تنزيل وتثبيت TunSafe لـ Windows - هذا عميل Wireguard لنظام Windows.
5.2.1. إنشاء ملف تكوين للاستيراد
انقر بزر الماوس الأيمن لإنشاء ملف نصي على سطح المكتب.

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

5.2.3. نسخ التكوين إلى ملف التكوين المحلي
يعود هذا الحقل إلى الملف النصي الذي أنشأناه مسبقًا على سطح المكتب ولصق نص التكوين فيه من الحافظة.

5.2.4. حفظ ملف التكوين المحلي
نحفظ الملف بالملحق .conf (في هذه الحالة ، باسم london.conf
)

5.2.5. استيراد ملف التكوين المحلي
بعد ذلك ، تحتاج إلى استيراد ملف التكوين إلى برنامج TunSafe.

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

6. التحقق من نجاح الاتصال
للتحقق من نجاح الاتصال من خلال نفق VPN ، تحتاج إلى فتح متصفح والانتقال إلى الموقع https://2ip.ua/ru/

يجب أن يتطابق عنوان IP المعروض مع العنوان الذي تلقيناه في الخطوة 2.2.3.
إذا كان الأمر كذلك ، فإن نفق VPN يعمل بنجاح.
من محطة على Linux ، يمكنك التحقق من عنوان IP الخاص بك عن طريق إدخال الأمر:
curl http://zx2c4.com/ip
أو يمكنك فقط الذهاب إلى محور الإباحية إذا كنت في كازاخستان.