
قم بإعداد شبكة VPN شخصية في السحابة
Algo VPN عبارة عن مجموعة من نصوص Ansible البرمجية التي تبسّط إعداد شبكة VPN شخصية عبر WireGuard وIPsec. يستخدم الإعدادات الافتراضية الأكثر أمانًا المتاحة ويعمل مع مزودي الخدمات السحابية الشائعين.
لمزيد من المعلومات، اطّلع على إعلان الإصدار.
أسهل طريقة لتشغيل خادم Algo هي تشغيله على نظامك المحلي أو من Google Cloud Shell، والسماح له بإعداد جهاز افتراضي جديد في السحابة نيابةً عنك.
أنشئ حسابًا لدى مزود استضافة سحابية. يدعم Algo DigitalOcean (الأسهل استخدامًا)، وAmazon Lightsail، وAmazon EC2، وVultr، وMicrosoft Azure، وGoogle Compute Engine، وScaleway، وDreamCompute، وLinode، وغيرها من خدمات الاستضافة السحابية المبنية على OpenStack، والاستضافة السحابية المبنية على CloudStack، أو Hetzner Cloud.
احصل على نسخة من Algo. سيتم تشغيل نصوص Algo من نظامك المحلي. هناك طريقتان للحصول على نسخة:
نزّل ملف ZIP. فك ضغط الملف لإنشاء مجلد باسم algo-master يحتوي على نصوص Algo البرمجية.
استخدم git clone لإنشاء مجلد باسم algo يحتوي على نصوص Algo البرمجية:
git clone https://github.com/trailofbits/algo.git
اضبط خيارات التكوين. افتح config.cfg في محرر النصوص المفضل لديك. حدد المستخدمين الذين تريد إنشاءهم في قائمة users. أنشئ مستخدمًا فريدًا لكل جهاز تنوي توصيله بشبكة VPN الخاصة بك. يجب عليك أيضًا مراجعة الخيارات الأخرى قبل النشر، لأن تغيير رأيك فيها لاحقًا قد يتطلب نشر خادم جديد كليًا.
ابدأ النشر. عُد إلى الطرفية. داخل مجلد Algo، شغّل النص البرمجي المناسب لمنصتك:
macOS/Linux:
./algo
Windows:
.\algo.ps1
في المرة الأولى التي تشغّل فيها النص البرمجي، سيُثبّت تلقائيًا بيئة Python المطلوبة (Python 3.11+). وفي المرات اللاحقة، يبدأ العمل فورًا على جميع المنصات (macOS وLinux وWindows عبر WSL). يستخدم نص Windows PowerShell برنامج WSL تلقائيًا عند الحاجة، لأن Ansible يتطلب بيئة شبيهة بيونكس. تتوفر العديد من الميزات الاختيارية، ولا يُشترط أي منها للحصول على خادم VPN كامل الوظائف. هذه الميزات الاختيارية موصوفة في وثائق النشر.
وهكذا انتهيت! يمكنك الآن إعداد العملاء للاتصال بشبكة VPN الخاصة بك. تابع إلى إعداد عملاء VPN أدناه.
"# Congratulations! #"
"# Your Algo server is running. #"
"# Config files and certificates are in the ./configs/ directory. #"
"# Go to https://whoer.net/ after connecting #"
"# and ensure that all your traffic passes through the VPN. #"
"# Local DNS resolver 172.16.0.1 #"
"# The p12 and SSH keys password for new users is XXXXXXXX #"
"# The CA key password is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #"
"# Shell access: ssh -F configs/<server_ip>/ssh_config <hostname> #"
تُوضع الشهادات وملفات التكوين التي سيحتاجها المستخدمون في مجلد configs. تأكد من تأمين هذه الملفات لأن كثيرًا منها يحتوي على مفاتيح خاصة. تُحفظ جميع الملفات ضمن مجلد فرعي باسم عنوان IP الخاص بخادم Algo VPN الجديد.
مهم لمستخدمي IPsec: إذا كنت تريد إضافة المستخدمين أو حذفهم لاحقًا، يجب تحديد yes عند ظهور السؤال Do you want to retain the keys (PKI)? أثناء نشر الخادم. يحافظ هذا على سلطة الشهادات (CA) اللازمة لإدارة المستخدمين.
يُستخدم WireGuard لتوفير خدمات VPN على أجهزة Apple. يُنشئ Algo ملف تكوين WireGuard باسم wireguard/<username>.conf ورمز QR باسم wireguard/<username>.png لكل مستخدم محدّد في config.cfg.
على iOS، ثبّت تطبيق WireGuard من App Store. ثم استخدم تطبيق WireGuard لمسح رمز QR أو أرسل ملف التكوين إلى الجهاز عبر AirDrop.
على macOS، ثبّت تطبيق WireGuard من Mac App Store. سيظهر WireGuard في شريط القوائم بمجرد تشغيل التطبيق. انقر على أيقونة WireGuard، واختر Import tunnel(s) from file...، ثم حدد ملف تكوين WireGuard المناسب.
على iOS أو macOS، يمكنك تفعيل "Connect on Demand" و/أو استبعاد شبكات Wi-Fi موثوقة معينة (مثل شبكة منزلك أو عملك) عن طريق تعديل تكوين النفق في تطبيق WireGuard. (لا يمكن لـ Algo فعل ذلك تلقائيًا نيابةً عنك.)
إذا كنت تفضّل استخدام VPN المدمج IPsec على أجهزة Apple، أو تحتاج إلى تفعيل "Connect on Demand" أو استبعاد شبكات Wi-Fi تلقائيًا، فراجع دليل إعداد عميل Apple لـ IPsec للحصول على تعليمات تكوين مفصلة.
يُستخدم WireGuard لتوفير خدمات VPN على Android. ثبّت عميل WireGuard. استورد ملف wireguard/<name>.conf المطابق إلى جهازك، ثم أنشئ اتصالًا جديدًا باستخدامه. راجع دليل إعداد Android للحصول على تعليمات التثبيت والتكوين التفصيلية.
يُستخدم WireGuard لتوفير خدمات VPN على Windows. يُنشئ Algo ملف تكوين WireGuard باسم wireguard/<username>.conf لكل مستخدم محدّد في config.cfg.
ثبّت عميل WireGuard. استورد ملف wireguard/<username>.conf المُنشأ إلى جهازك، ثم أنشئ اتصالًا جديدًا باستخدامه. راجع تعليمات إعداد Windows للحصول على شرح أكثر تفصيلًا واستكشاف الأخطاء وإصلاحها.
يمكن لعملاء Linux استخدام WireGuard أو IPsec: