בשרתים מקומיים

אחסנו רשת HopToDesk משלכם בשרתים מקומיים או בענן.

הקימו רשת משלכם

הקימו רשת HopToDesk משלכם. תואם ל-Ubuntu 18 - 24 ול-Windows.

מערכת הפעלה:
Linux
LinuxWindows
תצורה זו מאפשרת למכשירים ברשת המקומית שלכם להתחבר ישירות, תוך שימוש בשרתי הממסר המוגדרים כברירת מחדל של HopToDesk לחיבורים חיצוניים.
הגדירו שרת TURN משלכם לשליטה מלאה בחיבורי הממסר. כל השדות נדרשים.

מדריך התקנה

אחסון עצמי של HopToDesk

מדריך הגדרה שלב אחר שלב

מה המתקין עושה, איך לבדוק אותו ואיך לחבר את המכשירים שלכם לרשת משלכם.

איך זה עובד

HopToDesk משתמש בשני סוגי שרתים. שרת האיתות עוזר למכשירים למצוא זה את זה ולהקים הפעלה. ממסר ה-TURN מעביר את תעבורת ההפעלה רק כשחיבור ישיר בין שני המכשירים אינו אפשרי.

ההפעלות מוצפנות מקצה לקצה, ולכן אף אחד מהשרתים אינו יכול לקרוא את המסך, הקבצים או הצ'אט שלכם. שרת האיתות רואה רק מזהי מכשירים ובקשות חיבור.

המתקין בדף הזה מקים את שרת האיתות. תעבורת הממסר עוברת כברירת מחדל דרך הממסר של HopToDesk, או דרך שרת ה-TURN שלכם אם תספקו אחד.

לוח הבקרה נשאר שירות מאוחסן. מכשירים ברשת באחסון עצמי עדיין יכולים להיות מקושרים אליו לניהול, ולוח הבקרה יכול לדחוף אליהם את הגדרות הרשת.

לפני שמתחילים

  • שרת שמריץ Ubuntu 18.04 עד 24.04, או שרת Windows.
  • גישת root או sudo לשרת הזה.
  • כתובת IP או שם מארח שכל המכשירים שלכם יכולים להגיע אליו. לרשת שלעולם לא יוצאת מה-LAN שלכם, כתובת פרטית מספיקה.
  • פורט TCP 80 פתוח בחומת האש של השרת עבור המכשירים שלכם.
  • אם אתם רוצים ממסר משלכם: המארח, הפורט, שם המשתמש והסיסמה של שרת ה-TURN שלכם.

שלב 1: התקנת שרת האיתות ב-Linux

  1. התחברו לשרת כ-root, או כמשתמש עם הרשאות sudo.
  2. בראש הדף הזה, בחרו LAN + Default Relay או Custom TURN Server. פקודת ההתקנה משתנה לפי הבחירה שלכם.
  3. לחצו על Copy, הדביקו את הפקודה בטרמינל ולחצו Enter.
  4. המתינו עד שהסקריפט יסיים. בשרת חדש, התקנת החבילות עשויה להימשך כמה דקות.
  5. בסוף הסקריפט מדפיס HopSignal Setup Complete, ואחריו כתובת השרת שלכם ובלוק הגדרות רשת מוכן לשימוש. שמרו את הפלט הזה, תצטרכו אותו בשלב 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh

עם שרת TURN משלכם, הוסיפו את ארבעת הערכים שלו לסוף הפקודה בסדר הזה: מארח, פורט, שם משתמש, סיסמה.

sh hsinstall.sh turn.example.com 443 myuser mypassword

מה הסקריפט עושה

  • מתקין באמצעות apt את כלי הבנייה וספריות ה-OpenSSL הנדרשים.
  • מוריד את הקובץ הבינארי של שרת האיתות לתיקייה /home/hopsignal.
  • יוצר שירות systemd בשם hopsignal ומפעיל אותו בכל אתחול.
  • מוסיף שומר cron שמפעיל מחדש את השירות אם הוא מפסיק להגיב, ומסובב את יומן הרישום כשהוא עובר 100 MB.
  • פותח את פורט TCP 80 ב-ufw כאשר ufw פעיל.

שלב 1 ב-Windows: הפעלת שרת האיתות

  1. העבירו את מתג ה-OS בראש הדף הזה ל-Windows ולחצו על Download. תקבלו קובץ אחד בשם hopsignal.exe.
  2. צרו תיקייה כמו C:\hopsignal והעבירו אליה את hopsignal.exe.
  3. באותה תיקייה, צרו קובץ טקסט ריק בשם fedlist.txt.
  4. גרסת Windows מצפה גם לאישור TLS ולמפתח הפרטי שלו בפורמט PEM. כל זוג עובד, כולל בחתימה עצמית. שמרו אותם בשם cert.pem ו-key.pem באותה תיקייה.
  5. פתחו שורת פקודה כמנהל והפעילו את השרת.
cd C:\hopsignal
hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT cert.pem --KEY key.pem --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE hs.log

