چگونه Hailbytes VPN را برای محیط AWS خود تنظیم کنید

معرفی

در این مقاله به نحوه راه اندازی HailBytes VPN در شبکه خود خواهیم پرداخت، یک VPN و فایروال ساده و ایمن برای شبکه شما. جزئیات بیشتر و مشخصات خاص را می توان در مستندات توسعه دهنده ما که پیوند داده شده است، یافت اینجا کلیک نمایید.

تهیه

   1. منابع مورد نیاز:

  • توصیه می کنیم قبل از افزایش مقیاس، با 1 vCPU و 1 گیگابایت رم شروع کنید.
  • برای استقرارهای مبتنی بر Omnibus بر روی سرورهایی با حافظه کمتر از 1 گیگابایت، باید swap را روشن کنید تا هسته لینوکس از کشتن غیرمنتظره فرآیندهای Firezone جلوگیری کند.
  • 1 vCPU باید برای اشباع کردن پیوند 1 گیگابیت بر ثانیه برای VPN کافی باشد.
 

   2.  ایجاد رکورد DNS: Firezone به یک نام دامنه مناسب برای استفاده در تولید نیاز دارد، به عنوان مثال firezone.company.com. ایجاد یک رکورد DNS مناسب مانند رکورد A، CNAME یا AAAA مورد نیاز است.

   3.  راه اندازی SSL: برای استفاده از Firezone در ظرفیت تولید به یک گواهی SSL معتبر نیاز دارید. 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: دسترسی به رابط کاربری وب

         o 51820/udp: پورت گوش دادن به ترافیک VPN

  2.  Install Server Option I: نصب خودکار (توصیه می شود)

  • 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.  سرور را نصب کنید گزینه دوم: نصب دستی

  • الگوی نوشتن docker را در یک فهرست کاری محلی دانلود کنید

          – لینوکس: 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/migrate

 

  • ایجاد یک حساب مدیریت: docker compose run –rm firezone bin/create-or-reset-admin

 

  • خدمات را بالا بیاورید: docker compose up -d

 

  • شما باید بتوانید از طریق متغیر EXTERNAL_URL که در بالا تعریف شده است به رابط کاربری Firezome دسترسی داشته باشید.
 

   3. فعال کردن در هنگام بوت (اختیاری):

  • اطمینان حاصل کنید که Docker هنگام راه اندازی فعال است: sudo systemctl enable docker

 

  • سرویس‌های Firezone باید گزینه راه‌اندازی مجدد: همیشه یا راه‌اندازی مجدد: مگر اینکه توقف در فایل docker-compose.yml مشخص شده است داشته باشند.

   4. مسیریابی عمومی IPv6 (اختیاری) را فعال کنید:

  • موارد زیر را به /etc/docker/daemon.json اضافه کنید تا IPv6 NAT را فعال کنید و انتقال IPv6 را برای کانتینرهای Docker پیکربندی کنید.

 

  • اعلان‌های روتر در بوت را برای رابط خروجی پیش‌فرض خود فعال کنید: egress=`ip route نمایش پیش‌فرض 0.0.0.0/0 | grep -oP '(?<=dev ).*' | cut -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

 

  • برای فعال کردن IPv6 SNAT/Masquerading برای ترافیک تونل‌شده، نیازی به اضافه کردن قوانین iptables نیست. Firezone این کار را انجام خواهد داد.
 

   5. برنامه های مشتری را نصب کنید

        اکنون می توانید کاربران را به شبکه خود اضافه کنید و دستورالعمل هایی را برای ایجاد یک جلسه VPN پیکربندی کنید.

تنظیم پست

تبریک می گویم، شما تنظیمات را تکمیل کردید! ممکن است بخواهید اسناد برنامه‌نویس ما را برای پیکربندی‌های اضافی، ملاحظات امنیتی و ویژگی‌های پیشرفته بررسی کنید: https://www.firezone.dev/docs/