اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری، سرور مجازی/اختصاصی، هاست و دامنه

اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری

دریافت مشاوره رایگان

رفع خطای an internal error has occurred در ریموت دسکتاپ

مقدمه

 

این خطا یکی از عمومی ترین خطا ها در ارتباط ریموت با سرور مجازی ویندوز یا سرور اختصاصی ویندوز می باشد و موارد گوناگونی باید مورد بررسی قرار گیرد تا مشکل رفع گردد.

 

معنی خطا: «An internal error has occurred» وقتی ظاهر می‌شود که درون رایانهٔ مقصد هنگام تلاش برای اتصال RDP مشکلی رخ داده — معمولاً خطا مربوط به تنظیمات RDP/امنیت/شبکه یا سرویس‌های محلی است، نه الزاماً مشکل در سمت کلاینت شما.

علت‌های عمومی: تغییر در تنظیمات RDP یا Group Policy، مشکلات سرویس Remote Desktop، تداخل با VPN/پیکربندی شبکه/آی‌پی ایستا، تنظیمات امنیتی (NLA/CredSSP/Schannel)، یا مشکلات MTU/فایروال/درایور گرافیک.

رویکرد: از ساده‌ترین راه‌ها شروع کنید (ری‌استارت سرویس یا دستگاه)، سپس به سراغ تنظیمات RDP، سیاست‌های محلی/گروپ، شبکه و نهایتاً رجیستری و لاگ‌ها بروید.

 

فهرست روش‌های پیشنهادی

 

  1. ری‌استارت سرویس Remote Desktop
  2. فعال‌سازی اجازهٔ Remote Connections
  3. بررسی تنظیمات Remote Desktop Connection (mstsc)
  4. غیرفعال کردن Network Level Authentication (موقتاً)
  5. تنظیم Startup type سرویس‌ها روی Automatic
  6. غیرفعال کردن IP ایستا (استفاده از DHCP)
  7. غیرفعال کردن یا بررسی تنظیمات VPN/پراکسی
  8. تغییرات در Local Security Policy (مثلاً FIPS)
  9. تنظیمات امنیتی RDP در Group Policy Editor
  10. تنظیم یا بهینه‌سازی مقدار MTU
  11. پیکربندی فایروال برای اجازهٔ RDP (پورت TCP 3389 یا پورت سفارشی)
  12. فعال‌سازی Persistent Bitmap Caching در mstsc

 

هر روش — شرح و دستورالعمل گام‌به‌گام

 

روش 1 — ری‌استارت سرویس Remote Desktop

 

– چرا: اغلب «hiccup» سرویس با ری‌استارت حل می‌شود.

– گام‌ها:

Win+R → services.msc → OK.

 

 

پیدا کردن Remote Desktop Services (TermService).

راست‌کلیک → Restart (یا Stop سپس Start).

 

 

تلاش برای اتصال مجدد RDP.

– نکته: اگر سرویس Restart نشد، سرور/ماشین مقصد را ری‌بوت کنید (در صورت امکان).

 

 

روش 2 — اجازهٔ Remote Connections (Enable Remote Desktop)

 

– چرا: اگر اجازهٔ اتصال از راه دور غیرفعال شده باشد اتصال ممکن نیست.

– گام‌ها:

This PC → راست‌کلیک → Properties → Remote settings.

در بخش Remote Desktop، اطمینان از اینکه «Allow remote connections to this computer» فعال باشد.

در سرورهای ویندوز جدید: Settings → System → Remote Desktop → Enable Remote Desktop.

 

 

روش 3 — بررسی تنظیمات MSTSC (Remote Desktop Connection)

 

– چرا: گزینه‌های mstsc می‌تواند رفتار اتصال را تغییر دهد.

– گام‌ها:

Win+R → mstsc → Enter.

 

Show Options → Experience → تیک «Reconnect if the connection is dropped» را بزنید.

در تب Local Resources، موقتاً Device/Resource redirection (printers, drives, clipboard) را غیرفعال کنید تا تداخل احتمالی حذف شود.

 

 

