כאמור, אני ממש אוהב שמציעים לי פוסטים. לפני כמה ימים קראתי ציוץ נחמד של ״ישמעל״ ששאל מה מונע ממנו בכלל תיאורטית לחבר לאינטרנט יציב מחשב ולהשתמש בו כשרת? הוא הגיע למסקנה שזה לא בטיחותי וכנראה יגרום לאיראני לפרוץ לו למקרר.
מה מונע ממני תיאורטית לחבר מחשב ישן ששוכב לי בבית לאינטרנט יציב עם חוט ולהכריז עליו כשרת hosting שאני יכול לשים עליו את אתר האינטרנט שלי בחינם במקום לשלם לחברת hosting? זה יגרום להאקרים איראנים לפרוץ לי למקרר בטח נכון שכחתי שאסור שיהיו דברים נחמדים בעולם הזה
— ישמעאל🕊️🐋 (@Weiisss_) June 25, 2025
אבל זה מה שאנשים עשו עד לא מזמן!
בעבר הרחוק מאד, כלומר ממש בשנות ה-90 וה-2000, אנשים אכן חיברו את המחשב שלהם לאינטרנט והפעילו עליו שרת. זה לא מורכב כמו שאנחנו חושבים. שרת אינטרנט זה בסופו של דבר תוכנה שיודעת לקבל תנועה מפורט מסוים (80 ו-443) ולהחזיר תשובה. בדיוק כמו שיש שרת מיינקראפט שאפשר להפעיל בבית על מחשב קטן. שרתי אינטרנט מקצוענים משתמשים באותן תוכנות, אבל אין מניעה. אם יש לכם מחשב, להפעיל עליו תוכנת שרת. בחלונות או בלינוקס וזה מה שהיה בעבר!
הבעיות
אך מה הבעיה עם זה? ראשית תפעולית: זה אומר שצריך לטפל במחשב, לעדכן אותו, לוודא שהוא עובד וכל השנניגנס. בעיה תפעולית נוספת היא כתובת ה-IP. כשאני קונה שם מתחם, אני צריך לחבר אותו לכתובת IP. מן הסתם זו תהיה כתובת ה-IP הביתית שלי. (אפשר למצוא את כתובת ה-IP שלנו באמצעות https://whatismyipaddress.com ודומיו) כתובת IP אצל רוב הספקים היא משתנה מפעם לפעם מסיבות שונות וזה אומר מרדף מתמיד של לחבר את כתובת ה-IP שלכם לשם המתחם.
כדי להוסיף על השמחה והששון ולכל ילד בלון, יש לנו גם CGNAT – כלומר ספקים שמחלקים כתובת IP אחת לכמה לקוחות ואז כמובן הוסטינג הוא בלתי אפשרי בלי קונפיגורציה נוספת.
פתרון טוב לזה הוא בקשת כתובת IP סטטית מהספק. זה אומר, אגב, לשלם לו כסף. זה מה שהיו עושים בעבר כשהיו רוצים לאחסן אתרים בבית ואין מניעה לעשות את זה עכשיו.
יש כמובן גם בעיה אבטחתית. כשאני מחבר ציוד שלי לאינטרנט ומצהיר עליו החוצה, זה אומר שאנשים יודעים מה כתובת ה-IP שלי ויכולים לסרוק אותה. אולי יש ציוד אחר שמחובר לרשת מבלי שאני יודע? ציוד בית חכם? מקרר חכם? מחשב אחר שמחובר לרשת בפורט אחר? שרת מיינקראפט של הילד שלא כובה? כמובן שגם אני חייב לוודא שהשרת שלי מוקשח, שלא יהיה מצב שמישהו באמצעות השרת יוכל לחדור למחשב ולעשות בו כרצונו.
מצד שני, כל הבעיות האלו פתירות. אז בפוסט הזה אנסה להסביר איך בונים באופן מאובטח (יחסית) שירות הוסטינג בבית
לבנות אתר בחינם
כן חשוב לציין שאם אני רוצה לבנות אתר סטטי – כלומר רק HTML, CSS ו-JS ללא מסד נתונים או שפת תכנות שרצה בשרת (כמו פייתון). יש פתרון חינמי כמו Github pages או פתרונות זולים מאד כמו להשתמש ב-Amazon S3 כבסיס לאתר כזה. מדובר בעלות של שקלים בודדים לחודש אפילו ברמות תנועה משוגעות. אפשר גם להשתמש ב-Vercel למשל ואם רוצים וורדפרס אז יש לוורדפרס.קום תוכנית חינמית ואם רוצים להשקיע כמה שקלים אז גם לאלמנטור.
אז אם רוצים אתר בחינם או קרוב לחינם? אל תמשיכו הלאה. הפוסט הזה מיועד לאנשים שאוהבים לעשות דברים כי אפשר, לא מאד שימושי אבל בשביל מה אנחנו פה אם לא להנות? כדי להוסיף על החגיגה. אני אעשה את זה עם רספברי פיי. אבל אפשר לעשות את זה על כל מחשב מבוסס לינוקס או מק אם אתם משועממים. אני מאמין שגם אם חלונות אבל אני לא מכיר מספיק ולא רוצה להכיר.
התבלין הסודי: Cloudflare
קלאודפלייר היא חברת תשתית רצינית מאד שמחזיקה חלק עצום מהאינטרנט. היא מספקת פיירוול למלא אתרים ושירותים. גם אני משתמש בה. אם יש לכם אתר ואתם לא מכירים את קלאודפלייר – הפוסט הזה יסגור לכם את הפינה. הם מספקים המון כלים תשתיתיים לגמרי בחינם ואחד מהם הוא Cloudflare Tunnel. מדובר בתשתית שמספקת קישור בין שרת שרץ מקומית ברשת שלנו לבין קלאודפלייר בלי שאנחנו נצטרך להגדיר שום דבר במערכת שלנו. אם ה-IP שלנו ישתנה? קלאודפלייר תדאג שהמידע עדיין יעבור. גם מבחינת אבטחה, קלאודפלייר ממסכת את כתובת ה-IP שלנו ואף אחד לא יכול לדעת את כתובת ה-IP שלנו.
הערה חשובה: כמובן שאם השרת שלנו לא מעודכן או שיש בו חולשות אבטחה אז תוקף יכול לחגוג עליו. אבל למשל nmap וכלי סריקות אחרים לא יוכלו לעלות על שום דבר כי כתובת ה-IP הגלויה היא של קלאודפלייר.

ה-Tunnel לא שונה קונספטואלית מ-VPN.
אז מה שאנחנו צריכים זה להרים שרת על המכונה המקומית, שיכולה להיות רספברי פיי ואז להרים את ה-Tunnel.
חיבור שם המתחם לקלאודפלייר
אני מניח שיש לכם שם מתחם, צריך לחבר אותו לקלאודפלייר. זה בכל מקרה רעיון מצוין כי ככה אפשר לעבוד בין ספקים אחסון שונים ולקבל הגנות. בגדול – צריך לפתוח חשבון (חינמי) בקלאודפלייר ולהכניס את שם המתחם שהוא זה שיפנה לקלאודפלייר. תקבלו הוראות מדויקות איך לבצע את החיבור מספק שם המתחם אליכם.

זה די פשוט, אבל כתבתי מדריך על התקנת קלאודפלייר באתר אינטרנט ושם מתחם שמשתמש ב-Godaddy.
אחרי החיבור, יש צורך להמתין מעט כדי שהכל יעבוד כמו שצריך. לוקח לשרתי ה-DNS זמן להתעדכן. התעדכן? כשאתם עושים ping לשם המתחם שלכם אתם מקבלים את ה-IP של קלאודפלייר? אפשר להתחיל לעשות Tunnel!

יצירת האתר/התקנת השרת
אפשר להתקין וורדפרס על כל מחשב. עם רספברי פיי זה קל במיוחד. אפשר גם לא להתקין וורדפרס אלא כל שרת שהוא שיגיש גם דף סטטי. מה זה משנה בכלל? נבדוק כשהכל עובד אם נקליד את כתובת ה-IP המקומית בדפדפן ונראה שאנחנו מגיעים לאתר. אני אתקין סתם איזה Nginx כדי לראות שהכל בסדר.
איך מתקינים? אשתמש ב-RaspberryPi ואלך לי אל ChatGPT ואשאל אותו – תגיד, איך מתקינים Nginx על רספברי? הוא יחפור לנצח אבל מה שאנחנו צריכים זה:
sudo apt-get update -y
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
ו… זהו. נבדוק את הסטטוס עם:
sudo systemctl status nginx
אם הכל תקין, נוכל לצאת עם נקודתיים ואז q ואז אנטר. נו, זה vim 🙂

נבדוק על ידי הכנסת כתובת ה-IP הפנימית של הרספברי שלנו. אם מופיע לנו מסך התקנה של Nginx, אנחנו מוכנים לחגיגה!

אם אתם רוצים לחשוף אותו החוצה עם ה-IP החיצוני ולא הפנימי, אפשר לעשות את זה בכמה דרכים. אבל אנחנו לא ממש צריכים לעשות כן, כדי להמנע מכל הסיבוכים והבעיות שתיארתי קודם. אנחנו נעשה את זה עם קלאודפלייר Tunnel.
בניית ה-Tunnel
על מנת להגדיר את קלאודפלייר ואת ה-Tunnel, אנו נדרשים להקין את Cloudflare CLI. זה כלי שמאפשר לנו לעבוד בטרמינל ולתקשר עם קלאודפלייר.
ההתקנה שלו במק או בלינוקס רגילים היא די פשוטה – brew או apt get ל cloudflared. ברספברי פיי זה קצת טריקי. הלכתי כמובן ל-ChatGPT והוא טען שברספברי פיי אין apt-get ושלח אותי למנהרת ארנב. מזל שאני מבין משהו ועצרתי את הטירוף והלכתי לבדוק בעצמי. אז קודם כל בודקים אם יש לנו מערכת של 32ביט או 64 ביט. עם:
uname -m
ואז מורידים את החבילה בהתאם:
# For ARMv7 (32-bit):
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm -O cloudflared
# OR for ARM64 (64-bit):
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 -O cloudflared
השלב הבא הוא הפעלה:
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/
ובדיקה עם:
cloudflared --version
הכל תקין אם רואים גרסה.
עכשיו אנחנו מוכנים!
cloudflared login
זה יפתח לנו את הדפדפן ונוכל לעשות לוגין.
בלוגין אני אצטרך לבחור שם מתחם משמות המתחם שיש לי בקלאודפלייר.
אחרי האישור והופעת הודעת האישור, אפשר לסגור את הדפדפן ולחזור לטרמינל.
cloudflared tunnel create my-home-server
נוצר לנו Tunnel! יש לו מספר מזהה שמופיע ממש בטרמינל וקובץ ההרשאות של ה-Tunnel בסיומת JSON. מאד חשוב להעתיק את הנתיב הזה לשלב הבא.
השלב הבא – קובץ קונפיגורציה!
sudo mkdir /etc/cloudflared
sudo nano /etc/cloudflared/config.yml
ואז נכניס לשם את הפרטים – זוכרים את את הנתיב של ה-JSON? אז זה נכנס לפה. ה Tunnel וגם הכתובת שאנו רוצים. במקרה שלי זה היה home.internet-israel.com
tunnel: my-home-server
credentials-file: /YOUR_PATH/<tunnel-ID>.json # Remember the JSON?
ingress:
- hostname: home.yourdomain.com
service: http://localhost:80
- service: http_status:404
שומרים עם קונטרול x ואז Y. ואז… cloudflared tunnel run my-home-server! אם משהו לא בסדר (למשל טעיתם בקובץ ה-JSON) תקבלו התראה ותצטרכו לתקן. אבל אם הכל עובד אז… תוכלו לראות לוג שרץ.
האתר באוויר! היישר מהרספברי פיי שלי!

אפשר להכניס את הפקודה הזו כדי שתרוץ באופן אוטומטי בהתחלה וכך לא תצטרכו להריץ את זה ידנית אם יש ריסט חשמלי או ריסטארט לשרת שלכם.
sudo cloudflared service install
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
בגדול… כל מה שנשאר לעשות זה לשחק עם האתר ולבנות אותו.
להרוג את ה-Tunnel
אבל אם עשיתם את זה רק לניסוי. או רק כדי להוכיח נקודה, אפשר להשאיר את זה פתוח למשחקים או להפעיל כשצריך. כשמכבים או הורגים את השרת, אז מן הסתם הוא לא יהיה באוויר. אבל אם אתם רוצים לעצור את האופרציה סופית אז:
cloudflared tunnel delete my-home-server
ולמחוק את ה-record של home מה-DNS שלכם.
כמה מילים על אבטחה
בגדול זה פתרון שאמור להיות בטוח, כתובת ה-IP שלנו חשופה מאיראני משוטט או כל האקר או קראקר. אבל אם האתר או השרת שלנו לא מעודכנים – זה אומר שמי שיחדור אליהם יכול גם בתיאוריה להכנס אל הרשת הביתית שלנו. אם למשל בשרת ה-Nginx השארתי RCE פתוח (ראשי תבות של Remote Code Execution – פרצה שתוקף יכול להריץ בה קוד כרצונו בשרת) בגלל באג, אדם יכול להריץ קוד שבודק את מה שיש על המחשב או מנסה לבדוק דברים אחרים ברשת. למרות שה-IP שלנו לא חשוף. נכון, אם השרת מאובטח כמו שצריך לא אמורה להיות בעיה אם מדובר במשחקים ושעשועים או שרת שאנחנו מרימים לקצת זמן לא אמורה להיות בעיה. אבל אם אתם באמת חושבים על הרמת פרודקשן, כדאי מאד לעשות את הצעדים הבאים:
- התקנת פיירוול על השרת עצמו. עם רספברי פיי למשל יש לי פוסט שמסביר את זה.
- הצבת המכשיר ברשת נפרדת, ב-Vlan או ב-DMZ כלשהו.
- הציבו כלי ניטור על הרשת הזו כדי לגלות הפתעות שונות.
ואם זה נשמע מסובך… זה באמת מסובך. לא סתם כתבתי בהתחלה שעדיף מאד שלא להכנס לזה אם רוצים משהו אופרטיבי. האינטרנט התמים של פעם הוא של פעם. אם רוצים משהו שהוא פרודקשן שרץ גם כשאתם לא בבית – יש לזה מחיר.
סיכום
יצרנו כאן אתר, באופן עקרוני על רספברי פיי אבל זה יכול להיות על כל מחשב שהוא, שיש לו יציאה החוצה, שם מתחם והכל. האם זה חכם? ובכן, לא סתם מדובר במנהג הרבה פחות נפוץ מימי האינטרנט העליזים של סוף שנות ה-90. היום יש הרבה יותר סיכונים והרבה יותר סקריפטים ותוכנות זדוניות שאפשר להריץ. כפי שהמשתמש ישמעל כתב – אסור שיהיו דברים נחמדים בעולם הזה. מצד שני, זה ממש נחמד להתנסות בזה וגם עלול להיות שימושי. רק צריך לזכור את האבטחה.
8 תגובות
הרבה אנשים מסתכלים על cloud flare כאל פתרון קסם.
הבעיה העיקרית שבו היא שכדי שכל הקסם יעבוד הם צריכים לבצע את ההצפנה של ה HTTPS , מה שאומר שהם חשופים לכל ה DATA של האתר שלך.
אכן. זו בעיה משמעותית באתרים מסוימים והערה טובה ממש. האמת היא שזה רעיון טוב לכתוב על איך הצפנות עובדות (זה גם מעניין להסתכל על handshake קריפטוגרפי גם ב-HTTP2 וגם ב-HTTP3). אני אכתוב על זה.
2 בעיות קודם לכך (הנוגעות לשימוש רגיל ב CloudFlare ולא רלוונטית כשמשתמשים ב tunnel)
1. הרבה המשתמשים לא טורחים כלל להתקין תעודה על השרת, כי CloudFlare דואגת לזה. בלי להבין שכל התעבורה מ CF אליהם לא מוצפנת בכלל כך שכל השכנים – אפילו העיוורים והחרשים עם החצ'קונים – יכולים לקרוא הכל.
2. כדי ליהנות מההגנה – חשוב לחסום גישה מכל רשת אחרת למעט הרשת של CF, גם את זה אין הרבה שעושים.
בנוגע לבעיה שציינת – השירות ש CF מספקים כולל WAF ושאר הגנות ודורש Inspection מלא בכל השכבות, אי אפשר להגן עליך מ sql injection בלי להציץ בתוכן. אם זה בכל זאת מדאיג אותך יש להם הרבה חומר קריאה להרגעה https://www.cloudflare.com/trust-hub/
אם אתה חושש ממדינות שיכריחו את CF לתת להם גישה, ולכן אתה מעדיף לעשות הכל לבד על Raspberry בבית, אז… אתה צודק, אין לי מה להגיד 😉
בנקים , אתר מסחר רציניים לא עובדים עם cloud flare , אין להם שום יכולת שמישהו עם צוות רציני לא יכול לממש בעצמו בלי להקריב את ה DATA של הארגון/חברה.
אם מדובר על אתר קטן אז המשוואה מתהפכת והצורך ב cloud flare (או שירות דומה לצורך העניין) הוא פלסיבו בעיקר.
לדעתי cloud flare נמצאים בדיוק באמצע , אתרים שרוצים להיות גדולים אבל עדיין אינם כאלה.
לגמרי אפשרי, אבל השאלה אם כדאי.
גם אם פותרים את האבטחה כמו שהסברת עדיין מהירות העלאה תהיה נמוכה כנראה.
גם עלות החשמל של מחשב רגיל (לא פאי) תהיה גבוהה משרת קטן.
אכן, לא ממש כדאי 🙂 אבל מצד שני… לפעמים כיף לעשות שטויות והחופש הגדול כבר כאן 🙂
100-500מב העלאה זה כבר לא כזה נמוך לשרת של אתר קטן
מה לגבי homelab? זה שימוש מאוד נפוץ שרק הולך וגובר עם הצורך לגבות תמונות מכל בני המשפחה בלי לשלם על מנויים לאחת מחברות הענק