انتقل إلى المحتوى

كيفية تحقيق التحكم عن بُعد في RDP عبر الإنترنت (frp)

استخدام frp للتحكم في سطح المكتب عن بُعد في أي شبكة.

لماذا استخدام RDP

RDP هو بروتوكول مدمج في نظام التشغيل Windows. بالمقارنة مع برامج سطح المكتب عن بُعد المتوفرة في السوق مثل Todesk و Anydesk و Sunflower ، فإنه يتمتع بالمزايا التالية:

  • توافق أفضل ، حيث يتكيف مع دقة الشاشة ويمكن استخدام لوحة المفاتيح والفأرة
  • حرية أكبر ، حيث لا يوجد قيود على عدد الأجهزة ولا نظام عضوية
  • سرعة الاتصال تعتمد على سرعة الإنترنت للكمبيوتر وتكوين الخادم

لماذا استخدام frp

يدعم RDP فقط استخدام نفس مجال IP ، لذا نحتاج إلى استخدام طريقة frp لتمكين التحكم عن بُعد في الشبكة الخارجية.

frp هو برنامج بروكسي عكسي ، صغير الحجم ولكنه قوي في الأداء ، يمكنه جعل الأجهزة التي تقع وراء الشبكة المحلية أو جدار الحماية تقدم خدمات للعالم الخارجي ، وهو يدعم العديد من بروتوكولات مثل HTTP و TCP و UDP وغيرها.
تعتمد فكرة تحقيق التحكم عن بُعد في RDP عبر الإنترنت باستخدام frp على ربط الجهاز المستهدف بالخادم ، ونحن نستخدم الخادم للاتصال بالجهاز المستهدف بشكل غير مباشر ، وبالتالي تحقيق التحكم عن بُعد.

التحضير

  • الخادم (يمكن أن يكون خادم سحابي أو جهاز فيزيائي لديه عنوان IP العام)
  • الجهاز المستهدف (يجب أن يكون Windows Professional أو أعلى)
  • الجهاز المتحكم عن بُعد (متوافق مع جميع المنصات)

إعداد الخادم

أولاً ، تحقق من هندسة الخادم:

arch

استنادًا إلى صفحة Releases في frp ، حدد الإصدار الذي يتوافق مع هندسة الخادم الخاصة بك (على سبيل المثال ، أنا أستخدم هندسة X86_64 ، لذا اختر amd64) :

wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

بعد التنزيل ، قم بفك الضغط وتغيير الاسم:

tar -zxvf frp_0.36.2_linux_amd64.tar.gz && mv frp_0.36.2_linux_amd64 frp

لنلقِ نظرة على الملفات الموجودة داخل مجلد frp:

cd frp && ls
  • frps
  • frps.ini
  • frpc
  • frpc.ini

من بينها ، frps و frps.ini هما برنامج الخادم وملف التكوين (ينتهي بـ s يشير إلى الخادم) ، بينما frpc و frpc.ini هما ذات الصلة بالعميل (ينتهي بـ c يشير إلى العميل) ، لكننا لا نحتاج إليهما في الوقت الحالي ، يمكن حذفهما:

rm -f frpc frpc.ini

ثم ، قم بتعديل ملف frps.ini:

vim frps.ini
frps.ini
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
  • bind_port : منفذ الاتصال بين العميل والخادم ، سيتم استخدامه في تكوين العميل لاحقًا ، عادةً ما يكون الإعداد الافتراضي مناسب.
  • dashboard_port : منفذ لوحة القيادة الخاصة بالخادم ، عادةً ما يكون الإعداد الافتراضي مناسب. إذا تم تعيينه على الإعداد الافتراضي 7500 ، فيمكن الوصول إلى لوحة القيادة عن طريق المنفذ 7500 (على سبيل المثال ، عنوان IP للخادم: 7500) لعرض حالة frp.
  • token : كلمة المرور المستخدمة للاتصال بين العميل والخادم ، يرجى تعيينها بنفسك.
  • dashboard_user / dashboard_pwd : اسم المستخدم وكلمة المرور لوحة القيادة ، يرجى تعيينها بنفسك.

بعد الانتهاء من التعديل ، اضغط على Esc ثم أدخل :wq لحفظ التغييرات والخروج.

لتشغيل خدمة frp في الخلفية ، يمكننا استخدام الأمر nohup:

nohup ./frps -c frps.ini &

إذا رأيت الناتج التالي:

nohup: ignoring input and appending output to 'nohup.out'

فهذا يعني أن الخدمة تعمل بشكل طبيعي. يمكننا أيضًا استخدام الأمر jobs لعرض الخدمات التي تعمل حاليًا.

للتحقق مما إذا كانت الخادم مكونة بنجاح ، يمكننا الوصول إلى x.x.x.x:7500 باستخدام اسم المستخدم وكلمة المرور المكونة أعلاه للتحقق مما إذا كان بإمكاننا الوصول بنجاح إلى لوحة القيادة. إذا لم يتمكن من الوصول إلى لوحة القيادة ، فقد يكون هناك إمكانية لفتح المنفذ ذي الصلة على جدار الحماية في الخادم.

تكوين العميل

مرة أخرى ، يرجى الاطلاع على صفحة Releases لـ frp واختيار الإصدار الذي يتوافق مع بنية النظام الخاصة بك. بعد التنزيل ، قم بفك الضغط عنه وإعادة تسميته ، ويمكنك حذف ملفات frps و frps.ini. افتح ملف frpc.ini:

frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
token = 12345678
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002
  • server_addr: عنوان IP للخادم ، يرجى تعديله بنفسك.
  • server_port: يجب أن يكون نفس قيمة bind_port في الخادم ، والقيمة الافتراضية هي 7000.
  • token: رمز الاتصال ، يجب أن يكون نفس القيمة المكونة في الخادم.

بعد ذلك ، سنقوم بتكوين قواعد مخصصة:

  • [rdp]: [xxx] يشير إلى اسم القاعدة ، يمكن تخصيصه.
  • type: نوع بروتوكول التوجيه ، يمكن اختيار TCP / UDP.
  • local_port: رقم المنفذ المحلي ، هنا يتم إدخال منفذ بروتوكول RDP (3389).
  • remote_port: رقم المنفذ المفتوح على الخادم ، يمكن تخصيصه.

يكون رقم المنفذ الافتراضي لبروتوكول RDP (Remote Desktop) على نظام Windows هو 3389 ، وهو بروتوكول TCP. يكون رقم المنفذ الافتراضي لبروتوكول SMB (بروتوكول مشاركة الملفات في Windows) هو 445 ، وهو بروتوكول TCP.

لتشغيل frpc في الخلفية ، قم بإنشاء النص البرمجي frpc.vbs والصق المحتوى التالي فيه:

frpc.vbs
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "c:\frp\frpc.exe -c c:\frp\frpc.ini",0

يرجى ملاحظة أنه قد يكون هناك حاجة لتعديل المسار.

ضع frpc.vbs في المسار C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp لتحقيق بدء التشغيل التلقائي عند تشغيل الجهاز.

إذا كنت ترغب في إجراء اختبار ، يمكنك تشغيل النص البرمجي مباشرة أو إعادة التشغيل للتشغيل التلقائي.

تكوين الجهاز عن بُعد

الجهاز المتحكم هو جهاز محمول

إذا كنت بحاجة إلى التحكم عن بُعد في الكمبيوتر من هاتفك المحمول أو جهاز iPad ، فيجب عليك تثبيت تطبيق "Microsoft Remote Desktop" أولاً ، ثم اتبع الخطوات التالية:

  1. انقر فوق "+" في الزاوية العلوية اليمنى من التطبيق - "إضافة كمبيوتر".
  2. أدخل "اسم الكمبيوتر" بتنسيق "IP:remote_port" ، على سبيل المثال ، "x.x.x.x:7001" ، ثم انقر على العودة.
  3. أدخل "اسم الحساب" و "كلمة المرور" لحساب الكمبيوتر المستهدف ، ثم انقر على العودة.

إذا تم تكوين كل شيء بشكل صحيح ، يجب أن يكون بإمكانك التحكم عن بُعد بنجاح.

الجهاز المتحكم هو نظام Windows

فقط ابحث في قائمة "ابدأ" عن "اتصال سطح المكتب البعيد" ، ثم أدخل "IP:remote_port" مثل "x.x.x.x:7001" ، ثم اتبع التعليمات لإدخال اسم المستخدم وكلمة المرور ، وبذلك يمكنك التحكم عن بُعد بنجاح.

المراجع والشكر

عنوان النص: https://wiki-power.com/
يتم حماية هذا المقال بموجب اتفاقية CC BY-NC-SA 4.0، يُرجى ذكر المصدر عند إعادة النشر.

تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.