ذخیرهٔ تنظیمات در یک فایل .rdp و تست اتصال.

 

روش 4 — غیرفعال کردن Network Level Authentication (موقتاً)

 

– چرا: کلاینت‌های قدیمی یا تنظیمات ناسازگار NLA را مشکل‌ساز می‌کند.

– هشدار: NLA بهتر است فعال بماند؛ این تغییر را موقتی انجام دهید برای تست.

– گام‌ها:

Control Panel → System and Security → System → Advanced system settings → Remote → Remote Desktop.

تیک «Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)» را بردارید.

 

 

OK → تست اتصال.

– بازگشت: بعد از حل مشکل، NLA را دوباره فعال کنید.

 

روش 5 — تغییر Startup Type سرویس‌ها به Automatic

 

– چرا: اگر سرویس‌ها روی Manual یا Disabled باشند، ممکن است هنگام بوت در دسترس نباشند.

– گام‌ها:

Win+R → services.msc.

Remote Desktop Services → Properties → Startup type: Automatic → OK.

در صورت وجود سرویس‌های وابسته (مثلاً Remote Desktop Services UserMode Port Redirector) آن‌ها را هم چک کنید.

 

روش 6 — غیرفعال کردن IP ایستا (استفاده از DHCP)

 

– چرا: پیکربندی IP ایستا ممکن است با تنظیمات شبکه یا NAT تداخل کند.

– گام‌ها (Windows 10/11):

Settings → Network & Internet → Ethernet (یا Wi‑Fi) → آداپتر موردنظر را انتخاب کنید.

Edit زیر IP settings → انتخاب Automatic (DHCP) به‌جای Manual → Save.

ری‌استارت سیستم و تست اتصال.

 

روش 7 — غیرفعال کردن تنظیمات VPN/پراکسی

 

– چرا: VPN یا پراکسی ممکن است مسیر ترافیک RDP یا negotiation را مسدود/تغییر دهد.

– گام‌ها:

Win+R → inetcpl.cpl → Enter → Connections → LAN settings.

اگر proxy فعال است، تیک «Use a proxy server for your LAN» را بردارید.

اگر VPN استفاده می‌کنید، موقتا VPN را قطع و اتصال RDP را آزمایش کنید.

 

روش 8 — تغییرات در Local Security Policy (Secpol.msc)

 

 

– چرا: برخی سیاست‌های امنیتی محلی (مثل FIPS) می‌تواند الگوریتم‌های رمزنگاری را محدود کند و باعث مشکل RDP شود.

– گام‌ها:

Win+R → secpol.msc → Enter.

Local Policies → Security Options → پیدا کردن «System cryptography: Use FIPS compliant cryptographic algorithms…».

اگر فعال است، برای تست آن را غیرفعال یا برعکس (بسته به وضعیت) تغییر دهید و سپس ری‌استارت کنید.

– نکته: این تغییر روی الگوریتم‌های سیستم تاثیر می‌گذارد؛ قبل از تغییر بررسی اثرات امنیتی را انجام دهید.

 

روش 9 — تنظیمات امنیتی RDP در Group Policy Editor (gpedit.msc)

 

– چرا: GPO می‌تواند سطح امنیتی RDP را (Security Layer، Require NLA، CredSSP settings) تعیین کند.

– گام‌ها:

Win+R → gpedit.msc → Enter (یا در دامین، از GPMC استفاده کنید).

مسیر: Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Security.

گزینه‌ها را بررسی کنید:

– Require use of specific security layer for remote (RDP) connections — می‌توانید آن را روی Negotiate یا RDP تنظیم کنید برای تست.

– Require user authentication for remote connections by using Network Level Authentication — موقتا غیرفعال برای تست اگر با مشتری ناسازگار است.

پس از تغییر، gpupdate /force و ری‌استارت در صورت نیاز.

 

روش 9b — توجه ویژه به CredSSP (اختلال پس از آپدیت‌ها)

 

