WireGuard, Tailscale או Headscale: במה לבחור ל-VPS?
Tailscale מוסיף ל-WireGuard מישור בקרה לגילוי עמיתים, חיבור דרך NAT ומדיניות גישה. השוו עלות, פרטיות ותחזוקה ובחרו את הפתרון ל-VPS שלכם.
WireGuard לעומת Tailscale: התשובה הקצרה
WireGuard לעומת Tailscale אינו בחירה בין שני פרוטוקולים, משום ש-Tailscale הוא למעשה WireGuard. Tailscale משתמש באותה הצפנה ובאותה מנהרה, ומוסיף מישור בקרה: שרת תיאום שמחליף מפתחות ציבוריים, מקצה כתובות, פותח חורים דרך NAT (תרגום כתובות רשת) ומחיל מדיניות גישה. אתם בוחרים כמה ממנגנון התיאום הזה ברצונכם להפעיל בעצמכם.
יש שלוש תשובות כנות. הפעילו WireGuard רגיל כאשר יש לכם שרת אחד ומספר מצומצם של לקוחות, שכולם מתחברים אליו. הפעילו Tailscale כאשר אתם רוצים שכל מחשב יוכל להגיע לכל מחשב אחר בלי לתחזק קובץ תצורה. הפעילו Headscale כאשר אתם רוצים את רשת ה-mesh הזו, אך אינכם רוצים שצד שלישי יחזיק את רשימת הצמתים.
מה מישור הבקרה מספק בפועל
ל-WireGuard ללא מישור בקרה אין מנגנון גילוי. כל עמית הוא קטע טקסט שכותבים ידנית: מפתח ציבורי, שורת AllowedIPs ו-Endpoint אם ניתן להגיע אל אותו עמית. הוספת מחשב אחד לרשת של עשרה מחשבים מחייבת עריכה של עשרה קובצי תצורה, משום שכל צד זקוק למפתח של הצד האחר. לכן כמעט כל התקנת WireGuard בניהול עצמי משתמשת בטופולוגיית כוכב: שרת אחד עם כתובת IP ציבורית, ולקוחות שמתקשרים רק איתו.
מישור בקרה מבטל את הצורך בעריכה ידנית. כל צומת נרשם פעם אחת, מקבל כתובת מטווח 100.64.0.0/10 CGNAT (תרגום כתובות רשת בדרגת ספק), ומקבל את המפתחות הציבוריים של הצמתים שאליהם מותר לו להתחבר. המנהרה עדיין ישירה בין שני עמיתי WireGuard, והתעבורה שלכם לעולם אינה עוברת דרך שרת התיאום. השרת מעביר מטא-נתונים בלבד: מי קיים, איזה מפתח שייך לו, ומי רשאי לתקשר עם מי.
מכך נובעים שלושה דברים מעשיים.
מעבר דרך NAT. לשני מחשבים ניידים שמחוברים מאחורי שני נתבים ביתיים אין כתובת IP ציבורית משותפת שמאפשרת תקשורת ישירה. Tailscale משתמש ב-STUN (כלי מעבר הפעלה דרך NAT) כדי לגלות את הכתובת והפורט החיצוניים של כל צד. לאחר מכן שני הצדדים שולחים מנות באותו רגע, כך שכל נתב מזהה תחילה זרימת תעבורה יוצאת ומאשר את התשובה. כאשר הדבר נכשל, התעבורה עוברת דרך ממסר DERP, שהוא ממסר מוצפן המופעל על ידי Tailscale. הנתונים שלכם נשארים מוצפנים מקצה לקצה דרך הממסר, משום שהממסר לעולם אינו מחזיק במפתחות. הריצו tailscale status, וכל שורת עמית תציין direct או relay. הריצו tailscale netcheck כדי לראות איזה ממסר הוא הקרוב ביותר והאם הרשת שלכם מאפשרת UDP בכלל.
החלפת מפתחות עם תפוגה. תוקפם של מפתחות WireGuard לעולם אינו פג. מפתח שהנפקתם לפני שלוש שנים ימשיך לפעול ללא הגבלת זמן, אלא אם תמחקו ידנית את בלוק העמית. Tailscale מגדיר במקום זאת תפוגה למפתחות הצמתים, ונכון ליולי 2026 תקופת התפוגה כברירת מחדל ב-tailnet חדש היא 180 ימים. מחשב שלא ביצע אימות מחדש יפסיק להתחבר. ניתן להשבית את התפוגה לכל מכשיר בנפרד עבור שרת או נתב משנה שאיש לא יתחבר אליו כדי לבצע אימות.
מדיניות במקום ניתוב. ב-WireGuard ללא מישור בקרה, AllowedIPs משמשת גם כטבלת הניתוב וגם כרשימת בקרת הגישה. לכן יש לבטא את הכלל "alice רשאית להגיע למסד הנתונים" באמצעות טווח כתובות IP. Tailscale מחזיק קובץ מדיניות נפרד, שבו הכללים מציינים משתמשים, קבוצות ותגיות. כלל יכול לציין כי tag:laptop רשאית להגיע אל tag:db בפורט 5432 בלבד, וכי כלל זה יישאר בתוקף גם לאחר שהמחשב יקבל כתובת חדשה.
מה עולה לכם מישור הבקרה
שרת התיאום מכיר את הרשת שלכם. הוא מחזיק את המפתח הציבורי של כל צומת, את שם כל צומת, את הכתובות שהוקצו ואת המדיניות. בשירות Tailscale המתארח, השרת נמצא בידי חברה שאינה בשליטתכם. החברה אינה יכולה לקרוא את החבילות שלכם, מכיוון שהמפתחות הפרטיים של WireGuard נשארים במכונות שלכם. עם זאת, היא יכולה לראות את מבנה הרשת שלכם, והיכולת שלכם להתחבר תלויה בכך שהשירות שלה יפעל ושחשבונכם יהיה תקין.
יש עלות נוספת שקל לפספס. Tailscale הוא daemon בכל מכונה, ולכן כעת עליכם להתקין עדכוני אבטחה עבורו בכל מכונה. WireGuard רגיל ב-Ubuntu 24.04 הוא kernel module שמגיע עם ההפצה ומתעדכן יחד עם ה-kernel.
העלות השלישית היא החיוב. נכון ל-July 2026, תוכנית Personal חינמית וכוללת מספר בלתי מוגבל של מכשירים עבור עד 6 משתמשים, תוכנית Standard עולה $8 למשתמש לחודש, ותוכנית Premium עולה $18 למשתמש לחודש. משק בית נשאר במסגרת החינמית. צוות של עשרה אנשים לא.
מתי WireGuard רגיל הוא הבחירה הנכונה
בחרו ב-WireGuard רגיל כאשר הטופולוגיה היא באמת רכזת ושלוחות. VPS אחד עם כתובת IP ציבורית, שלושה או ארבעה מכשירים שמתחברים אליו, וללא דרישה שהמכשירים יגיעו זה לזה. התצורה נכנסת במסך אחד. אין daemon לעדכון, אין חשבון שעלול ללכת לאיבוד, ואין שירות חיצוני שנמצא ביניכם לבין השרת.
זו גם הבחירה הנכונה כאשר רוצים להבין את השכבה שעליה מבוסס כל השאר. אירוח עצמי של VPN מסוג WireGuard ב-VPS מסביר כיצד ליצור מפתחות, להגדיר wg0.conf, להפעיל העברת IP, להגדיר NAT ולטפל בכשלי ה-handshake. כל אחד מהמנגנונים האלה עדיין פועל מתחת ל-tailnet. אם אתם עדיין שוקלים את האפשרות הוותיקה יותר, WireGuard לעומת OpenVPN מציג את ארבעת המקרים שבהם OpenVPN עדיין מציע יתרון.
ההתקנה קצרה:
sudo apt update && sudo apt install -y wireguard
sudo modprobe wireguard && echo okWireGuard רגיל מפסיק להיות נוח ברגע שכל מכשיר חייב להגיע לכל מכשיר אחר. רשת mesh מלאה של N צמתים דורשת N כפול N פחות אחד בלוקים של עמיתים. בשישה מכשירים מדובר בשלושים בלוקים שיש לסנכרן ידנית. רשומת AllowedIPs כפולה משתלטת בשקט על התעבורה של העמית שהוגדרה אצלו קודם, בלי שמוצגת שגיאה כלשהי.
מתי Tailscale הוא הבחירה הנכונה
בחרו ב-Tailscale כאשר המכונות ניידות. מחשבים ניידים ברשתות של בתי מלון, טלפון המחובר לנתונים סלולריים, או שרת ביתי מאחורי נתב שאינכם שולטים בו. אלה בדיוק המקרים שבהם WireGuard רגיל מתמודד בצורה גרועה, משום שלאף אחד מהצדדים אין נקודת קצה ציבורית יציבה שאפשר להציב ב-Endpoint.
התקנת הלקוח מתבצעת באמצעות פקודה אחת מתוך תוכנית ההתקנה הרשמית:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale statustailscale up מדפיס כתובת URL. פתחו אותה, התחברו, והמכונה מצטרפת. אין צורך להעתיק מפתח או לפתוח פורט נכנס, משום שה-daemon יוצר חיבור יוצא לשרת התיאום ומשאיר אותו פתוח. לכן גם צומת Tailscale פועל ברשת שבה אינכם שולטים כלל בחומת אש.
לאחר מכן, שתי הגדרות מבצעות את רוב העבודה השימושית. נתב subnet מפרסם רשת LAN שלמה לרשת, כך שאין צורך להתקין את הלקוח בכל התקן:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
sudo tailscale set --advertise-routes=192.0.2.0/24הנתיב נשאר לא פעיל עד שמאשרים אותו במסוף הניהול. זו התנהגות מכוונת: צומת אינו יכול להזריק נתיב לרשת שלכם בכוחות עצמו. גם לקוחות Linux זקוקים ל-sudo tailscale set --accept-routes, משום ש-Linux אינו מקבל נתיבים מפורסמים כברירת מחדל. לכן נתיב שנראה מאושר בצד השרת עדיין אינו מבצע פעולה במחשב נייד עם Linux, עד שמגדירים זאת.
צומת יציאה שולח את כל התעבורה של לקוח דרך מכונה אחת. זהו מצב מנהרה מלאה, שבדרך כלל אליו מתכוונים כשאומרים "VPN":
sudo tailscale set --advertise-exit-nodeמתי Headscale הוא הבחירה הנכונה
Headscale הוא מימוש בקוד פתוח של שרת התיאום, והוא פועל על VPS שבבעלותכם. לקוחות Tailscale הרשמיים מתחברים אליו במקום לשירות המתארח:
sudo tailscale up --login-server https://headscale.example.comכל מה שנוגע לנתיב הנתונים נשאר ללא שינוי. התעבורה עדיין משתמשת ב-WireGuard, ועדיין עוברת ישירות בין עמיתים כאשר הרשת מאפשרת זאת. השינוי הוא שרשימת הצמתים, המפתחות והמדיניות נשמרים בקובץ SQLite בדיסק שבבעלותכם. גורם חיצוני אינו יכול לראות את מבנה הרשת שלכם, להשבית את החשבון שלכם או לחייב אתכם לפי משתמש.
המחיר הוא עבודת תפעול ממשית. כעת אתם מפעילים שירות HTTPS ציבורי, ולכן נדרשים שם DNS, אישור ותעודת הצפנה, וכן reverse proxy שמעביר כראוי שדרוגי WebSocket. אתם אחראים לזמינות השירות. כאשר שרת התיאום מושבת, צמתים חדשים אינם יכולים להירשם, וצמתים קיימים אינם יכולים לקבל מידע על שינויים. Headscale עדיין בגרסה הנמוכה מ-1.0, ובגרסאות המשניות שלו נכללו שינויים שאינם תואמים לאחור. לכן יש לקרוא את יומן השינויים לפני כל שדרוג. הפעלת Headscale כשרת הבקרה העצמי של Tailscale מכסה את ההתקנה, config.yaml, מפתחות preauth והיציאות שיש לפתוח.
יש הסתייגות אחת שמתבררת לעיתים מאוחר מדי. Headscale אינו כולל את רשת הממסרים הגלובלית של Tailscale. כאשר שני עמיתים אינם יכולים להתחבר ישירות, עליכם להפעיל את הממסר המובנה בשרת שלכם או להפנות את התצורה לממסר אחר. ממסר כזה הוא מחשב יחיד באזור יחיד, ולא מערך עולמי. עמיתים הנמצאים בצדו השני של כדור הארץ מרגישים את ההבדל.
כיצד להחליט במעבר אחד
שאלו כמה מחשבים צריכים לתקשר זה עם זה. אם כולם צריכים רק לתקשר עם השרת, WireGuard רגיל דורש פחות תוכנה ומספק את אותה תוצאה.
שאלו אם למחשבים יש כתובות ציבוריות יציבות. אם רובם נמצאים מאחורי NAT שאינכם שולטים בו, אתם זקוקים למישור בקרה, משום שיצירת חיבורים דרך NAT היא החלק המורכב, ואין טעם לבנות אותו מחדש.
שאלו מי רשאי להכיר את מבנה הרשת שלכם. אם התשובה אינה כוללת חברות חיצוניות, או אם מספר המשתמשים הופך את החיוב לפי משתמש ליקר, הפעילו Headscale וקבלו על עצמכם את האחריות לתפעול שרת הבקרה.
אפשר לשנות את ההחלטה בקלות. מאחר שמישור הנתונים משתמש באותו פרוטוקול בכל שלוש האפשרויות, המעבר מ-WireGuard רגיל לרשת אריג מתואמת מצריך התקנת לקוח ולא תכנון מחדש. המעבר מ-Tailscale ל-Headscale מצריך רישום מחדש של כל צומת מול שרת התחברות אחר.
מה אף אחת משלוש האפשרויות אינה מספקת
אף אחת מהן אינה חומת אש. מנהרה קובעת אילו מנות יועברו, ולא אילו שירותים יאזינו. שרת שניתן להגיע אליו דרך המנהרה עדיין ניתן להגיע אליו מהאינטרנט בכל יציאה שהשארתם פתוחה. לכן השאירו את כללי חומת האש של UFW ב-VPS פעילים. קובץ המדיניות של Tailscale מצמצם את מה שצמתים אחרים יכולים לגשת אליו, אך אינו משפיע על הממשק הציבורי.
אף אחת מהן אינה מספקת אימות נפרד לכל שירות, ואף אחת מהן אינה מספקת תיעוד ביקורת של פעולות המשתמש לאחר ההתחברות. התייחסו לשלושתן כאמצעי תעבורה, והוסיפו את בדיקות ההתחברות ליישום.
FAQ
האם Tailscale הוא פשוט WireGuard עם שלבים נוספים?
Tailscale משתמש ב- WireGuard עבור נתיב הנתונים, ולכן ההצפנה והמינהרה זהות. הוא מוסיף שכבת תיאום: החלפת מפתחות, הקצאת כתובות, מעבר דרך NAT באמצעות STUN וממסרי DERP, תפוגת מפתחות וקובץ מדיניות שמציין משתמשים במקום טווחי כתובות IP. אלה המשימות ש- WireGuard רגיל משאיר לך, והן נעשות מורכבות כאשר מחשבים עוברים בין רשתות.
האם התעבורה שלי עוברת דרך השרתים של Tailscale?
בדרך כלל לא. עמיתים מתחברים ישירות זה לזה לאחר ששרת התיאום מכיר ביניהם, ו- tailscale status מציג direct בשורות של עמיתים אלה. כאשר אי-אפשר ליצור נתיב ישיר, התעבורה עוברת לממסר DERP, ובשורה מופיע relay. גם במקרה כזה הממסר מעביר מנות מוצפנות ואינו מחזיק את המפתחות הפרטיים של WireGuard, ולכן אינו יכול לקרוא את התוכן. הפעל את tailscale netcheck כדי לבדוק אם הרשת שלך חוסמת את תעבורת UDP הנדרשת לחיבורים ישירים.
האם אפשר להשתמש ב-Headscale עם היישומים הרשמיים של Tailscale?
כן. Headscale משתמש באותו פרוטוקול בקרה, ולכן הלקוחות הרשמיים מתחברים באמצעות sudo tailscale up --login-server https://headscale.example.com. אפשר להפנות גם יישומי מחשב שולחני ויישומים ניידים לשרת התחברות מותאם אישית, אך ההגדרה נמצאת במקום אחר בכל פלטפורמה, והיישומים הניידים הם אלה שסביר יותר שיידרשו לגרסה מסוימת. בדוק טלפון אחד לפני העברת רשת שלמה.
האם עדיין צריך לפתוח יציאות עבור Tailscale או Headscale?
לקוח Tailscale אינו זקוק ליציאה נכנסת, מכיוון שהוא יוצר חיבור יוצא אל שרת התיאום ומשאיר אותו פתוח. שרת Headscale באירוח עצמי כן זקוק ליציאות נכנסות: 443 עבור פרוטוקול הבקרה, 80 אם משתמשים באתגר אישור HTTP-01, ו-3478/udp רק כאשר מפעילים את הממסר המובנה. ל- WireGuard רגיל יש לפתוח את יציאת ההאזנה של UDP, בדרך כלל 51820, בשרת ובכל חומת אש נפרדת של הרשת שמפעיל ספק האירוח.
מי מבין שלוש האפשרויות הוא המהיר ביותר?
קצב העברת הנתונים זהה, מכיוון שכל שלוש האפשרויות מעבירות מנות באמצעות WireGuard. ההבדל בא לידי ביטוי בהקמת החיבור ובאיכות הנתיב. WireGuard רגיל עם Endpoint תקין מתחבר ישירות בכל פעם. Tailscale ו-Headscale מתחברים ישירות ברוב המקרים ועוברים לממסר כאשר הרשת חוסמת מעבר דרך חורים ב-NAT, ונתיב דרך ממסר מוסיף השהיה. מדוד את הנתיב שלך באמצעות tailscale ping <node>, שמדווח אם הנתיב ישיר או עובר דרך ממסר, או באמצעות iperf3 דרך המינהרה.