אם יש לכם OpenSSL, הפקודה הזו יוצרת זוג אישורים בחתימה עצמית:

openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"

אפשרו את הפורט בחומת האש של Windows:

netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80

כדי שהשרת ימשיך לרוץ אחרי אתחול, רשמו אותו כמשימה מתוזמנת שמתחילה באתחול תחת חשבון SYSTEM:

schtasks /Create /TN HopSignal /SC ONSTART /RU SYSTEM /TR "C:\hopsignal\hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT C:\hopsignal\cert.pem --KEY C:\hopsignal\key.pem --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE C:\hopsignal\hs.log"
schtasks /Run /TN HopSignal

שלב 2: בדיקה שהשרת פועל

ב-Linux, בדקו את השירות ואת היומן:

sudo systemctl status hopsignal
tail /home/hopsignal/hs.log

ב-Windows, ודאו שהפורט מאזין:

netstat -an | find ":80 "

מכל מחשב, בדקו את פורט ה-WebSocket. החליפו את SERVER_IP בכתובת השרת שלכם. שרת תקין עונה HTTP/1.1 101 Switching Protocols.

curl -i -N -m 5 -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" http://SERVER_IP:80/

שלב 3: הפניית המכשירים שלכם לשרת

כל מכשיר קורא את הגדרות הרשת שלו ממסמך JSON קטן. זהו הבלוק שהמתקין הדפיס בסוף שלב 1. החליפו את SERVER_IP בכתובת השרת שלכם, ומלאו את בלוק ה-TURN אם אתם מפעילים ממסר משלכם.

{
  "turnservers": [
    {
      "protocol": "turn",
      "host": "turn.hoptodesk.com",
      "port": "443",
      "username": "hoptodesk",
      "password": "hoptodesk1234"
    }
  ],
  "rendezvous": {
    "host": "SERVER_IP",
    "port": "80"
  },
  "winversion": "1.0.0",
  "macversion": "1.0.0",
  "linuxversion": "1.0.0",
  "none": "none"
}

בלוק rendezvous הוא שרת האיתות שלכם. השתמשו במפתח rendezvousssl במקום rendezvous כשמגיעים לשרת דרך TLS, למשל Cloudflare Worker או פריסה ב-AWS. רשימת turnservers מכילה ממסר אחד או יותר. הגדירו את הפרוטוקול ל-turn לחיבור רגיל או ל-turn-tls לחיבור TLS. השאירו את מפתחות הגרסה כפי שהם.

יש שלוש דרכים למסור את המסמך הזה למכשירים שלכם. בחרו את זו שמתאימה להגדרה שלכם.

אפשרות A: הניחו קובץ api.json על כל מכשיר

שמרו את המסמך כקובץ בשם api.json בתיקיית התצורה של HopToDesk, ואז הפעילו מחדש את HopToDesk. האפליקציה קוראת את הקובץ בהפעלה ואינה פונה יותר ל-API של HopToDesk.

פלטפורמהנתיב
Windows, כל המשתמשים והשירותC:\ProgramData\HopToDesk\config\api.json
Windows, המשתמש הנוכחי בלבד%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

ב-Linux שירות הרקע רץ כ-root וקורא את הקובץ תחת /root, בעוד האפליקציה שאתם פותחים קוראת את הקובץ בתיקיית הבית שלכם. שימו עותק בשני המקומות.

אפשרות B: אחסנו את הקובץ בכתובת URL ובחרו אותה באפליקציה

  1. העלו את api.json לכל שרת אינטרנט שהמכשירים שלכם יכולים להגיע אליו. מומלץ HTTPS.
  2. ב-HopToDesk, לחצו על סמל גלגל השיניים כדי לפתוח את ההגדרות.
  3. תחת Network, לחצו על Choose Network.
  4. בחרו Custom Network Settings, הדביקו את כתובת ה-URL של הקובץ שלכם ואשרו.
  5. HopToDesk מוריד את הקובץ, בודק שהוא מכיל רשומת rendezvous תקינה ורשימת turnservers, ואז מתחבר מחדש דרך השרת שלכם.

כדי לחזור לרשת הציבורית, פתחו שוב את Choose Network ובחרו HopToDesk Network.

אפשרות C: דחפו את ההגדרות מלוח הבקרה

אם המכשירים שלכם מקושרים ללוח הבקרה של HopToDesk, תוכלו להגדיר את הרשת פעם אחת לכל החשבון. לקוח מותאם אישית שנבנה מלוח הבקרה מגיע עם ההגדרות האלה מובנות.

  1. היכנסו ללוח הבקרה כבעלים או כמנהל ופתחו את ההגדרות.
  2. תחת Network Settings, בחרו Custom Network.
  3. הזינו את המארח של שרת האיתות, את הפורט שלו ו-WS כפרוטוקול. הוסיפו שרת TURN אם אתם מפעילים ממסר משלכם, או השאירו ריק כדי להישאר עם הממסר של HopToDesk.
  4. לחצו על Save Network Settings. כל מכשיר מקושר מקבל את ההגדרות החדשות ומחיל אותן ללא התקנה מחדש.