– چرا: آپدیت‌های CredSSP یا تنظیمات Encryption Oracle Remediation باعث ناهماهنگی کلاینت/سرور می‌شود.

– گام‌ها:

در gpedit: Computer Configuration → Administrative Templates → System → Credentials Delegation → Encryption Oracle Remediation.

مقدار را برای تست روی Vulnerable یا Mitigated قرار دهید (موقتا) یا اطمینان از همسان‌سازی آپدیت‌ها روی هر دو طرف.

– هشدار: Vulnerable سطح امنیتی پایین‌تری دارد؛ فقط موقتاً برای تست استفاده کنید و سپس به حالت امن برگردانید.

 

روش 10 — تنظیم مقدار MTU

 

– چرا: پارامتر MTU نامناسب می‌تواند ترافیک RDP را تکه‌تکه یا بلاک کند و منجر به خطا شود.

– گام‌ها ساده:

ابزارهایی مثل TCP Optimizer را اجرا کنید (با دسترسی Administrator).

حالت Custom را انتخاب و مقدار MTU را به‌عنوان تست روی 1658 (یا مقدار پیشنهادی شبکه‌تان) قرار دهید.

Apply و ری‌استارت adapter/سیستم و تست اتصال.

– روش جایگزین برای تشخیص MTU: از ping با فلگ‌های fragmentation استفاده کنید تا بزرگ‌ترین اندازهٔ قابل عبور را بیابید:

– مثال: ping -f -l 1472 targetIP (مقادیر را کم/زیاد کنید تا پیدا کنید).

 

روش 11 — پیکربندی فایروال برای RDP

 

– چرا: فایروال ممکن است پورت RDP را بسته یا محدود کرده باشد.

– گام‌ها:

Windows Defender Firewall with Advanced Security → Inbound Rules → New Rule.

 

 

 

 

 

نوع: Port → TCP → Specific local ports: 3389 (یا پورت سفارشی شما) → Allow the connection → انتخاب Domain/Private/Public → نام‌گذاری و Finish.

 

اگر از فایروال سخت‌افزاری/سرویس ابر استفاده می‌کنید، تنظیمات پورت و NAT را نیز بررسی کنید.

 

– نکته: اگر RDP روی پورت غیرمعمول اجرا می‌شود، از همان پورت در قوانین استفاده کنید.

 

روش 12 — فعال‌سازی Persistent Bitmap Caching

 

– چرا: برای برخی خطاهای گرافیکی یا قطعی‌های مکرر، فعال کردن persistent bitmap caching کمک‌کننده است.

– گام‌ها:

Win+R → mstsc → Show Options → Experience.

تیک Persistent bitmap caching را بزنید → Connect.

 

روش‌های تکمیلی و پیشرفته

 

پاک‌سازی نشست‌ها و ریست sessionهای مشکل‌دار

– ابزارها: query session / query user و سپس rwinsta <ID> برای پاک کردن session.

– اگر ترمینال سرویس‌ها هنگ کرده، net stop termservice و net start termservice (هشدار: این کار همهٔ کاربران را قطع می‌کند).

 

بررسی لاگ‌ها (Event Viewer)

– مسیرها:

– Windows Logs → System و Application.

– Microsoft → Windows → TerminalServices-RemoteConnectionManager و TerminalServices-LocalSessionManager.

– Schannel و Security logs (برای TLS/CredSSP).

– جستجو برای Event ID‑هایی مانند 1010, 1026, 1006 یا خطاهای Schannel/CredSSP. متن لاگ را یادداشت کنید و بر اساس آن عمل کنید.

 

به‌روزرسانی ویندوز و درایورها

– نصب آخرین Windows Updates برای سرور و کلاینت (خصوصاً بروزرسانی‌های مرتبط با Remote Desktop، CredSSP و امنیت).

– بروزرسانی یا rollback درایور کارت گرافیک اگر اختلال گرافیکی یا RemoteFX درگیر است.

 

