TL؛ DR: من Wireguard را روی یک VPS نصب می کنم، از طریق روتر خانگی خود در OpenWRT به آن متصل می شوم و از طریق تلفنم به زیر شبکه خانگی خود دسترسی پیدا می کنم.
اگر زیرساخت های شخصی خود را روی یک سرور خانگی نگهداری می کنید یا بسیاری از دستگاه های تحت کنترل IP در خانه دارید، احتمالاً می خواهید از محل کار، از اتوبوس، قطار و مترو به آنها دسترسی داشته باشید. اغلب، برای کارهای مشابه، IP از ارائه دهنده خریداری می شود، پس از آن پورت های هر سرویس به خارج ارسال می شود.
در عوض، من یک VPN با دسترسی به شبکه محلی خانگی خود راه اندازی کردم. مزایای این راه حل:
- شفافیت: تحت هر شرایطی احساس می کنم در خانه هستم.
- سهولت: آن را تنظیم کنید و آن را فراموش کنید، نیازی به فکر کردن به ارسال هر پورت نیست.
- قیمت: من قبلا یک VPS دارم؛ برای چنین کارهایی، یک VPN مدرن از نظر منابع تقریبا رایگان است.
- امنیت: هیچ چیز از بین نمی رود، می توانید MongoDB را بدون رمز عبور بگذارید و هیچ کس داده های شما را سرقت نخواهد کرد.
مثل همیشه، نکات منفی وجود دارد. در مرحله اول، شما باید هر مشتری را به طور جداگانه، از جمله در سمت سرور، پیکربندی کنید. اگر تعداد زیادی دستگاه دارید که می خواهید از طریق آنها به خدمات دسترسی داشته باشید، ممکن است ناراحت کننده باشد. ثانیاً، ممکن است یک LAN با همان محدوده در محل کار داشته باشید - باید این مشکل را حل کنید.
ما نیاز داریم:
- VPS (در مورد من در دبیان 10).
- روتر OpenWRT
- شماره تلفن
- سرور خانگی با چند سرویس وب برای آزمایش.
- بازوهای راست.
فناوری VPN که من استفاده خواهم کرد Wireguard است. این راه حل نیز دارای نقاط قوت و ضعفی است که من آنها را شرح نمی دهم. برای VPN من از یک زیر شبکه استفاده می کنم 192.168.99.0/24
، و در خانه من 192.168.0.0/24
.
پیکربندی VPS
حتی بدبخت ترین VPS با 30 روبل در ماه برای تجارت کافی است، اگر به اندازه کافی خوش شانس باشید که یکی داشته باشید.
من تمام عملیات روی سرور را بهعنوان روت روی یک ماشین تمیز انجام میدهم؛ در صورت لزوم، «sudo» را اضافه کنید و دستورالعملها را تطبیق دهید.
Wireguard وقت نداشت که به استیبل وارد شود، بنابراین «apt edit-sources» را اجرا کردم و بکپورتها را در دو خط در انتهای فایل اضافه کردم:
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
بسته به روش معمول نصب می شود: apt update && apt install wireguard
.
سپس یک جفت کلید تولید می کنیم: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
. این عمل را دو بار دیگر برای هر دستگاه شرکت کننده در مدار تکرار کنید. مسیر فایل های کلیدی را برای دستگاه دیگری تغییر دهید و امنیت کلیدهای خصوصی را فراموش نکنید.
حالا کانفیگ را آماده می کنیم. برای تشکیل پرونده /etc/wireguard/wg0.conf
پیکربندی قرار داده شده است:
[Interface]
Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=
[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24
[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32
در بخش [Interface]
تنظیمات خود دستگاه نشان داده شده است و در [Peer]
- تنظیمات برای کسانی که به آن متصل می شوند. که در AllowedIPs
با کاما از هم جدا می شوند، زیرشبکه هایی که به همتای مربوطه هدایت می شوند، مشخص می شوند. به همین دلیل، همتایان دستگاههای «مشتری» در زیرشبکه VPN باید ماسک داشته باشند /32
، هر چیز دیگری توسط سرور هدایت می شود. از آنجایی که شبکه خانگی از طریق OpenWRT هدایت خواهد شد، در AllowedIPs
ما زیرشبکه اصلی همتای مربوطه را اضافه می کنیم. که در PrivateKey
и PublicKey
بر این اساس کلید خصوصی تولید شده برای VPS و کلیدهای عمومی همتاها را تجزیه کنید.
در VPS، تنها کاری که باقی میماند اجرای دستوری است که رابط را نشان میدهد و آن را به autorun اضافه میکند: systemctl enable --now wg-quick@wg0
. وضعیت اتصال فعلی را می توان با دستور بررسی کرد wg
.
پیکربندی OpenWRT
هر آنچه برای این مرحله نیاز دارید در ماژول luci (رابط وب OpenWRT) است. وارد شوید و تب Software را در منوی System باز کنید. OpenWRT کش روی دستگاه ذخیره نمی کند، بنابراین باید با کلیک بر روی دکمه سبز رنگ به روز رسانی لیست ها، لیست بسته های موجود را به روز کنید. پس از اتمام، وارد فیلتر شوید luci-app-wireguard
و با نگاه کردن به پنجره با درخت وابستگی زیبا، این بسته را نصب کنید.
در منوی Networks، Interfaces را انتخاب کنید و روی دکمه سبز Add New New Interface در زیر لیست رابطهای موجود کلیک کنید. پس از وارد کردن نام (همچنین wg0
در مورد من) و با انتخاب پروتکل WireGuard VPN، یک فرم تنظیمات با چهار زبانه باز می شود.
در تب تنظیمات عمومی، باید کلید خصوصی و آدرس IP آماده شده برای OpenWRT را به همراه زیر شبکه وارد کنید.
در تب تنظیمات فایروال، رابط را به شبکه محلی متصل کنید. به این ترتیب، اتصالات از VPN آزادانه وارد منطقه محلی می شوند.
در تب Peers، روی دکمه تنها کلیک کنید، پس از آن، داده های سرور VPS را در فرم به روز شده پر می کنید: کلید عمومی، IP های مجاز (شما باید کل زیرشبکه VPN را به سرور هدایت کنید). در Endpoint Host و Endpoint Port به ترتیب آدرس IP VPS را با پورتی که قبلاً در دستورالعمل ListenPort مشخص شده است وارد کنید. IP های مجاز مسیر را برای ایجاد مسیرها بررسی کنید. و حتما Persistent Keep Alive را پر کنید، در غیر این صورت اگر دومی پشت NAT باشد، تونل VPS به روتر خراب می شود.
پس از این، می توانید تنظیمات را ذخیره کنید و سپس در صفحه با لیست رابط ها، روی Save کلیک کنید و اعمال کنید. در صورت لزوم، به صراحت رابط را با دکمه Restart راه اندازی کنید.
راه اندازی گوشی هوشمند
شما به کلاینت Wireguard نیاز دارید، در دسترس است
اسکرین شات پررنگ از گوشی
روی فلاپی دیسک در گوشه کلیک کنید، آن را روشن کنید و...
انجام شده است
اکنون می توانید به نظارت خانگی دسترسی داشته باشید، تنظیمات روتر را تغییر دهید یا هر کاری را در سطح IP انجام دهید.
اسکرین شات از منطقه محلی
منبع: www.habr.com