یک ماشین Azure VM به تونل نیاز دارد: کلاینت مهمان یا دروازه VPN؟
سه شرط تعیین میکند که یک Azure VM باید کلاینت VPN خودش را اجرا کند یا اینکه اتصال به لایه شبکه تعلق دارد.
یک بار کاری در یک Azure VM باید از طریق تونل به یک شبکه خصوصی برسد. پرسشی که طراحی را تعیین میکند این نیست که کدام محصول VPN بهتر است؛ بلکه این است که آیا ماشین دیگری هرگز به این مسیر نیاز پیدا میکند. اول به آن پاسخ دهید و بقیه معماری معمولاً خودش انتخاب میشود. اگر اشتباه کنید، ماشینی را به ارث میبرید که بیصدا به روتری تبدیل شده که هیچکس مستندش نکرده است.
دو کار که شبیه هم به نظر میرسند
یک VM میتواند نقطه پایانی یا نقطه عبور باشد و تفاوت در نرمافزاری که نصب میکنید نیست، بلکه در این است که چه کسی تونل را مصرف میکند. بهعنوان نقطه پایانی، مهمان برای فرآیندهای خودش کلاینت اجرا میکند. بهعنوان نقطه عبور، بستههای بارهای کاری دیگر را ارسال میکند و همین آن را بخشی از توپولوژی شبکه شما میکند.
| کار | VM چه میکند | مالک مسیریابی کیست |
|---|---|---|
| نقطه پایانی بار کاری | کلاینت پشتیبانیشده را برای فرآیندهای خودش اجرا میکند | مسیرهای مهمان مقصدهای تأییدشده را انتخاب میکنند |
| دستگاه عبور | بارهای کاری دیگر را به اتصال سایت ارسال میکند | جدولهای مسیریابی زیرشبکه، ارسال NIC، سیاست مهمان و مسیرهای بازگشت |
بیشتر درخواستهای تکVM همان کار اول با زبان کار دوم است. کسی میگوید «VM همان VPN ماست» در حالی که منظورش این است که یک برنامه روی آن باید به پایگاهدادهای در طرف دیگر برسد.
شرط اول: آیا چیز دیگری به طرف دور نیاز دارد؟
اگر پاسخ نه است، کلاینت را در مهمان نصب کنید و طراحی را رها کنید. هیچچیز در این انتخاب به دروازه مدیریتشده نیاز ندارد و هیچ بخشی از آن VM را به دروازه همسایههایش تبدیل نمیکند. شما یک مسیر درون یک سیستمعامل اضافه میکنید.
اگر پاسخ بله است، یا بهاحتمال زیاد تا یک سال دیگر بله، همین حالا آن را طراحی شبکه بدانید. ماشینهای دیگر تنها زمانی به یک VM عبور میرسند که جدول مسیریابی زیرشبکه آنها را به آنجا بفرستد و NIC ترافیک ارسالشده را بپذیرد، پس کار جدولهای مسیریابی و مجوزهای ارسال است، نه نصب کلاینت دیگر.
شرط دوم: آیا میتوانید مسیر مدیریت را حفظ کنید؟
کلاینت VPNی که مسیر گستردهای نصب میکند میتواند مسیری را که با آن VM را مدیریت میکنید بگیرد. اگر فهرست مقصدهای تونل با شبکه مدیریت همپوشانی داشته باشد، نشست SSH یا RDP شما همان لحظهای که کلاینت متصل میشود قطع میشود و اصلاح باید از طریق کنسول سریال یا بازسازی انجام شود.
قبل و بعد بررسی کنید. در Linux دستور ip route get <management-ip> نشان میدهد هسته همین حالا از کدام رابط و منبع استفاده میکرد؛ آن را با پاسخ در زمانی که تونل فعال است مقایسه کنید. تونل تقسیمشده با فهرست صریح مقصدها راحتتر از مسیر پیشفرض قابل دفاع است و معمولاً همان چیزی است که بار کاری واقعاً نیاز دارد.
شرط سوم: چه کسی نیمهشب آن را وصله میکند؟
کلاینت مهمان یعنی سیستمعامل شما، نسخه کلاینت شما و گواهیهای شما. وقتی خود VM و چرخه وصله آن را اداره میکنید، این خوب است. وقتی VM فقط برای نگهداشتن تونل وجود دارد، معامله بدی است. پیش از آنکه کلاینت مهمان را ارزانتر بنامید، ساعتهای وصله را بشمارید. ارتقای کلاینتی که به راهاندازی مجدد نیاز دارد، قطعیای است که برای ماشینی برنامهریزی کردهاید که فقط برای برپا نگهداشتن تونل وجود دارد.
دروازه مدیریتشده آن نگهداری را به پلتفرم منتقل میکند. شما هنوز مالک هویت، مجوزدهی و مسیرهای شبکه پشت آن هستید، اما برای اعمال بهروزرسانی کلاینت ماشینی را راهاندازی مجدد نمیکنید.
کاری که دروازه مدیریتشده نمیکند
Azure VPN Gateway یک سرویس اتصال VNet با ترتیبات سایتبهسایت و نقطهبهسایت خودش است. این یک قاعده که نرمافزار VPN مهمان را ممنوع کند نیست و جایگزین مستقیم کلاینتی که یک برنامه نیاز دارد نیست.
آنچه میدهد اتصالی در لایه شبکه است که بسیاری از بارهای کاری از طریق مسیریابی به آن میرسند. آنچه نمیدهد تونلی است که فقط یک فرآیند روی یک VM از آن استفاده کند و به هویت همان فرآیند محدود باشد. این محدودیت نقصی نیست که برایش عذرخواهی کنیم؛ دقیقاً هدف طراحی کلاینت مهمان است. یک برنامه، یک مسیر، یک مجموعه اعتبارنامه، بدون تأثیر بر سایر ماشینهای زیرشبکه.
پس مقایسه بین مدیریتشده و نرمافزاری نیست. مقایسه بین اتصال در محدوده شبکه و اتصال در محدوده فرآیند است و دومی وقتی فقط یک فرآیند به آن نیاز دارد مشروع است.
پیش از نیاز، مسیر رشد را برنامهریزی کنید
اگر نیاز از یک VM به یک زیرشبکه رشد کرد، طرح را از نو بسازید بهجای اینکه پیشوندهای مجاز کلاینت را گسترده کنید. استفاده دوباره از یک نشست راحت بهعنوان روتر مستندنشده، هر مصرفکننده را به عمر آن VM، اعتبارنامههایش و پنجره وصلهاش گره میزند.
نقطه شروع درست، وقتی اتصال به محدوده شبکه بهجای بار کاری تعلق دارد، مرور کلی Azure VPN Gateway است.
پیش از انتخاب، سه خط بنویسید: چه چیزی به طرف دور نیاز دارد، چه کسی VM را مدیریت میکند و چه کسی تونل را وصله میکند. اگر هر سه پاسخ به یک بار کاری اشاره کرد، کلاینت مهمان طراحی صادقانه است. اگر هر یک از آنها به یک زیرشبکه اشاره کرد، همین حالا لایه شبکه را طراحی کنید.