تونل بالا می‌آید، کلاینت نقطه سبز نشان می‌دهد، و ssh 192.168.1.20 هنوز معلق می‌ماند تا مهلت تمام شود. دقیقاً همین را پس از اجاره یک نمونه ابری کوچک و نصب WireGuard روی آن دیدم: دست‌دهی درست، DNS درست، و NAS روی میزم به همان اندازه دور از دسترس که انگار روی ماه است. مشکلی در تونل نبود. endpoint در شبکه‌ای قرار داشت که هیچ مسیری به خانه من نداشت. مکان endpoint تعیین می‌کند کدام شبکه‌ها مجاورند، پس آن را بر اساس منبعی که اول باید لمس کنید انتخاب کنید و میزبانی را دوم مقایسه کنید.

تونل فقط به شبکه‌هایی می‌رسد که endpoint می‌تواند مسیریابی کند

VPN به کلاینت شما نشانی درون دامنه مسیریابی خود endpoint می‌دهد. وقتی کلاینت بسته‌ای به 192.168.1.20 می‌فرستد، endpoint باید بداند آن بسته کجا می‌رود. جدول یک VM ابری زیرشبکه‌های VPC ارائه‌دهنده را می‌شناسد؛ از LAN شما هرگز نشنیده است. متصل بودن و دسترس‌پذیر بودن دو واقعیت جداگانه‌اند، و بیشتر سردرگمی خانه در برابر ابر از آنجا می‌آید که اولی را دلیل دومی بگیریم.

یک فرمان آن را روشن می‌کند. روی endpoint، ip route get 192.168.1.20 یا یک رابط LAN را نام می‌برد یا به مسیر پیش‌فرض اشاره می‌کند. روی جعبه خانگی پاسخ سمت LAN است. روی نمونه ابری بسته به سمت اینترنت می‌رود و می‌میرد. روشن کردن net.ipv4.ip_forward=1 و افزودن قاعده MASQUERADE آن را تغییر نمی‌دهد، زیرا تا وقتی چیزی در سمت خانه پیوندی به ابر پایان ندهد، چیزی برای ارسال به جلو وجود ندارد.

حالت خانگی نیمه دومی دارد: مسیر بازگشت. بسته‌هایی که از طریق جعبه تونل از LAN خارج می‌شوند NAT می‌شوند، یا LAN به یک مسیر ایستا به سوی زیرشبکه تونل نیاز دارد. وقتی فقط یک جهت کار می‌کند، بررسی کنید sysctl net.ipv4.conf.all.rp_filter. فیلتر سخت‌گیرانه مسیر معکوس پاسخ‌هایی را که روی رابطی متفاوت از پیش‌بینی مسیر می‌رسند دور می‌ریزد، و نشانه دقیقاً مانند یک قاعده دیوار آتش به نظر می‌رسد.

پیش از دست زدن به پیکربندی، نشانه را بخوانید

تونل برقرار نمی‌شود: کلیدها، نشانی endpoint یا درگاه UDP مسدود. تونل بالا اما میزبان‌های LAN مرده: جای‌گذاری و مسیریابی. تونل بالا اما مرور مرده: ارسال به جلو، NAT یا DNS. این‌ها سه لایه و سه بررسی متفاوت‌اند، و بازنویسی پیکربندی‌ای که از قبل درست بود یک شب را تلف می‌کند.

SymptomFirst suspectCheck
Handshake fails, no transferKeys, endpoint port, UDP blockedwg show, then the port from outside
Peer pings, LAN host times outNo route to the LANip route get on the endpoint
Tunnel up, name resolution failsDNS options in the peer configResolve a name from the client
Large transfers reset the connectionMTULower the tunnel MTU and retry

دسترس‌پذیری ورودی خانه بررسی جداگانه‌ای می‌خواهد، زیرا تعیین می‌کند میزبانی در خانه اصلاً ممکن است یا نه. نشانی WAN را که روتر گزارش می‌کند با نشانی‌ای که یک میزبان بیرونی می‌بیند مقایسه کنید. اگر در 100.64.0.0/10 بیفتد، یا آن دو یکی نباشند، پشت NAT اپراتور هستید و هیچ ارسال درگاهی هرگز کار نخواهد کرد. گزینه‌های واقعی رله است، پیوند ابری که از خانه به بیرون زنگ می‌زند، یا جابه‌جا کردن endpoint.

میزبانی خانگی چه می‌دهد و چه هزینه‌ای دارد

خانه تنها جای‌گذاری‌ای است که به‌طور پیش‌فرض درون LAN قرار دارد، و همین تمام دلیل گذاشتن سرور در آنجاست. دستگاه‌هایی که فقط روی بخش محلی پاسخ می‌دهند، مانند چاپگرها و صفحه‌های مدیریت NAS که زیرشبکه‌های غیرمحلی را رد می‌کنند، بدون مسیریابی اضافه کار می‌کنند. خودتان نیز ماشین، روتر و لینک بالاسری را اداره می‌کنید.

