آنچه در مقاله میخوانید
VNC یک پروتکل ارتباطی متنباز بر پایهٔ معماری کلاینت/سرور است که به شما اجازه میدهد صفحهنمایش یک کامپیوتر یا سرور را از راه دور ببینید و به شکل گرافیکی کنترل کنید. اما در عمل، کاربرد VNC چیست و چه زمانی به سراغ آن میرویم؟ هر زمان که سیستمعامل مقصد روشن باشد و ارتباط شبکه برقرار، نرمافزار VNC این امکان را میدهد که دسکتاپ سرور یا سیستم راه دور را دقیقاً با ماوس و کیبورد سیستم خودتان مدیریت کنید (البته اگر شبکه قطع شده باشد یا سرور اصلاً بالا نیاید، برای دسترسی سطح پایینتر از «کنسول VNC» هایپروایزر استفاده میشود).
اگر میخواهید بدانید سازوکار فنی VNC چیست و چطور راهاندازی میشود، در این راهنما از وبلاگ مبین هاست همراه ما باشید.
نرمافزار VNC چیست؟
برای اینکه دقیقتر ببینیم نرم افزار vnc چیست، باید سراغ عبارت Virtual Network Computing یا همان «پردازش شبکۀ مجازی» برویم. این فناوری بستری برای اشتراکگذاری گرافیکی صفحهنمایش است؛ یعنی برخلاف ابزارهای خط فرمان که فقط یک صفحهٔ متنی سیاهوسفید پیش رویتان میگذارند، محیط دسکتاپ سیستم مقصد را عیناً به تصویر میکشد تا بتوانید بهصورت دیداری با آن کار کنید.
فناوری پردازش شبکۀ مجازی اواخر دههٔ ۱۹۹۰ میلادی در آزمایشگاههای تحقیقاتی Olivetti و شرکت AT&T متولد شد و منطق کار آن ساده اما هوشمندانه است: تمام پردازشهای سنگین نرمافزاری، محاسبات داده و ذخیرهسازی اطلاعات روی سختافزار سرور میزبان انجام میشود و کامپیوتر شما صرفاً نقش یک نمایشگر و کنترلکننده را بازی میکند. به لطف همین تفکیک وظایف، حتی با یک لپتاپ قدیمی و ضعیف هم میتوانید قویترین سرورها را از راه دور مدیریت کنید.
معماری سیستم VNC؛ تفاوت سرور و کلاینت
ارتباط در سیستم VNC بر دوش دو بخش نرمافزاری مستقل است که در دو سمت ارتباط قرار میگیرند و در کنار هم اتصال ریموت دسکتاپ را شکل میدهند.
1) وظایف و عملکرد VNC Server چیست؟
برنامهٔ سرور روی سیستمی نصب میشود که قصد دارید از راه دور کنترلش کنید. در پاسخ به اینکه وظیفهٔ VNC Server چیست، میتوان کارکرد آن را در سه مرحله خلاصه کرد:
- بهطور پیوسته فریمبافر (Frame Buffer) کارت گرافیک سیستم مقصد را زیر نظر میگیرد.
- پیکسلهایی از صفحهنمایش را که تغییر کردهاند شناسایی و فشرده میکند.
- این بستههای تصویری را از طریق شبکه برای کاربر میفرستد.
در مسیر برگشت هم تمام دستورهای ماوس و کیبورد شما را دریافت کرده و مستقیماً در سیستمعامل مقصد اجرا میکند.
نحوۀ کارکرد و کاربرد VNC Viewer چیست؟
در سمت دیگر ماجرا، نرمافزار کلاینت قرار دارد. اگر بخواهیم ساده بگوییم که نقش VNC Viewer چیست، باید آن را دریچهٔ نمایش دسکتاپ سرور روی کامپیوتر شخصی شما بدانیم. ویوئر بستههای پیکسلی ارسالی از سمت سرور را رمزگشایی میکند و تصویر دسکتاپ راه دور را روی مانیتورتان میسازد. همزمان، هر کلیکی که میکنید، هر حرکتی که به ماوس میدهید و هر کلیدی که روی کیبورد میفشارید، توسط این برنامه به بستههای دستوری تبدیل و به سمت سرور فرستاده میشود.
شیوۀ کارکرد پروتکل وی ان سی و انتقال داده (RFB و پورتها)
ستون فقرات انتقال داده در سیستم VNC، پروتکلی اختصاصی به نام RFB (کوتاهشدهٔ Remote Frame Buffer) است که در استاندارد RFC 6143 تعریف شده است. تفاوت اصلی پروتکل وی ان سی با پروتکلهای دیگر، عملکرد کاملاً پیکسلمحور (Pixel-based) آن است. در این روش، سرور به جای فرستادن کدها و دستورهای پیچیدهٔ گرافیکی، فقط مستطیلهای پیکسلیِ تغییریافتهٔ صفحه را تشخیص میدهد و دادهٔ همان بخشها را همراه با مختصاتشان برای کلاینت میفرستد.
پورت پیشفرض برای این ارتباط، پورت TCP 5900 است. رابطهٔ بین پورت شبکه و شمارهٔ نمایشگر (Display Number) از یک فرمول ثابت به شکل پیروی میکند:
Port = 5900 + Display Number
بر همین اساس، نمایشگر اصلی و پیشفرض سیستم (Display :0) روی پورت 5900 قرار میگیرد. اگر یک دسکتاپ مجازی جداگانه روی نمایشگر شمارهٔ ۱ بسازید (Display :1)، پورت ارتباطی آن 5901 خواهد بود. در شبکههایی که سرعت اینترنت یا پهنای باند محدود است، الگوریتمهای فشردهسازی تطبیقی مثل Tight یا ZRLE به کمک میآیند و حجم دادههای ردوبدلشده را تا حد زیادی کاهش میدهند.
تفاوت سیستم VNC با RDP ،SSH و AnyDesk
برای اینکه بدانید در هر سناریو کدام ابزار ریموت انتخاب بهتری است، باید تفاوت آنها را از نظر مصرف ترافیک، امنیت و نوع دسترسی بشناسید. جدول زیر تفاوت سیستم VNC را با فناوریهای رایج دیگر نشان میدهد:
| فاکتور مقایسه | VNC (پروتکل RFB) | پروتکل RDP | پروتکل SSH | نرمافزارهای ریموت (AnyDesk/RustDesk) |
| روش انتقال داده | فریمبافر پیکسلی (Pixel-based) | فرامین گرافیکی (GDI/DirectX) | تبادل دستورات متنی (CLI) | استریم تصویر فشرده ویدیویی |
| مصرف پهنای باند | متوسط تا بالا | بهینه و متوسط | بسیار ناچیز (چند کیلوبایت) | متناسب با نوسان شبکه |
| رمزنگاری پیشفرض | ضعیف یا فاقد رمزنگاری بومی | مجهز به TLS و NLA | رمزنگاری قدرتمند AES | رمزنگاری انتهابهانتها (TLS 1.3) |
| استقلال پلتفرم | کاملاً مستقل (لینوکس، ویندوز، مک) | متمرکز بر سیستمهای ویندوزی | مستقل و همهمنظوره | همهمنظوره (دسکتاپ و موبایل) |
| کاربرد اصلی | دسترسی به کنسول و لایۀ مجازیساز | مدیریت ایستگاههای کاری اداری | پیکربندی متنی سرورهای لینوکس | پشتیبانی سریع کاربران از اینترنت |
در محیطهای ویندوزی، پروتکل RDP تصویر روانتر و نرخ فریم بالاتری به شما میدهد؛ چون به جای ارسال تکتک پیکسلها، دستورهای گرافیکی سیستمعامل را منتقل میکند. در مقابل، وقتی صحبت از برنامهنویسی و مدیریت زیرساخت به میان میآید، پروتکل SSH به خاطر مصرف پهنای باند بسیار کم و امنیت بالا، ابزار اول مهندسان لینوکس است. از طرفی، همانطور که در راهنمای آموزش AnyDesk هم دیدهایم، ابزارهای ریموت دسکتاپ آماده برای پشتیبانی کاربران خانگی و عبور بیدردسر از فایروالها عالی هستند، اما دست شما را برای دسترسی عمیق به سطح هستهٔ سرور باز نمیگذارند.
مزایا و معایب استفاده از سیستم VNC چیست؟
شناخت نقاط قوت و محدودیتهای فنی این پروتکل کمک میکند ببینید آیا VNC گزینهٔ مناسبی برای پروژهٔ شما هست یا نه. مهمترین مزایای سیستم VNC عبارتاند از:
- مستقل از سیستمعامل و پلتفرم: پروتکل VNC کاملاً Cross-platform است. کلاینت و سرور آن بدون دردسر روی توزیعهای مختلف لینوکس (مثل Ubuntu، Debian و CentOS)، نسخههای دسکتاپ و سرور ویندوز و همچنین macOS اجرا میشوند. به همین دلیل میتوانید مثلاً از روی مک یا لینوکس، به دسکتاپ یک سرور ویندوزی وصل شوید و برعکس.
- مدیریت گرافیکی مستقیم محیط کاربری: تا زمانی که سیستمعامل و شبکهٔ مقصد فعال باشند، میتوانید مستقیم و بدون واسطه با محیط دسکتاپ کار کنید (البته فراموش نکنید که دسترسی به بایوس، مراحل بوت یا عیبیابی درایورها فقط از طریق کنسول VNC هایپروایزر شدنی است).
- پشتیبانی از چند نشست همزمان: چند کارشناس فنی میتوانند بهطور همزمان به یک دسکتاپ واحد متصل شوند و صفحه را ببینند.
- ساختار متنباز و نسخههای پایهٔ رایگان: پروتکل پایهٔ RFB و بسیاری از پیادهسازیهای محبوب آن (مثل TigerVNC و UltraVNC) کاملاً متنباز هستند. حتی در نسخههای تجاری هم معمولاً ورژن پایه یا شخصی به شکل رایگان عرضه میشود تا بدون پرداخت هزینههای سنگین لایسنس، به امکانات ریموت دسکتاپ دسترسی داشته باشید.
البته این پروتکل محدودیتها و معایب خاص خودش را هم دارد:
- مصرف بالاتر ترافیک اینترنت: از آنجا که VNC مدام تغییرات پیکسلی تصویر را میفرستد، نسبت به ابزارهای مبتنی بر کدک ویدیویی یا متنی، پهنای باند بیشتری مصرف میکند.
- حساسیت بالا به تأخیر شبکه (Latency): اگر پینگ شبکه بالا برود، حرکت ماوس و واکنش صفحهنمایش با کندی و لگ همراه میشود.
- نداشتن رمزنگاری پیشفرض در نسخهٔ پایه: در پیادهسازیهای استاندارد و اولیه، ترافیک به صورت متن خام (Plaintext) ردوبدل میشود که نیازمند ایمنسازی جداگانه است.
چالشهای امنیتی پروتکل VNC چیست؟
در استانداردهای قدیمی RFB، بخش احراز هویت بر پایهٔ الگوریتم رمزنگاری منسوخ DES طراحی شده بود که طول رمز عبور را به حداکثر ۸ کاراکتر محدود میکرد. مشکل بزرگتر اینجاست که روی پورت پیشفرض 5900، دادههای پیکسلی تصویر و کلیدهای فشردهشدهٔ کیبورد به شکل رمزنشده از شبکه عبور میکنند؛ موضوعی که در شبکههای عمومی خطر شنود اطلاعات (Sniffing) را به شدت بالا میبرد.
هشدار امنیتی: خطرات نرمافزارهای کرکشده ریموت دسکتاپ
نصب نسخههای کرکشده و پچهای غیررسمی نرمافزارهای ریموت دسکتاپ، عملاً سرور شما را دو دستی تقدیم هکرها میکند. این فایلهای دستکاریشده اغلب شامل درهای پشتی (Backdoor) یا بدافزارهای ماینر هستند که پورتهای ناشناسی را روی فایروال باز میکنند و اطلاعات ورودتان را به سرقت میبرند. بنابراین همیشه سراغ نسخههای رسمی یا پروژههای متنباز و معتبر بروید.
برای جلوگیری از نفوذ به سرور، هیچوقت پورت 5900 را مستقیم روی فایروال عمومی باز نگذارید. امنترین و اصولیترین روش مهندسی این است که پورت را ببندید و ترافیک VNC را از دل یک تونل رمزنگاریشدهٔ پروتکل SSH عبور دهید. کافی است در ترمینال سیستم خودتان (مبدا) دستور زیر را اجرا کنید تا یک ارتباط کاملاً رمزنگاریشده برقرار شود:
ssh -L 5901:localhost:5901 -N -f user@server-ip
بعد از زدن این دستور، برنامهٔ VNC Viewer را باز کنید و آدرس محلی 127.0.0.1::5901 را وارد کنید. به این ترتیب، تمام دادهها در بستری امن و بدون ریسک شنود جابهجا میشوند. هنگام استفاده از این روش، سه نکتهٔ زیر را هم به خاطر داشته باشید:
- این دستور برای اتصال به سرورهای لینوکسی کاربرد دارد.
- سرویس VNC روی سرور باید طوری تنظیم شود که فقط به localhost گوش بدهد (یا پورت آن روی فایروال عمومی مسدود باشد).
- سرویس SSH باید از قبل روی سرور مقصد فعال و در دسترس باشد.
4 نرمافزار ارائهدهندۀ پروتکل VNC چیست؟
شرکتها و تیمهای متنباز متعددی پروتکل RFB را پیادهسازی کردهاند که هر کدام برای محیط و نیاز خاصی بهینه شدهاند. در ادامه، 4 مورد از بهترین نرمافزارهای VNC را بررسی میکنیم:
۱) نرمافزار TigerVNC
تایگر ویانسی (TigerVNC) یکی از سریعترین و پایدارترین نسخههای متنباز این پروتکل است که به دست گروهی فعال از مهندسان نرمافزار توسعه داده میشود. تمرکز اصلی این برنامه روی عملکرد بالا در توزیعهای لینوکس و زیرساختهای ابری است. مهمترین قابلیتهای فنی TigerVNC عبارتاند از:
- پشتیبانی بومی از سرویسهای سیستمی systemd در سرورهای لینوکس؛
- بهرهگیری از شتابدهندهٔ سختافزاری گرافیک برای بالا بردن نرخ فریم؛
- سازگاری کامل با پروتکل امنیتی VeNCrypt و گواهیهای دیجیتال TLS؛
- امکان ساخت نشستهای کاربری مجزا برای چند کاربر به شکل همزمان؛
- سرعت رندرینگ بالا در اجرای برنامهها و تصاویر سهبعدی دسکتاپ.
البته راهاندازی اولیه و ویرایش فایلهای کانفیگ آن برای کاربران تازهکار کمی چالشبرانگیز است و به آشنایی مقدماتی با خط فرمان لینوکس نیاز دارد.
۲) نرمافزار RealVNC Connect
این محصول تجاری را همان تیم اصلی طراحان پروتکل RFB در شرکت RealVNC ساختهاند و یکی از استانداردترین گزینهها برای شرکتها و محیطهای سازمانی به حساب میآید. تمرکز RealVNC بر ایجاد اتصالی پایدار، امن و بیدردسر در شبکههای پیچیده است. امکانات شاخصی که RealVNC Connect در اختیارتان میگذارد، عبارتاند از:
- اتصال ابری (Cloud Brokering) بدون نیاز به درگیر شدن با تنظیمات پورت فورواردینگ؛
- رمزنگاری سرتاسری ترافیک با استاندارد ۲۵۶ بیتی AES؛
- احراز هویت دو مرحلهای (2FA) و ثبت گزارش آنلاین ورود و خروج کاربران؛
- پشتیبانی کامل از ویندوز، مک، لینوکس، iOS و اندروید؛
- پنل مدیریت متمرکز تحت وب برای تعیین سطح دسترسی کارمندان؛
- امکان انتقال مستقیم فایل، چت متنی و پرینت گرفتن از اسناد راه دور.
تنها نقطهٔ ضعف جدی این نرمافزار، سیاستهای سفتوسخت تجاری آن است؛ طوری که عملاً استفادهٔ رایگان را محدود کرده و هزینهٔ اشتراک ماهانه به سازمانها تحمیل میکند.
۳) نرمافزار TightVNC
تایت ویانسی (TightVNC) برنامهای سبک، کمحجم و بسیار بهینه محصول شرکت GlavSoft است. برخلاف نسخهٔ ۲ که کاملاً متنباز و تحت مجوز GNU GPL منتشر میشد، نسخهٔ ۴ این نرمافزار به صورت کدبسته (Proprietary) عرضه شده است. با این حال، ورژن پایهٔ آن همچنان برای مصارف شخصی و تجاری رایگان است و فقط قابلیتهای پیشرفتهتر مثل رمزنگاری کامل نشستها با TLS 1.3 در نسخهٔ پولی (Pro) ارائه میشوند. ویژگیهای کاربردی TightVNC در نسخهٔ جدید عبارتاند از:
- احراز هویت امن بر پایهٔ پروتکل SRP-6a (حذف محدودیت ۸ کاراکتر و جلوگیری از ارسال مستقیم رمز در شبکه)؛
- استفاده از الگوریتم فشردهسازی تطبیقی Tight برای حفظ روانی تصویر در اینترنتهای ضعیف؛
- رابط کاربری بازطراحیشده شامل پنل Server Overview و بخش مدیریتی Control Center؛
- هماهنگی کامل با سطوح دسترسی مدیر ویندوز (UAC)؛
- امکان تعریف دو رمز عبور جداگانه؛ یکی برای کنترل کامل (Full Control) و دیگری فقط برای تماشای صفحه (View-only).
همانطور که اشاره شد، تنها محدودیت نسخهٔ رایگان این است که برای فعالسازی رمزنگاری کامل ترافیک (TLS 1.3) باید اشتراک نسخهٔ Pro را تهیه کنید.
۴) نرمافزار UltraVNC
اولترا ویانسی (UltraVNC) یک پروژهٔ متنباز و رایگان است که بهطور اختصاصی برای ویندوز توسعه یافته است. این ابزار بیشتر با هدف افزایش سرعت واکنش تصویر و آسانتر کردن کار تیمهای پشتیبانی فنی در شبکههای محلی و اداری طراحی شده است. قابلیتهای متمایز UltraVNC عبارتاند از:
- بهرهمندی از درایور آینهای (Mirror Driver) برای اسکن بسیار سریع تغییرات مانیتور و کاهش بار پردازنده؛
- ابزار داخلی برای تبادل دوطرفهٔ فایل و گفتوگوی متنی در محیط برنامه؛
- پشتیبانی از پلاگینهای رمزنگاری ماژولار مثل MSRC4 DSM؛
- قابلیت ساخت فایل اجرایی تککلیکی (SingleClick) تا کاربر مقصد بدون نیاز به نصب برنامه به پشتیبان متصل شود؛
- سازگاری با سیستم احراز هویت دامین ویندوز (Active Directory).
محدودیت اصلی UltraVNC این است که فقط روی ویندوز کار میکند و راهاندازی دستی پلاگینهای امنیتی آن هم کمی قلق دارد.
راهنمای گامبهگام راهاندازی و آموزش VNC با TightVNC
از بین گزینههای موجود، TightVNC به خاطر رایگان بودن نسخهٔ پایه و فشردهسازی عالی تصویر، یکی از بهترین انتخابها برای اتصال به دسکتاپ سرور است. در این بخش از آموزش VNC، مراحل نصب و راهاندازی آخرین نسخهٔ این برنامه (نسخهٔ 4.0.0) را قدمبهقدم جلو میبریم.
گام اول: دانلود فایل نصب
ابتدا وارد سایت رسمی tightvnc.com شوید و فایل نصبی آخرین نسخهٔ TightVNC (در اینجا نسخهٔ 4.0.0) را دانلود و اجرا کنید.
گام دوم: انتخاب اجزای نصب در سیستم مقصد و مبدا
پس از اجرای فایل نصب TightVNC 4، در مرحلهٔ Setup Type گزینهٔ Custom را انتخاب کنید تا بتوانید مشخص کنید روی هر سیستم کدام بخش نصب شود:
- TightVNC Server: این گزینه را روی سرور یا کامپیوتر مقصدی که میخواهید از راه دور کنترلش کنید نصب کنید.
- TightVNC Viewer: این بخش را روی لپتاپ یا کامپیوتر شخصی خودتان نصب کنید تا از طریق آن به صفحهٔ سرور وصل شوید.
گام سوم: تنظیم رمزهای عبور جدید و سازگاری با نسخههای قدیمی (Setup Passwords)
در جریان نصب بخش سرور، پنجرهٔ TightVNC Server setup باز میشود. این صفحه از یک بخش بالای صفحه برای انتقال تنظیمات قبلی و دو ستون اصلی برای تعریف رمز عبور تشکیل شده است:
- بخش بازیابی تنظیمات (Import from TightVNC 2): اگر قبلاً نسخهٔ ۲ این برنامه را روی سیستم داشتهاید، با زدن تیک Import settings یا Import VNC compatible passwords میتوانید تنظیمات و رمزهای قبلی را بدون نیاز به تعریف دوباره، مستقیم به نسخهٔ جدید منتقل کنید.
- ستون گذرواژههای امن (Secure Passwords – سمت چپ): برای داشتن بالاترین سطح امنیت، تیک Allow secure passwords را بزنید. این قابلیت از پروتکل امن SRP-6a استفاده میکند و اجازه میدهد در کادرهای Password و Confirm رمزهای پیچیده و طولانی (تا ۲۵۶ کاراکتر) بگذارید. اگر ویوئر شما بهروز است، حتماً از همین بخش استفاده کنید.
- ستون گذرواژههای سنتی (Legacy VNC Compatible Passwords – سمت راست): اگر قرار است با ویوئرهای قدیمی یا برنامههای متفرقهای به سرور وصل شوید که از سیستم رمزگذاری جدید پشتیبانی نمیکنند، تیک Allow VNC compatible passwords را فعال کنید. فقط حواستان باشد که رمزهای سنتی VNC امنیت کمتری دارند و حداکثر تا ۸ کاراکتر را میپذیرند.
برای گذاشتن رمز کنترل کامل، تیک Set a new full-control password را بزنید تا کادرهای مربوط به آن فعال شوند؛ سپس رمز دلخواهتان را در کادر Password و تکرار آن را در کادر Confirm بنویسید. اگر میخواهید به بعضی کاربران فقط اجازهٔ دیدن صفحه را بدهید (بدون اینکه بتوانند با ماوس و کیبورد کاری انجام دهند)، تیک View-only password را هم فعال کنید و یک رمز جداگانه برای حالت مشاهده بگذارید. در نهایت روی دکمهٔ Continue کلیک کنید تا نصب تمام شود.
گام چهارم: مدیریت دسترسی از پنل Server Overview و Control Center
پس از پایان نصب، پنجرهٔ جدید Server Overview باز میشود که وضعیت سرویس سیستمی (System Service) و برنامهٔ کاربری را نشان میدهد. با رفتن به بخش Control Center میتوانید پورت پیشفرض (5900)، فهرست کاربران متصل و لاگ رویدادهای ویندوز را مدیریت کنید. در نسخهٔ جدید، برای تغییر تنظیمات نیازی به رمز جداگانه نیست و تأیید آن مستقیماً از طریق دسترسی مدیر ویندوز (UAC) انجام میشود.
گام پنجم: برقراری اتصال از طریق TightVNC Viewer
حالا برای اینکه اتصال برقرار شود، کافی است چند کار ساده را روی سیستم مقصد (سرور) و سیستم مبدا (کلاینت) انجام دهید:
اقدامات لازم در سیستم مقصد (سرور)
قبل از هر چیز باید مطمئن شوید سرویس سرور در حال اجراست و آدرس IP دقیق آن را هم بردارید:
- بررسی روشن بودن سرویس: نگاهی به کنار ساعت ویندوز (System Tray) بیندازید و مطمئن شوید آیکون TightVNC فعال است.
- پیدا کردن آدرس آیپی (IP Address) سرور (روش اول – سریع): نشانگر ماوس را روی آیکون TightVNC در کنار ساعت ویندوز نگه دارید. آدرس IP سیستم بلافاصله در یک کادر کوچک نمایش داده میشود. همچنین اگر روی آیکون دابلکلیک کنید تا پنجرهٔ Server Overview باز شود، فهرست کامل IPهای فعال سیستم را خواهید دید.
- پیدا کردن آدرس آیپی (روش دوم – خط فرمان ویندوز): کلیدهای ترکیبی Win + R را فشار دهید، عبارت cmd را تایپ کنید و Enter بزنید. در محیط خط فرمان، دستور ipconfig را وارد کنید. عددی که جلوی عبارت IPv4 Address میبینید (مثلاً 192.168.1.150)، آدرس شبکهٔ سیستم شماست.
آیا میتوان به جای آیپی، از «نام کامپیوتر» (Computer Name) استفاده کرد؟
بله، اما بستگی دارد در چه شبکهای باشید:
- در شبکهٔ محلی و خانگی (LAN): اگر هر دو سیستم به یک مودم یا سوییچ مشترک وصل باشند، میتوانید به جای IP راحت از نام کامپیوتر (Hostname) استفاده کنید؛ چون پروتکلهای شبکهٔ ویندوز (NetBIOS و mDNS) نام سیستم را خودکار تشخیص میدهند. برای دیدن نام سیستم، کافی است در CMD دستور hostname را تایپ کنید (مثلاً Server-PC).
- در اینترنت یا سرور مجازی (VPS): خارج از شبکهٔ داخلی، نوشتن نام کامپیوتر کارایی ندارد. برای اتصال از طریق اینترنت حتماً باید آیپی عمومی (Public IP) سرور یا یک دامنه/سابدامنهٔ متصل به آن (مثل vnc.yourdomain.com) را وارد کنید.
اقدامات لازم در سیستم مبدا (کلاینت / لپتاپ شما)
حالا پشت سیستم خودتان بنشینید و این مراحل را طی کنید:
- برنامهٔ TightVNC Viewer را باز کنید.
- در کادر Remote Host، آدرس و پورت سیستم مقصد را به یکی از دو شکل زیر بنویسید: بر اساس آیپی (مثلاً 192.168.1.150::5900) یا بر اساس نام کامپیوتر در شبکهٔ محلی (مثلاً Server-PC::5900). توجه کنید که در TightVNC Viewer یک علامت دونقطه (:) برای شمارهٔ نمایشگر و دو علامت دونقطه (::) برای وارد کردن مستقیم شمارهٔ پورت به کار میرود.
- روی دکمهٔ Connect کلیک کنید.
- در پنجرهٔ بازشده، رمز عبوری را که موقع نصب سرور گذاشته بودید وارد نمایید: اگر رمز کنترل کامل (Full-control password) را بزنید، اختیار کامل ماوس و کیبورد را خواهید داشت؛ و اگر رمز مشاهده (View-only password) را وارد کنید، فقط بینندهٔ صفحهنمایش خواهید بود.
- بلافاصله پنجرهٔ دسکتاپ سیستم مقصد برایتان باز میشود و میتوانید با آن کار کنید.
دسترسی اضطراری به سرور با کنسول VNC مبین هاست
مهمترین جایی که ارزش واقعی این فناوری در دنیای هاستینگ مشخص میشود، مواقع اضطراری یا به اصطلاح «مدیریت خارج از باند» (Out-of-band management) است. در زیرساخت سرورهای ابری، کنسول VNC داخل سیستمعامل سرور شما نصب نشده، بلکه مستقیماً در لایهٔ هایپروایزر و هستهٔ مجازیسازی (مثل KVM/QEMU) قرار گرفته است. همین تفاوت معماری باعث میشود حتی اگر تنظیمات کارت شبکه (NIC) به هم بریزد، به اشتباه پورتهای سرور را در فایروال ببندید یا کرنل سیستمعامل دچار خطای جدی شود، باز هم دستتان به سرور برسد.
اگر از سرورهای مجازی مبین هاست استفاده میکنید، هر زمان که دسترسی ریموت یا SSH شما قطع شد، نیازی نیست منتظر پاسخ تیکت بمانید؛ کافی است وارد ناحیهٔ کاربری خود شوید و در بخش مدیریت سرویس، روی دکمهٔ «کنسول VNC» کلیک کنید. این کنسول بلافاصله در یک پنجرهٔ تحت وب (مبتنی بر HTML5) باز میشود و خروجی مستقیم مانیتور سرور را، درست انگار که یک مانیتور فیزیکی به سرور وصل کردهاید، در اختیارتان میگذارد.
سخن پایانی
در این راهنما بررسی کردیم که VNC چیست، چطور تصویر دسکتاپ را به صورت پیکسلبهپیکسل منتقل میکند و چه تفاوتی با ابزارهایی مثل RDP و SSH دارد. دیدیم که نرمافزارهای VNC روی سیستمعامل نصب میشوند و برای مدیریت روزمره و مستقل از پلتفرم کاربرد دارند، در حالی که «کنسول VNC» تعبیهشده در لایهٔ هایپروایزر، حکم کلید نجات سرور را در زمان قطعی شبکه یا خطاهای بوت بازی میکند. فراموش نکنید که اگر از نرمافزار VNC روی سرور استفاده میکنید، حتماً ترافیک آن را با تانل SSH یا لایههای امنیتی رمزنگاری کنید تا خیالتان از بابت امنیت سرور راحت باشد.
شما معمولاً با چه ابزاری به سرورهای خودتان وصل میشوید؟ اگر تجربهای در کار با VNC دارید یا در مراحل راهاندازی آن به سؤالی برخوردید، در بخش دیدگاهها برایمان بنویسید.
سوالات متداول
تفاوت اصلی در روش انتقال تصویر و سیستمعامل هدف است. پروتکل VNC کاملاً پیکسلمحور (Pixel-based) کار میکند و با فرستادن تغییرات تصویر مانیتور، روی هر سیستمعاملی اجرا میشود؛ اما RDP دستورهای گرافیکی ویندوز را منتقل میکند و به همین خاطر پهنای باند کمتری میخواهد. همچنین VNC دقیقاً همان صفحهٔ فعلی سرور را به اشتراک میگذارد، در حالی که RDP میتواند نشستهای کاری (Session) کاملاً مجزایی برای چند کاربر بسازد.
برنامهای است که روی کامپیوتر یا سرور مقصد نصب میشود، بهطور مداوم فریمبافر کارت گرافیک را رصد میکند و تغییرات پیکسلی صفحه را بعد از فشردهسازی برای کاربر میفرستد. در مقابل، کلیکهای ماوس و کلیدهای فشردهشدهٔ کیبورد شما را هم میگیرد و روی سیستم مقصد اجرا میکند.
یک برنامهٔ کلاینت سبک است که روی سیستم شخصی خودتان نصب میکنید تا دسکتاپ سرور را ببینید. این نرمافزار دادههای تصویری دریافتی از سرور را بازگشایی و روی مانیتور شما نمایش میدهد و همزمان، حرکت ماوس و تایپ کیبوردتان را به سمت سرور میفرستد.
پروتکل VNC در حالت پیشفرض و پایه، دادهها را به صورت متن خام (Plaintext) منتقل میکند و امنیت بالایی ندارد؛ بنابراین پورت آن نباید مستقیماً روی اینترنت باز بماند. اما اگر ارتباط آن را از داخل یک تونل رمزنگاریشدهٔ پروتکل SSH یا شبکهٔ VPN عبور دهید، یا از نسخههای مجهز به رمزنگاری TLS استفاده کنید، کاملاً امن و قابل اعتماد خواهد بود.
چون VNC تغییرات پیکسلی تصویر را با الگوی درخواست و پاسخ جابهجا میکند و به بالا رفتن پینگ و تأخیر شبکه بسیار حساس است. در مقابل، برنامههایی مثل AnyDesk از کدکهای فشردهسازی ویدیویی اختصاصی استفاده میکنند تا حتی روی اینترنتهای نوسانی هم تصویر را پیوسته نگه دارند و تأخیر حرکت ماوس کمتر به چشم بیاید.











