برنامه نویسی

با WireGuard و Netmaker VPN دسترسی از راه دور خود را به AWS بسازید

معرفی

یک حساب AWS معمولاً از چندین VPC و زیرشبکه خصوصی تشکیل شده است. ممکن است بخواهید دسترسی از راه دور به زیرشبکه های خصوصی یا نقاط پایانی در AWS بدون افشای عمومی آنها ارائه دهید.

AWS راه حل VPN دسترسی از راه دور خود را به نام “AWS Client VPN” دارد. با این حال، این می تواند غیر ضروری گران باشد. با چندین کاربر و نقاط پایانی، می توانید به راحتی صدها دلار در ماه خرج کنید.

خوشبختانه، ساخت راه حل شخصی خود با استفاده از WireGuard® و Netmaker به صورت رایگان بسیار آسان است. این مراحل را دنبال کنید تا حدود 30 دقیقه دیگر آماده باشید.

در پایان این آموزش، یک دستگاه دروازه در حال اجرا بر روی AWS خواهید داشت که می توانید به راحتی کلاینت های WireGuard را برای دسترسی به منابع خصوصی AWS به آن متصل کنید.

مشکل

با WireGuard و Netmaker VPN دسترسی از راه دور خود

در سناریوی مثال ما، Rocket Chat در حال اجرا بر روی AWS است که فقط از طریق آدرس VPC (172.31.95.26) قابل دسترسی است. ما می خواهیم یک توسعه دهنده بتواند با استفاده از این آدرس وارد Rocket Chat شود.

برای راه‌اندازی شما، این می‌تواند هر آی‌پی یا زیرشبکه خصوصی در AWS باشد، تا زمانی که آدرس‌ها از دستگاه دروازه در دسترس هستند (نمونه EC2).

قسمت 1: استقرار نمونه Gateway

دستگاهی را در AWS انتخاب کنید تا به عنوان دروازه VPN شما عمل کند. این می تواند یک کانتینر یا نمونه EC2 باشد، اما باید مبتنی بر لینوکس باشد. می توانید از یک نمونه موجود استفاده کنید، اما در صورت استقرار یک نمونه جدید، توصیه می کنیم از آخرین اوبونتو استفاده کنید (22.04 تا این لحظه). شما می توانید از t2.micro استفاده کنید، زیرا به منابع نیاز ندارد.

این دستگاه باید به دستگاه‌ها یا زیرشبکه‌های هدف دسترسی داشته باشد، بنابراین مطمئن شوید که در منطقه دسترسی صحیح مستقر شده است و تنظیمات امنیتی دستگاه‌های هدف اجازه ترافیک از دستگاه دروازه را می‌دهد.

در نهایت، دستگاه باید به صورت عمومی از طریق پورت WireGuard در دسترس باشد، که به طور پیش فرض برای Netmaker 51821 است، بنابراین 51821/udp را به 0.0.0.0/0 در تنظیمات امنیتی باز کنید و مطمئن شوید که یک IP قابل دسترسی برای عموم دارد (مثلاً Elastic IP) نشانی).

الزامات دروازه:

  • نوع وسیله: نمونه یا کانتینر EC2 (نمونه EC2 توصیه می شود)
  • سیستم عامل: لینوکس (اوبونتو 22.04 توصیه می شود)
  • اندازه: هر (t2.micro توصیه می شود)
  • تنظیمات شبکه: باید یک نقطه پایانی عمومی داشته باشد و 51821/udp را به صورت عمومی نمایش دهد

1689788723 918 با WireGuard و Netmaker VPN دسترسی از راه دور خود

قسمت 2: راه اندازی Gateway با Netmaker

اکنون که یک دستگاه دروازه مناسب را پیکربندی کرده اید، باید این دستگاه را به Netmaker اضافه کنید. می‌توانید Netmaker را خود میزبانی کنید، اما برای شروع سریع (و رایگان)، به سادگی در https://app.netmaker.io ثبت نام کنید.

به طور پیش فرض، حساب شما دارای یک شبکه مجازی به نام «netmaker» و یک کلید دسترسی است که «netmaker» نیز نامیده می شود. شما باید از اینها برای باقیمانده آموزش استفاده کنید، اما توجه داشته باشید که در مثال و اسکرین شات های ما، نام آنها “rocket-chat” است.