هزینه‌ها فیزیکی است. آپلود خانه سقف همه کلاینت‌ها به‌طور همزمان است، پس یک تماس ویدیویی و یک پشتیبان‌گیری بر سر یک لوله رقابت می‌کنند. برق، فرسودگی دیسک، وصله‌ها، نشانی پویا که به DDNS نیاز دارد، روتری که باید UDP را به داخل ارسال کند، و احتمالاً NAT دوگانه همه بر دوش شما می‌افتد. چیزی که مردم فراموش می‌کنند بازیابی است: اگر جعبه وقتی بیرون هستید بمیرد، تنها راه شما به خانه هم با آن می‌میرد. دستگاه دومی با همان کلیدها یا دست‌کم برنامه‌ای برای دسترسی فیزیکی نگه دارید.

اگر دسترسی به LAN را بدون جعبه در خانه می‌خواهید، پیوند بسازید نه ادای آن. endpoint ابری روتر می‌شود: تونلی از سمت خانه با AllowedIPs = 192.168.1.0/24 روی peer ابری، به‌همراه ارسال به جلو و NAT روی جعبه ابری. راهنمای ارسال به جلوی strongSwan نیمه بازگشت این پیکربندی را طی می‌کند و همان‌جاست که بیشتر این تلاش‌ها شکست می‌خورند. peer خانگی اکنون باید بالا باشد تا چیزی کار کند، پس یک وابستگی را با دیگری معاوضه کرده‌اید و باید آن را بنویسید.

endpoint ابری در واقع برای چه کاری است

endpoint ابری خروجی عمومی شما را تغییر می‌دهد. ترافیک از محدوده نشانی ارائه‌دهنده خارج می‌شود و سایت‌ها آن نشانی را به جای نشانی خانه شما می‌بینند. ارزش همان‌جاست، و به همین دلیل VPN ابری NAS را به شما نمی‌دهد: خروجی را جابه‌جا کردید، نه LAN را.

شما همچنان سیستم مهمان، سرویس VPN و اعتبارنامه‌هایش را اداره می‌کنید در حالی که ارائه‌دهنده هایپروایزر و شبکه فیزیکی را اداره می‌کند، و این تقسیم وقتی ساعت 2 بامداد چیزی خراب می‌شود اهمیت دارد. endpoint عمومی پیوسته اسکن می‌شود، پس درگاه مدیریت را بسته نگه دارید، فقط درگاه VPN را مجاز کنید و طبق برنامه وصله بزنید. گروه‌های امنیتی و دیوارهای آتش ارائه‌دهنده باید آن درگاه را مجاز کنند، و برخی ابرها ترافیک ارسال‌شده به جلو را دور می‌ریزند مگر اینکه بررسی مبدأ و مقصد را روی نمونه تنظیم کنید.

نمونه کوچک چند کلاینت را پوشش می‌دهد، اما رمزگذاری کار CPU است و نمونه burstable که اعتبارش تمام شود زیر بار پیوسته نامتوازن رفتار می‌کند. به مسیری که واقعاً استفاده می‌کنید نگاه کنید نه برگه مشخصات.

تصمیمی که می‌توانید بنویسید

وظیفه جای‌گذاری را تعیین می‌کند، نه برچسب روی جعبه. اگر به دستگاهی در LAN خانه نیاز دارید، ارزان‌ترین پاسخ درست endpoint در خانه است؛ جعبه ابری تنها پس از ساختن پیوند بازگشت کار می‌کند. اگر به خروجی عمومی متفاوتی نیاز دارید، پاسخ ابر است و پرسش LAN هرگز پیش نمی‌آید. خواستن هر دو مشروع است، اما یعنی دو endpoint، دو مجموعه کلید و دو مسیر مستند.

What you needEndpoint locationWhat else must exist
Reach a NAS or printer on the home LANA box on that LANPort forward or relay, DDNS, recovery plan
Browse from an exit unrelated to homeCloud instanceFirewall and egress rules, patching
Both, reliablyTwo endpoints, or cloud plus a link homeSeparate keys, routes, documented failure modes

به ترتیب از کلاینت بررسی کنید: دست‌دهی، نشانی peer، یک میزبان LAN، سپس IP خروجی. curl -s https://ifconfig.me نشان می‌دهد اینترنت چه می‌بیند، و ip route get 192.168.1.20 نشان می‌دهد endpoint چه فکر می‌کند. وقتی بررسی خروجی می‌گذرد و بررسی NAS معلق می‌ماند، پاسخ شما درباره جای‌گذاری آماده است؛ تنظیم AllowedIPs روی کلاینت مسیری نمی‌سازد. خط تقسیم‌شده‌ای مانند 10.8.0.0/24, 192.168.1.0/24 ترافیک LAN را فقط زمانی درون تونل نگه می‌دارد که آن مسیر واقعاً وجود داشته باشد.

مقالات مرتبط