אם אתה מפעיל שרת מקומי בביתך על מחשב נייד או מחשב ישן - כגון שרת Plex Media, שרת קבצים, שרת אינטרנט, או כל שרת אחר - אתה יכול לחשוף אותו לאינטרנט על ידי שימוש באפשרות העברת יציאות ב- נתב. עם זאת, זה לא מאובטח ולא מומלץ לגשת כך לשרת בסביבת ייצור.
אנו נראה לך כיצד לחשוף את השרתים המקומיים שלך בצורה מאובטחת עם חיבור HTTPS לאינטרנט באמצעות שירות Cloudflare Tunnel החינמי - מבלי לחשוף את ה-IP הציבורי שלך.
מהי מנהרת Cloudflare?
Cloudflare Tunnel, הידועה בעבר כמנהרת ארגו, עוזרת למשתמשים לחשוף בצורה מאובטחת את המשאבים שלהם, כגון שרתים מקומיים, לאינטרנט ללא כתובת IP ציבורית או צורך לאפשר העברת פורטים ב- נתב. כאשר אתה מגדיר מנהרת Cloudlfare במערכת Windows, macOS או Linux שלך, מנהור קל משקל daemon (cloudflared) מותקן ויושב בין המשאב שלך (שרת מקומי) לבין Cloudflare רֶשֶׁת. עם Cloudflare Tunnel, אתה יכול לחשוף ולחבר בבטחה כל שרתי אינטרנט מקומיים של HTTP, שולחנות עבודה מרוחקים, שרתי SSH או פרוטוקולים שונים אחרים לאינטרנט.
להלן, ההוראות השלביות שלנו מראות כיצד להגדיר את דמון המנהור Cloudflared ב-Windows, macOS, Linux ו-Raspberry Pi לחשיפת שרתים מקומיים לאינטרנט.
לפני שאתה מתחיל
כדי להתקין ולהגדיר את דמון המנהור Cloudflared במערכת שלך, עליך למלא את התנאים המוקדמים הבאים:
- רשום שם דומיין. אתה יכול לרכוש אחד מספקי השירותים, כגון GoDaddy, או שאתה עשוי לקבל דומיין בחינם מ freenom.com.
- לאחר רישום שם הדומיין, צור חשבון Cloudflare והוסף את הדומיין שלך - ראה הגדרת Cloudflare.
- לאחר מכן שנה או עדכן את שרתי שמות הדומיין לשרתי השמות של Cloudflare - ראה את תיעוד Cloudflare. הגדרה זו זמינה בפורטל ממנו נרשמת או רכשת את הדומיין.
לאחר עמידה בדרישות אלה, תוכל לבצע את השלבים שלהלן כדי להגדיר את מנהרת Cloudflare במחשב Windows, macOS, Linux או Raspberry Pi.
התקן את Cloudflare Tunnel ב-Windows
הגדרת Cloudflare Tunnel במערכת Windows דורשת ממך להתקין דמון קל משקל בצד השרת. לך על משחרר cloudflared עמוד והורד את הגרסה הנכונה עבור גרסת Windows שלך:
- Windows 32 סיביות: cloudflared-windows-386.exe
- Windows 64 סיביות: cloudflared-windows-amd64.exe
לאחר הורדת התקנת cloudflared daemon, עבור לתיקיה שבה ממוקמת ההתקנה ושנה את שם הקובץ ל cloudflared.exe. לאחר מכן פתח את שורת הפקודה ונווט אל המיקום שבו נמצא הדמון cloudflared באמצעות ה- CD פקודה. לדוגמה:
CD C:\Users\Ravi Singh\Downloads\Programs
לאחר מכן הפעל את הפקודות הבאות כדי לבדוק את הגרסה ולהתקין את העדכון האחרון.
ענן התלקח.exe--גִרְסָה
ענן התלקח.exeעדכון
אם אתה רואה פלט כפי שמוצג בצילום המסך למטה, אתה מוכן ללכת.
עליך לבדוק אם יש עדכונים של Cloudflared מדי פעם, כדי לשמור על ההגדרה מעודכנת ולהימנע מבעיות קישוריות.
התקן את Cloudflare Tunnel ב-macOS
ב-macOS, אתה יכול להשתמש באפליקציית Terminal כדי להוריד ולהתקין את ה-cloudflared daemon ולאחר מכן להשתמש בפקודות כדי ליצור מנהרה מאובטחת ולחשוף שרתים מקומיים לאינטרנט.
כדי להוריד את cloudflared, הפעל את הפקודה הבאה בטרמינל:
לְהִתְבַּשֵׁל להתקין cloudflare/cloudflare/cloudflared
לחלופין, תוכל להפעיל את הפקודה הזו כדי להוריד את cloudflared:
לְהִתְבַּשֵׁל להתקין ענן התלקח
התקן את Cloudflare Tunnel על לינוקס
בהתבסס על מערכת ההפעלה לינוקס שבה אתה משתמש, הורד את ה חבילת cloudflared. לאחר מכן פתח את אפליקציית Terminal, נווט למיקום שבו הורדת החבילה והתקן אותה. לחלופין, בהתאם להפצת לינוקס שלך, אתה יכול להשתמש באחת מהפקודות הבאות כדי להוריד ולהתקין את cloudflared.
התקנת DEB
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
התקנת סל"ד
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
Arch Linux
ב- Arch Linux, השתמש בכלי pacman כדי להתקין cloudflared.
pacman -Syu cloudflared
התקן את Cloudflared Tunnel על Raspberry Pi
אין מבנה או מאגר רשמי של Cloudflared עבור Raspberry Pi Zero, 2, 3 או 4. עם זאת, אתה יכול להתקין ולהשתמש ב-ARMv6 הבנייה הלא רשמית עבור Raspberry Pi כדי להגדיר את המנהרה הענן ב-Raspberry Pi OS. כבר כיסינו כמה הדרכות, כגון מנהל סיסמאות BitWarden מתארח בעצמו ב-Raspberry Pi Zero, שבו השתמשנו ב-builds הלא רשמיים כדי לחשוף את השרתים המקומיים שלנו לאינטרנט עם חיבור HTTPS דרך מנהרת Cloudflare.
כדי להתקין cloudflared על Raspberry Pi OS Bullseye (או גרסה אחרת), הפעל את הפקודה הבאה בטרמינל.
sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
סודוזֶפֶת-xvzfcloudflared_2022.8.2_arm.זֶפֶת.gz
sudo cp ./cloudflared /usr/מְקוֹמִי/bin
sudo chmod +x /usr/מְקוֹמִי/bin/cloudflared
cloudflared -v
כדי לבדוק את הגרסאות הלא רשמיות האחרונות עבור Raspberry Pi, בדוק את עמוד בונה ARMv6.
צור והגדר מנהרת Cloudflare
לאחר הורדת ה-cloudflared daemon והתקנה ב-Windows, macOS, Linux או Raspberry Pi שלך, אתה יכול ליצור מנהרת Cloudflare באמצעות הפקודה הבאה באפליקציית המסוף או בשורת הפקודה:
התחברות cloudflared
ב-Windows, macOS או Linux, זה יפתח את דף ההתחברות של Cloudflare בדפדפן האינטרנט המוגדר כברירת מחדל. אם חלון הדפדפן לא נפתח אוטומטית, העתק את כתובת האתר המוצגת בפלט הפקודה ולאחר מכן הדבק אותה בדפדפן האינטרנט והיכנס לחשבון Cloudflare שלך.
לאחר הכניסה, בחר את הדומיין שהוספת לחשבון Cloudlfare ולחץ לְאַשֵׁר.
לאחר האישור, תראה את ההודעה "נכנסת בהצלחה...". זה גם יפיק א cert.pem קובץ ואחסן אותו במיקום ברירת המחדל של ספריית cloudflared:
- חלונות: %USERPROFILE%\.cloudflared
- macOS: ~/.cloudflared
- לינוקס: /etc/cloudflared,
- פאי פטל: /usr/local/etc/cloudflared
לאחר מכן, עלינו ליצור מנהרה באמצעות הפקודה הבאה:
מנהרה מתפרצת בענן ליצור <YourTunnelName>
אתה יכול לקרוא למנהרה שלך איך שאתה רוצה. למשל, אנחנו אירח אתר וורדפרס על מחשב נייד ישן והשתמש בשם האתר כשם המנהרה; זה עושה את זה קל לזכור.
הפקודה תיצור מנהרה וגם קובץ JSON עם UUID מנהרה אלפאנומרי ייחודי. העתק את נתיב קובץ ה-JSON ואת ה-UUID של המנהרה, הדבק אותו בפנקס רשימות או ברשימה של הערות, ושמר אותו בטוח מכיוון שנצטרך אותם כדי ליצור קובץ תצורה.
כדי ליצור את קובץ התצורה ב-macOS, Linux או Raspberry Pi OS, הפעל את הפקודה הבאה,
sudo nano ~/.cloudflared/config.yml
בעורך, הדבק את הקוד הבא.
מִנהָרָה: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
כניסה:
-שם מארח: הבית שלי.smartghar.org
שירות: http://192.168.0.1
-שֵׁרוּת: http_status:404
הקפד להחליף את TunnelUUID ואת נתיב הקובץ JSON ב- קובץ אישורים שורת קוד. ללחוץ CTRL + X אוֹ Command + X (macOS) ולאחר מכן את י מפתח ואחריו להיכנס כדי לשמור את השינויים ב- config.yml קוֹבֶץ.
ב-Windows, אתה יכול להשתמש בסייר הקבצים ולנווט למיקום הבא:
ג:\משתמשים\שם הפרופיל שלך\.cloudflared
לאחר מכן לחץ לחיצה ימנית, בחר חָדָשׁ > מסמך טקסט, והדבק את גוש הקוד שהוזכר לעיל.
נְקִישָׁה נוף בסייר הקבצים והפעל את הרחבות שמות קבצים אוֹפְּצִיָה.
לאחר מכן ערוך את מסמך הטקסט בשם config.yml.
אתה יכול להוסיף מספר שמות מארחים ושירותים בקובץ התצורה כדי לגשת אליהם דרך האינטרנט דרך מנהרת Cloudlfare. פשוט, העתק את שתי השורות הראשונות מתחת ל- כניסה: שורת קוד והדבק אותם לפני -שירות: http_status: 404. החלף את שם המארח ואת כתובות ה-IP של השרת המקומי כדי להעביר את התעבורה מהאינטרנט לשרת המקומי המסוים. ראה דוגמה למטה.
דוגמה למספר שמות מארחים ושירותים:
מִנהָרָה: <TunnelUUID>
credentials-file: /root/.cloudflared/<TuinnelUUID>.json
כניסה:
-שם מארח: הבית שלי.smartghar.org
שירות: http://192.168.0.1
-שם מארח: plex.smartghar.org
שירות: http://192.168.0.136
-שֵׁרוּת: http_status:404
שמור את השינויים ולאחר מכן צור את רשומות CNAME ב- Cloudflare DNS באמצעות הפקודה הבאה.
cloudflared tunnel route dns <שם המנהרה><שם מארח>
לדוגמה:
ענן התלקחמִנהָרָהמַסלוּלdnssmartgharהבית שלי.smartghar.org
לאחר הוספת ה-CNAME, תוכל להפעיל את המנהרה כדי לגשת לשרת המקומי שלך דרך האינטרנט באמצעות שם המארח שהקצית.
ריצת מנהרה מתפרצת בענן <שם המנהרה>
אם אתה רואה פלט דומה כמו בצילום המסך למעלה, המנהרה התחילה בהצלחה. כעת תוכל לפתוח את דפדפן האינטרנט בכל מכשיר המחובר לאינטרנט ולבקר בשם המארח. עבור המקרה הזה, זה myhome.smartghar.org.
מכיוון שאנו רוצים ששם המארח יטען את דף תצורת הנתב שלנו, הוספנו את ה-IP 192.168.0.1, שאם לא כן היה נגיש רק דרך הרשת המקומית.
עליך להפעיל את אפשרות SSL/TLS לגמיש או מלא (מה שעובד בשבילך) כדי לאפשר חיבור HTTPS מאובטח עם המופע המקומי שלך.
אינסוף אפשרויות
עם Cloudlfare Tunnel, אתה יכול לגשת לכל הגדרת שרת בבית שלך דרך האינטרנט בחינם. אתה יכול להשתמש בשירות זה כדי לארח אתר במערכת מקומית ולבדוק אותו לפני פריסתו בשרת אינטרנט או מתן גישה לציבור. אתה יכול גם להשתמש בו כדי לגשת בצורה מאובטחת לבית החכם המקומי שלך הפועל ב-Home Assistant או כל שרת אחר דרך האינטרנט.
הגדרנו את שירות Cloudflare Tunnel על Raspberry Pi Zero W, שיש לו קטן יותר טביעת הרגל, צורכת פחות חשמל ועובדת בסדר גמור, מה שמאפשר לנו לגשת לכל השרתים המקומיים שלנו מרחוק.