NetworkManager-ssh متصل نشان میدهد اما هیچ چیز مسیریابی نمیشود
نشانگر فقط ثابت میکند که رابطه SSH مدیریتشده وجود دارد. بررسی کنید که افزونه دستگاه تونل ساخته یا مجموعهای از هدایتها، سپس مسیر برنامه را بیازمایید.
منو اتصال SSH را فعال نشان میدهد، کلید میزبان پذیرفته شده، و مرورگر هنوز به هیچکدام از مقصدهایی که باید نمیرسد. این تناقض نیست، چون یک پروفایل NetworkManager-ssh میتواند از همان میزبان و همان کلید دو نتیجه کاملاً متفاوت بسازد: یک دستگاه تونل که بستهها را حمل میکند، یا مجموعهای از هدایتها که فقط برنامههای مشخصی میتوانند از آن استفاده کنند. نشانگر گزارش میدهد که رابطه SSH مدیریتشده وجود دارد. هرگز گزارش نمیدهد کدام یک از این دو را دریافت کردهاید.
دو نتیجه پشت یک ورودی منو
هر دو حالت به یک شیوه احراز هویت میکنند و همین است که آنها را اشتباه میگیرد. انتخاب پروفایل دقیقاً به همان شیوه، با همان اعتبارنامهها، ممکن است شما را با رابطی رها کند که میتوان از آن مسیریابی کرد یا با سوکت شنود که باید برنامهای از آن مطلع شود.
با این تصمیم شروع کنید که وظیفه واقعاً به کدام نتیجه نیاز دارد. نیاز به دسترسی به یک زیرشبکه کامل به دستگاه نیاز دارد. یک سرویس روی میزبان دور به هدایت نیاز دارد، و ساختن تونل برای آن معمولاً کار مسیریابی بیشتری از آنچه مشکل سزاوارش بود ایجاد میکند.
هر حالت پیش از کار کردن چه چیزی باید داشته باشد
پروژه هر دو حالت را مستند میکند، و پیشنیازها چنان متفاوتاند که نبودن یکی مانند شکست پروتکل به نظر میرسد نه انتخاب طراحی.
| Mode | What must exist | What still has to be true |
|---|---|---|
| Tunnel device | Compatible TUN/TAP arrangement on both ends, permission, addressing | A route policy that actually sends the intended prefixes into it |
| Forwarding only | A chosen SOCKS, local-forward or remote-forward listener | A permitted destination path on the far side |
ستون سمت راست را با دقت بخوانید، چون بیشتر این تیکتها همانجا تمام میشوند. حتی یک دستگاه تونل بیعیب هم فقط آنچه مسیریابی به آن میفرستد را پوشش میدهد، و حتی یک هدایت بینقص هم فقط به برنامههایی کمک میکند که به آنها گفته شده از آن استفاده کنند.
رابط ساختگی تونل نیست
در حالت هدایت، افزونه رابط ساختگیای را مستند میکند که برای برآورده کردن مدل اتصال ساخته میشود. وجود دارد تا مدیر چیزی برای پیوست کردن وضعیت داشته باشد. بستههای دلخواه برنامهها را به شبکه دور نمیبرد، و هیچ چیز در حضور آن به این معنا نیست که مسیریابی IP تغییر کرده است.
مثالهای تونل کامل در پروژه به پشتیبانی دستگاه تونل OpenSSH مربوطاند، پس واژه تونل در یک برچسب بیانگر یک توانایی است، نه سیاست واقعی شما. بررسی کنید هسته چه خواهد کرد، نه اینکه پروفایل چه نام دارد.
nmcli connection show --active
ip -br link
ss -lntp | grep -E "1080|8080"
سپس نتیجه را با برنامه تطبیق دهید. برنامهای که SOCKS میفهمد باید برای استفاده از واسطه پیکربندی شود. مصرفکننده هدایت محلی باید به شنونده خود ارجاع داده شود. هیچکدام هدایت را خودشان کشف نمیکنند، و هیچکدام از نشانگر اتصالی که سبز شده کمک نمیگیرند.
طرف دور را آماده کنید نه اینکه تحمیلش کنید
یک حساب SSH معمولی میتواند بدون هیچ اجازهای برای بالا آوردن دستگاه تونل دور احراز هویت کند. پروژه مسیری بدون دسترسی root مستند میکند که در آن مدیر دستگاه را از پیش برای آن کاربر میسازد و سپس کلاینت شماره منطبق را انتخاب میکند.
چنین ترتیبی به هماهنگی با سیاست تونل سرور و با کسی که آدرسدهی در شبکه دور را در اختیار دارد نیاز دارد. ساختن دستگاه به خودی خود مسیرهای منابع، اجازههای هدایت یا مسیر بازگشت را نمیدهد، و هیچیک از اینها به این دلیل نمیآید که پیکربندی نمونه متقاعدکننده به نظر میرسید.
کاری که نباید بکنید این است که برای کار کردن یک نمونه، هدایت بیمحدود یا ورود root از راه دور را فعال کنید. جایی که اپراتور مالک راهاندازی شبکه دور است، از ترتیب پشتیبانیشده استفاده کنید تا آن فرمانها به همان مالک سپرده شود، و از دستیار دومی که هنگام قطع اتصال آدرسهای متناقض را بازمیگرداند بپرهیزید.
بافت احراز هویت، و آنچه باید در تیکت بنویسید
احراز هویت بافت خودش را دارد. افزونه به دنبال یک عامل SSH مرتبط با نشست کاربر میگردد و لازم میداند میزبان مقصد شناختهشده باشد، پس کلیدی که در یک ترمینال کار میکند بهطور خودکار برای مسیر احراز هویت مدیر قابل مشاهده نمیشود. بگذارید کلید میزبان از طریق فرایند تأییدشده ثبت و بررسی شود، نه اینکه بررسی را خاموش کنید.
برای پشتیبانی چهار چیز را ثبت کنید: افزونه و نسخه، حالت انتخابشده، هویت دور موردنظر، و رابط یا شنوندهای که باید ظاهر میشد. سپس نقطه ورود برنامه را مستقیماً بیازمایید. نشانگر متصل بههمراه آزمون کارکننده شاهد است؛ نشانگر متصل بهتنهایی بیانیهای درباره SSH است، نه درباره مسیریابی یا اجازه منبعی که میخواستید به دست آورید.