روی شبکه کلیک کنید، روی “hosts” کلیک کنید و سپس روی دکمه “Add a new host” کلیک کنید:

1689788723 195 با WireGuard و Netmaker VPN دسترسی از راه دور خود

1689788724 929 با WireGuard و Netmaker VPN دسترسی از راه دور خود

مراحل افزودن گیت وی به نت میکر را با دانلود و نصب نت کلاینت و پیوستن به شبکه دنبال کنید.

1689788724 303 با WireGuard و Netmaker VPN دسترسی از راه دور خود

هنگامی که دستگاه در لیست های “میزبان” شما قابل مشاهده است، می توانید به پیکربندی دستگاه به عنوان دروازه ادامه دهید.

قسمت 3: پیکربندی Egress Gateway

1689788724 592 با WireGuard و Netmaker VPN دسترسی از راه دور خود

بر روی “Egress” و سپس “Create Egress” کلیک کنید. دستگاه دروازه را به عنوان خروجی به آدرس IP هدف در AWS تنظیم می کنیم. در مثال ما این 172.31.95.26/32 است، اما در صورت لزوم آن را اصلاح کنید و در صورت لزوم محدوده های متعددی را ارائه دهید.

1689788724 808 با WireGuard و Netmaker VPN دسترسی از راه دور خود

دستگاه اکنون آماده ارائه ترافیک به مقصد مورد نظر است.

قسمت 4: WireGuard Client Gateway را پیکربندی کنید

1689788724 493 با WireGuard و Netmaker VPN دسترسی از راه دور خود

آخرین مرحله ارائه دسترسی از راه دور از طریق “دروازه مشتری” است. Client Gateway به سادگی به شما امکان می دهد فایل های پیکربندی WireGuard را ایجاد کنید که از طریق دستگاه دروازه و به شبکه هدایت می شوند. بنابراین، پس از پیکربندی، کاربر می‌تواند از طریق Client Gateway به محدوده Egress برسد.

دستگاه ما در AWS هم به عنوان «دروازه خروج» و هم «دروازه کلاینت» عمل می کند، به طوری که می تواند ترافیک WireGuard را بپذیرد و آن را به زیرشبکه خصوصی ارسال کند.

روی “Clients” و سپس “Create Client” کلیک کنید. از آنجایی که هنوز دروازه کلاینت ندارید، از شما می خواهد که دستگاهی را انتخاب کنید تا به عنوان دروازه عمل کند، و اولین کلاینت شما (فایل پیکربندی WireGuard) را در بالای این دروازه ایجاد می کند.

1689788724 495 با WireGuard و Netmaker VPN دسترسی از راه دور خود

اکنون می توانید این فایل پیکربندی را دانلود کرده و با استفاده از هر کلاینت استاندارد WireGuard اجرا کنید.

1689788724 623 با WireGuard و Netmaker VPN دسترسی از راه دور خود

1689788724 441 با WireGuard و Netmaker VPN دسترسی از راه دور خود

اگر همه چیز به درستی انجام شده باشد، آدرس خصوصی اکنون باید از دستگاه محلی قابل دسترسی باشد:

1689788724 557 با WireGuard و Netmaker VPN دسترسی از راه دور خود

دسترسی به نمونه خصوصی Rocket Chat در مرورگر

می‌توانید در صورت لزوم، کلاینت‌های اضافی ایجاد کنید، به طوری که دروازه شما دسترسی کل تیم را فراهم می‌کند.

نتیجه

در این آموزش ما:

  1. AWS را برای دروازه دسترسی از راه دور پیکربندی کرد
  2. یک نمونه EC2 را پیکربندی کرد تا به عنوان دروازه دسترسی از راه دور عمل کند
  3. برای دسترسی به AWS از طریق دروازه، یک فایل پیکربندی WireGuard را به صورت محلی ایجاد و اجرا کرد.

کارهای بیشتری می توانید با Netmaker و WireGuard انجام دهید، بنابراین امیدوارم این اولین تجربه خوبی بوده باشد. مراحل فوق نیز به صورت کلیکی در لینک زیر موجود است: https://www.netmaker.io/tutorials#remote-access-gateway

اگر سوال یا بازخوردی دارید، در نظرات به من بگویید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا