جميع الأدلة التعليمية

النشر في المؤسسات

خادم ترحيل خاص على Linux وRaspberry Pi

ثبّت خادم ترحيل Remotly كخدمة systemd على أي توزيعة Linux — بما في ذلك الأجهزة منخفضة الاستهلاك مثل Raspberry Pi.

لماذا تشغّل خادم ترحيل خاصًا بك؟

يُعد فتح جهازك الرئيسي على الإنترنت عبر إعادة توجيه المنافذ خطرًا أمنيًا، كما أن تركه يعمل على مدار الساعة يهدر الطاقة. يمنحك خادم ترحيل على خادم Linux صغير أو Raspberry Pi أدنى زمن استجابة ممكن، ودون الحاجة إلى إعادة توجيه المنافذ إلى أجهزة الكمبيوتر التي تصل إليها، واستهلاكًا أقل للطاقة، ودون مخاوف تتعلق بلائحة GDPR بشأن خوادم الجهات الخارجية، إضافة إلى ميزة Wake‑on‑LAN من خارج شبكتك. وحتى لو تعرّض خادم الترحيل لهجوم، فإن جميع البيانات المارّة عبره مشفّرة بمفاتيح لا يملكها الخادم أبدًا.

يفترض هذا الدليل أن لديك بالفعل وصول SSH إلى جهاز Linux والصلاحيات اللازمة.

يضيف الإصدار 2 من Remotly Relay Server دعم TLS وكلمة مرور للوصول. حتى دون TLS، يُشفَّر كل اتصال تشفيرًا شاملًا بين الطرفين باستخدام RSA-4096 وAES-256؛ ويضيف TLS طبقة نقل إضافية لجدران الحماية الصارمة على حساب استهلاك إضافي للمعالج. وتمنع كلمة مرور الوصول المستخدمين العشوائيين الذين يكتشفون عنوان IP ومنفذ خادمك من استخدامه.

1. اختر الحزمة المناسبة لجهازك

شغّل الأمر uname -m على الخادم ونزّل الحزمة المطابقة للنتيجة:

لا يتوفر دعم لـ Raspberry Pi Zero وRaspberry Pi 1 ‏(ARMv6).

2. التثبيت

  1. اتصل بالخادم عبر SSH (مثلًا باستخدام OpenSSH أو WinSCP أو FileZilla). تُنفَّذ جميع الأوامر التالية على الخادم.
  2. نزّل الحزمة المناسبة لمعماريتك، مثلًا لـ ARM64: wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
  3. فك ضغطها: unzip remotly‑relay‑linux‑arm64-v2.zip — إذا لم يكن unzip مثبتًا، فثبّته باستخدام sudo apt‑get update && sudo apt‑get install unzip.
  4. انقل الملفات إلى ‎/srv/remotly حيث تتوقعها الخدمة: sudo mv remotly‑relay /srv/remotly
  5. اضبط المالك والأذونات: sudo chown -R root:root /srv/remotly && sudo chmod -R 755 /srv/remotly. يحتوي ملف الإعداد على كلمة المرور، لذا اجعله مقروءًا للمستخدم root فقط: sudo chmod 600 /srv/remotly/config/remotly‑relay.json
uname -m
wget https://downloads.mirillis.com/files/remotly‑relay‑linux‑arm64-v2.zip
unzip remotly‑relay‑linux‑arm64-v2.zip
sudo mv remotly‑relay /srv/remotly
sudo chown -R root:root /srv/remotly
sudo chmod -R 755 /srv/remotly
sudo chmod 600 /srv/remotly/config/remotly‑relay.json

3. الإعدادات

عدّل الإعداد: sudo nano /srv/remotly/config/remotly‑relay.json. استخدم إن أمكن منفذ HTTPS القياسي 443، فهو الأكثر قدرة على تجاوز جدران الحماية.

إعدادات دون TLS:

{
  "tlsEnabled": false,
  "key": "",
  "cert": "",
  "forceTLS": false,
  "domain": "",
  "port": 443,
  "max_bandwidth": 40000000,
  "allowed_bandwidth": 30000000,
  "password": "PasswordPasswordPasswordPassword"
}

إعدادات مع TLS (اضبط forceTLS على true للسماح فقط بالاتصالات المغلّفة بـ TLS):

{
  "tlsEnabled": true,
  "key": "/etc/letsencrypt/live/relay.example.com/privkey.pem",
  "cert": "/etc/letsencrypt/live/relay.example.com/fullchain.pem",
  "forceTLS": false,
  "domain": "relay.example.com",
  "port": 443,
  "max_bandwidth": 40000000,
  "allowed_bandwidth": 30000000,
  "password": "PasswordPasswordPasswordPassword"
}
  • tlsEnabled — يفعّل تشفير TLS الإضافي؛ ويلزم تحديد مساري الشهادة والمفتاح بشكل صحيح عند ضبطه على true.
  • key — المسار المطلق للمفتاح الخاص بالشهادة بتنسيق PEM، مثل ‎/etc/letsencrypt/live/relay.example.com/privkey.pem.
  • cert — المسار المطلق للشهادة بسلسلتها الكاملة بتنسيق PEM، مثل ‎/etc/letsencrypt/live/relay.example.com/fullchain.pem.
  • forceTLS — عند ضبطه على true لا تُقبل إلا اتصالات TLS 1.2 / 1.3؛ ويجب أن يستخدم كل من العميل والمضيف TLS.
  • domain — اسم النطاق المُسند إلى عنوان IP لخادم الترحيل في DNS (موصى به، ويُستخدم لـ SNI).
  • port — المنفذ الذي يستخدمه خادم الترحيل للاتصال.
  • password — 32 حرفًا على الأقل لتقييد الوصول؛ اتركه فارغًا للتشغيل دون كلمة مرور. تمنع كلمة المرور الأقصر غير الفارغة الخادم من التشغيل.

4. تشغيل الخدمة

  1. سجّل خدمة systemd: ‏sudo bash /srv/remotly/script/installremotlyrelay.sh
  2. شغّلها: ‏sudo bash /srv/remotly/script/startremotlyrelay.sh
  3. تحقّق من أنها تعمل: يجب أن يعرض الأمر systemctl status remotly‑relay الحالة active (running).
sudo bash /srv/remotly/script/installremotlyrelay.sh
sudo bash /srv/remotly/script/startremotlyrelay.sh
systemctl status remotly‑relay

# to stop
sudo bash /srv/remotly/script/stopremotlyrelay.sh

ثم افتح http://<relay IP>:<port>/connectionTest (أو https://<relay domain>:<port>/connectionTest مع TLS) في المتصفح. يجب أن تظهر الرسالة OK.

تبدأ الخدمة مع تشغيل النظام. بعد تعديل الإعداد شغّل سكربت البدء مجددًا (فهو يعيد تشغيل الخدمة)، ويوقفها stopremotlyrelay.sh. يوجد السجل في ‎/srv/remotly/logs/remotly‑relay.log.

5. تسجيل خادم الترحيل في حسابك

سجّل الدخول على remotly.com، وافتح خوادم الترحيل المخصّصة (Custom Relays) وانقر على إضافة خادم ترحيل (Add relay server). أدخل عنوان IP، والمنفذ (أو المنافذ) من remotly‑relay.json، واسم الجهاز الذي سيظهر في التطبيقات، ورمز البلد، وكلمة المرور نفسها الموجودة في ملف الإعدادات.

لوحة خوادم الترحيل المخصّصة في لوحة مستخدم Remotly
نموذج إضافة خادم ترحيل

عند الاتصال بكمبيوتر آخر مع تفعيل خيار فرض Connect Anywhere (Force Connect Anywhere)، يجب أن ترى الآن رمز البلد واسم خادم الترحيل الخاص بك فقط.

حل المشكلات

  • تعرض connectionTest الرسالة OK لكن الاتصالات عبر خادم الترحيل تفشل: على الأرجح لا يمكن الوصول إلى خادمك من خارج شبكتك. اضبط إعادة توجيه المنافذ على عنوان IP العام واختبر من متصفح خارجي.
  • تعرض connectionTest الرسالة OK لكن الاتصالات تمر عبر خادم ترحيل Remotly رسمي: لم تُضف خادم الترحيل المخصّص إلى حسابك في لوحة الويب.
  • خادم الترحيل يعمل لكن لا يمكن الوصول إلى connectionTest: إذا كانت المشكلة من داخل شبكتك، فتحقّق من أن جدار حماية الخادم لا يحظر منفذ خادم الترحيل؛ وإذا كانت من الخارج فقط، فأصلح إعادة توجيه المنافذ على جهاز التوجيه.

لديك أسئلة؟ تفضّل بزيارة مجتمع Remotly.

يستخدم هذا الموقع ملفات تعريف الارتباط لتحسين تجربتك أثناء تصفحك للموقع. من بين هذه الملفات، يتم تخزين تلك المصنفة على أنها ضرورية في متصفحك وتستخدم لتشغيل الوظائف الأساسية للموقع.

نستخدم أيضًا ملفات تعريف الارتباط الخاصة بأطراف ثالثة التي تساعدنا في تحليل وفهم كيفية استخدامك لهذا الموقع. سيتم تخزينها في متصفحك فقط بموافقتك ولديك الفرصة لرفضها. ومع ذلك، قد يؤثر رفضها على تجربتك في التصفح.

ضروريةنشطة دائمًا

ملفات تعريف الارتباط الضرورية لازمة تمامًا لكي يعمل الموقع بشكل صحيح. تضمن هذه الملفات الوظائف الأساسية وميزات الأمان للموقع بشكل مجهول الهوية.

ملف تعريف الارتباطفترة الاحتفاظالوصف
cookie_consentسنة واحدةيخزن ما إذا كان المستخدم قد وافق على استخدام ملفات تعريف الارتباط أم لا. لا يخزن أي بيانات شخصية.
NEXT_LOCALEسنة واحدةيخزن إعداد اللغة الذي يختاره المستخدم.
themeحتى الحذفيخزن السمة الفاتحة أو الداكنة التي يختارها المستخدم (تخزين المتصفح).
hCaptchaالجلسةتضبطه خدمة hCaptcha في نموذجي الاتصال والطلب لتمييز الروبوتات وحماية الموقع من الرسائل المزعجة.
device_token6 أشهرملف تعريف الارتباط المستخدم للتحقق من المستخدم/الجهاز.
session_idالجلسة / شهر واحدملف تعريف الارتباط المستخدم للحفاظ على جلسة المستخدم نشطة.
logged_inالجلسة / شهر واحدملف تعريف الارتباط المستخدم للحفاظ على جلسة المستخدم نشطة.