הפעלת ממסר TURN משלכם (אופציונלי)

הפעלות שאינן יכולות להתחבר ישירות עוברות כברירת מחדל דרך הממסר של HopToDesk. כדי לשמור את כל התעבורה בתשתית שלכם, הפעילו שרת TURN. כל שרת TURN סטנדרטי עובד, ו-coturn הוא בחירה נפוצה ב-Linux.

  1. התקינו coturn על שרת הממסר.
sudo apt install coturn
  1. ערכו את /etc/turnserver.conf והגדירו לפחות את הערכים שלהלן. החליפו את ה-realm, פרטי הגישה וכתובת ה-IP הציבורית בערכים שלכם.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. אם /etc/default/coturn מכיל שורת TURNSERVER_ENABLED, הסירו ממנה את ההערה. לאחר מכן הפעילו את השירות והתחילו אותו.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. פתחו בחומת האש של הממסר את פורט ההאזנה ל-TCP ול-UDP, וכן את טווח ממסר ה-UDP 49152 עד 65535.
  2. מסרו את הממסר למכשירים שלכם: הריצו שוב את המתקין עם ארבעת ערכי ה-TURN, או ערכו את בלוק turnservers בהגדרות הרשת. השתמשו ב-turn-tls כפרוטוקול אם הממסר שלכם מסיים TLS.

ניהול השרת ב-Linux

sudo systemctl status hopsignal
sudo systemctl restart hopsignal
sudo systemctl stop hopsignal
tail -f /home/hopsignal/hs.log

כדי לעדכן את השרת, עצרו את השירות והריצו שוב את פקודת ההתקנה. היא מורידה את הקובץ הבינארי העדכני וכותבת מחדש את השירות.

להסרת השרת יחד עם השירות ורשומות ה-cron שלו:

cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh remove

פתרון בעיות

  • המזהה נשאר על Generating, או שהאפליקציה ממשיכה לנסות להתחבר לרשת: המכשיר אינו מגיע לשרת האיתות. בדקו שהשירות פועל, שפורט 80 פתוח ושהכתובת בהגדרות הרשת שלכם נכונה.
  • המכשירים מתחברים ב-LAN אבל לא מבחוץ: הממסר אינו נגיש. עם ממסר ברירת המחדל, המכשירים צריכים גישה יוצאת אל turn.hoptodesk.com בפורט 443. עם ממסר משלכם, בדקו את כללי חומת האש ואת פרטי הגישה שלו.
  • האפליקציה מתעלמת מ-api.json: ודאו שהקובץ הוא JSON תקין ללא פסיקים בסוף, שהוא נמצא בתיקייה הנכונה ושהפעלתם מחדש את HopToDesk. יומן האפליקציה מכיל את השורה Loaded local api.json כשהקובץ נקלט.
  • פורט 82 הוא פורט הפדרציה לקישור כמה שרתי איתות משלכם. השאירו אותו סגור לאינטרנט.
  • שרת האיתות אינו שומר נתוני הפעלה. אם משהו נראה תקוע, הפעילו מחדש את השירות. המכשירים מתחברים מחדש בעצמם תוך כדקה.

אחסון אצל צד שלישי

מעדיפים פלטפורמה מנוהלת? פרסו את רשת HopToDesk שלכם ב-Cloudflare או ב-AWS.

HopToDesk על Cloudflare

  1. היכנסו לחשבון Cloudflare שלכם ועברו לאזור הדומיין שברצונכם להשתמש בו.
  2. צרו worker חדש עם שם הקובץ index.js.
  3. העתיקו את קוד ה-worker אל index.js, ואז שמרו ופרסו את ה-worker. קוד worker
  4. כתובת ה-URL של ה-Cloudflare Worker שלכם מוכנה. השתמשו בה כערך "rendezvousssl". api.json API מותאם

HopToDesk על AWS

  1. הירשמו לחשבון AWS אם עדיין אין לכם.
  2. הירשמו לרישום של HopToDesk ב-AWS Marketplace. AWS Marketplace
  3. לאחר ש-Amazon מקצה את השירות, הגדירו לפי הצורך והפעילו את המופע.
  4. רשת HopToDesk שלכם פרוסה כעת ב-AWS. הגדירו את כתובת ה-https שלה כערך "rendezvousssl". api.json API מותאם

הערה: ה-worker דורש תוכנית Cloudflare בתשלום החל מ-5$ לחודש, מכיוון שהוא מסתמך על Durable Objects. מחירי Durable Objects

AWS Marketplace והלוגו של AWS Marketplace הם סימנים מסחריים של Amazon.com, Inc. או של חברות הבת שלה.
Cloudflare, הלוגו של Cloudflare ו-Cloudflare Workers הם סימנים מסחריים ו/או סימנים מסחריים רשומים של Cloudflare, Inc. בארצות הברית ובתחומי שיפוט נוספים.