SFC و DISM برای ترمیم فایل‌های سیستمی

– دستورات:

– sfc /scannow

– DISM /Online /Cleanup-Image /RestoreHealth

– اجرا در PowerShell/Command Prompt (Run as Administrator) و ری‌استارت بعد از تکمیل.

 

تست با کاربر/پروفایل دیگر یا ایجاد VM تست

– اگر با یک حساب کاربری دیگر مشکل برطرف شود، احتمالاً پروفایل فعلی خراب است — بررسی پروفایل/پوشه‌های temp و کش‌های RDP در %localappdata%\Microsoft\Terminal Server Client\Cache.

– ایجاد یک VM تازه یا سرور تست برای بررسی اینکه آیا مشکل مربوط به ماشین فعلی است یا محیط/شبکه.

 

بررسی تنظیمات سرور RD Gateway / Remote Desktop Gateway

– اگر از RD Gateway استفاده می‌کنید، گواهی‌ها، chain و trust و پورت‌ها (HTTPS/TCP 443) را بررسی کنید.

– لاگ‌های RD Gateway را برای خطاها بازبینی کنید.

 

بررسی رجیستری مرتبط با RDP (فقط با پشتیبان)

– کلیدهای مرتبط:

 

– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

– مقادیر مهم: fDenyTSConnections، PortNumber، SecurityLayer، UserAuthentication.

– قبل از هر تغییر، از کلید رجیستری بک‌آپ بگیرید.

 

زمانی که مشکل پس از آپدیت رخ داده — rollback بررسی کنید

– اگر بلافاصله پس از نصب یک Windows Update این خطا ظاهر شد، بررسی Uninstall updates یا بازگشت با System Restore (در صورت موجود بودن) را مدنظر قرار دهید.

 

نکات عیب‌یابی سریع (Checklist)

 

– آیا مشکل فقط برای یک کاربر/یک کلاینت است یا برای همه کاربران؟ (تعیین محل مشکل: client vs server)

– لاگ‌های Event Viewer را بررسی کنید و Error ID را ثبت کنید.

– آیا اخیراً آپدیت، تغییر در Group Policy، نصب یا حذف نرم‌افزاری انجام شده؟ اگر بله، آن تغییر را بازبینی کنید.

– آیا از VPN/Proxy/NAT/Load Balancer استفاده می‌کنید؟ مسیر ترافیک RDP را بررسی کنید.

– آیا پورت RDP به‌درستی باز و به آدرس درست NAT شده است؟ (پورت 3389 یا پورت سفارشی)

– آیا هر دو طرف (کلاینت و سرور) آپدیت‌های CredSSP را دریافت کرده‌اند؟ (سازگاری لازم است)

 

منابع برای اطلاعات بیشتر و خطایابی دقیق‌تر

 

– Event Viewer logs (TerminalServices, Schannel, System)

– مستندات Microsoft در مورد NLA، CredSSP، RD Gateway و Security Layer برای RDP

– ابزارهای شبکه: ping, tracert, tcpdump/Wireshark (برای تحلیل بسته‌ها و MTU)، netstat

 

پایانی مختصر و دستورالعمل تصمیم‌گیری سریع

 

– اگر می‌خواهید یک ترتیب سریع برای حل مسئله اجرا کنید، این کارها را به ترتیب انجام دهید:

ری‌استارت سرویس Remote Desktop (یا ری‌استارت سرور).

تست با غیرفعال کردن موقت NLA.

قطع VPN/پراکسی و استفاده از DHCP (در صورت IP ایستا).

بررسی فایروال و باز بودن پورت RDP.

بررسی لاگ‌های Event Viewer — اقدام بر اساس Event ID.

سعی در اتصال با یک کلاینت/حساب کاربری دیگر؛ اگر مشکل پابرجا بود، ادامه به مراحل پیشرفته (GPO, CredSSP, MTU, رجیستری).

 

4.7/5 - (3086 امتیاز)

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


7 + 20

قوانین

قوانین ارسال دیدگاه

لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.