كيفية إعداد Hailbytes VPN لبيئة AWS الخاصة بك

المُقدّمة

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

الإعداد

   1. متطلبات الموارد:

  • نوصي بالبدء بـ 1 vCPU و 1 غيغابايت من ذاكرة الوصول العشوائي قبل التوسع.
  • بالنسبة لعمليات النشر المستندة إلى Omnibus على الخوادم التي تحتوي على أقل من 1 غيغابايت من الذاكرة ، يجب عليك تشغيل المبادلة لتجنب قتل Linux kernel لعمليات Firezone بشكل غير متوقع.
  • يجب أن تكون وحدة المعالجة المركزية (vCPU) 1 كافية لإشباع ارتباط بسرعة 1 جيجابت في الثانية للشبكة الافتراضية الخاصة.
 

   2.  إنشاء سجل DNS: تتطلب Firezone اسم مجال مناسبًا للاستخدام الإنتاجي ، مثل firezone.company.com. سيكون إنشاء سجل DNS مناسب مثل سجل A أو CNAME أو AAAA مطلوبًا.

   3.  إعداد SSL: ستحتاج إلى شهادة SSL صالحة لاستخدام Firezone في السعة الإنتاجية. يدعم Firezone ACME للتوفير التلقائي لشهادات SSL للتركيبات المستندة إلى Docker و Omnibus.

   4.  فتح منافذ جدار الحماية: يستخدم Firezone المنفذين 51820 / udp و 443 / tcp لحركة مرور HTTPS و WireGuard على التوالي. يمكنك تغيير هذه المنافذ لاحقًا في ملف التكوين.

النشر على Docker (موصى به)

   1. الشروط المسبقة:

  • تأكد من أنك تستخدم نظامًا أساسيًا مدعومًا مع تثبيت إصدار docker-compose 2 أو أعلى.

 

  • تأكد من تمكين إعادة توجيه المنفذ على جدار الحماية. تتطلب الإعدادات الافتراضية فتح المنافذ التالية:

         o 80 / tcp (اختياري): إصدار شهادات SSL تلقائيًا

         o 443 / tcp: Access web UI

         o 51820 / udp: منفذ الاستماع لحركة مرور VPN

  2.  تثبيت خيار الخادم الأول: التثبيت التلقائي (موصى به)

  • Run installation script: bash <(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh) 1889d1a18e090c-0ec2bae288f1e2-26031d51-144000-1889d1a18e11c6c

 

  • سيطرح عليك بعض الأسئلة بخصوص التكوين الأولي قبل تنزيل نموذج ملف docker-compose.yml. سترغب في تكوينه مع استجاباتك ، وطباعة التعليمات للوصول إلى واجهة مستخدم الويب.

 

  • عنوان Firezone الافتراضي: $ HOME / .firezone.
 

  2.  تثبيت الخادم الخيار الثاني: التثبيت اليدوي

  • قم بتنزيل قالب إنشاء عامل الإرساء إلى دليل عمل محلي

          - Linux: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.prod.yml -o docker-compose.yml

          - macOS أو Windows: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.desktop.yml -o docker-compose.yml

  • إنشاء الأسرار المطلوبة: docker run –rm firezone / firezone bin / gen-env> .env

 

  • تغيير DEFAULT_ADMIN_EMAIL والمتغيرات EXTERNAL_URL. قم بتعديل الأسرار الأخرى حسب الحاجة.

 

  • ترحيل قاعدة البيانات: docker compose run --rm firezone bin / migigration

 

  • إنشاء حساب مسؤول: docker compose run --rm firezone bin / create-or-reset-admin

 

  • قم بإحضار الخدمات: docker compose up -d

 

  • يجب أن تكون قادرًا على الوصول إلى واجهة مستخدم Firezome من خلال المتغير EXTERNAL_URL المحدد أعلاه.
 

   3. التمكين عند التمهيد (اختياري):

  • تأكد من تمكين Docker عند بدء التشغيل: sudo systemctl enable docker

 

  • يجب إعادة تشغيل خدمات Firezone: دائمًا أو إعادة التشغيل: خيار ما لم يتم إيقافه المحدد في ملف docker-compose.yml.

   4. تمكين التوجيه العام لـ IPv6 (اختياري):

  • أضف ما يلي إلى /etc/docker/daemon.json لتمكين IPv6 NAT وتكوين إعادة توجيه IPv6 لحاويات Docker.

 

  • قم بتمكين إشعارات جهاز التوجيه عند التمهيد لواجهة الخروج الافتراضية الخاصة بك: egress = `ip route show default 0.0.0.0/0 | grep -oP '(؟ <= dev). *' | قص -f1 -d '' | tr -d '\ n'` sudo bash -c “echo net.ipv6.conf. $ {egress} .accept_ra = 2 >> /etc/sysctl.conf”

 

  • أعد التشغيل والاختبار عن طريق اختبار اتصال Google من داخل حاوية Docker: Docker run –rm -t busybox ping6 -c 4 google.com

 

  • لا حاجة لإضافة أي قواعد iptables لتمكين IPv6 SNAT / masquerading لحركة المرور عبر الأنفاق. سوف Firezone التعامل مع هذا.
 

   5. تثبيت تطبيقات العميل

        يمكنك الآن إضافة مستخدمين إلى شبكتك وتهيئة التعليمات لإنشاء جلسة VPN.

الإعداد بعد

تهانينا ، لقد أكملت الإعداد! قد ترغب في التحقق من وثائق المطور الخاصة بنا لمعرفة التكوينات الإضافية واعتبارات الأمان والميزات المتقدمة: https://www.firezone.dev/docs/