Vpn לשימוש עצמי - זקוק לעזרה

שלום,

אני מחפש הצעות והניסיון שלך עם VPN.

שימושי:

באופן אידיאלי אני רוצה למצוא VPN שאוכל לארח בעצמי על VPS שיכול להתחבר ישירות לשני מכשירים מאחורי CG-NAT אך באותה רשת LAN, עם ממשק גרפי ל-Linux. אני רוצה משהו שהגדרה והפעלתו פשוטה, שיכול להתחבר בצורה ישירה או דרך VPS אם אין אפשרות לחיבור ישיר כל עוד שני המארחים זמינים. (אני רוצה למקם שיתוף NFS על המחשב הנייד שלי שיהיה זמין בין אם אני באותה רשת LAN או במקום אחר במהירויות סבירות.)

כרגע אני משתמש ב-wireguard:

יתרונות: יש אפליקציה לאנדرويد (חובה), מהירויות סבירות (במיוחד עם wgtunnel והאפשרות להוספת מודול ליבת) ואני יכול לנתב את כל האינטרנט דרך נקודה אחת (אם בוחר)

חסרונות: אם שני מכשירים נמצאים באותה רשת מאחורי CG-NAT הם לא יכולים להתחבר ישירות (לזה אני רוצה לבדוק אפשרויות אחרות).

Nebula:

יתרונות: די קרוב לאידאלי. מאוד מהיר, קל להקים ושמקשר בין שני מארחים באותה רשת LAN וגם דרך רשת מרוחקת. יש אפליקציה לאנדרואיד.

חסרונות: יש צורך בשינויים בקובץ קונפיגורציה (אפילו לא ב-CLI) ואין ממשק גרפי. כמו כן התחזוקה איטית כי הגרסאות שמתעדכנות במאגרים של Fedora מיושנות ו-in Ubuntu 22.04 LTS היא חסרה. ההתקנה פשוטה אך די מאתגרת. נראה כי הפרויקט מתפתח באיטיות יחסית.

Tailscale (Headscale):

יתרונות: יש ממשק גרפי ל-Linux, תומך ביצירת נקודות יציאה, וניתן לארח את זה בעצמי.

חסרונות: בפעם הקודמת שניסיתי (בעידן 1.3x) לא הצליח לחבר בין שני מכשירים מאחורי CG-NAT באותה רשת LAN, והחיבור דרך השרתים שלהם היה איטי מאוד. לעיתים זה גם משבש את ההגדרות של ה-DNS במערכת כולה ומונע פתיחת URL.

NetMaker:

מתחיל לבדוק אותו. מעניין אותי לדעת עד כמה זה פונקציונלי כאשר מארחים את זה בעצמך. יתרונות: אהבתי את הרעיון של מרכז בקרה ממוקד שניתן לנהל דרכו את כל הרשת. לא יודע עדיין את ביצועי החיבור ומהירות התקשורת.

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

מה הניסיון שלך עם אפליקציות אלו? האם הם שונות? אולי אני טועה במשהו. אשמח לשמוע הצעות ורעיונות.

בדוק את OpenZiti. זה רשת עליונה של אמון אפס - https://github.com/openziti - אותו ניתן לארח בעצמך. Ziti תומך בכל מקרה שימוש, מהצד הצפוני בדרום לאורך ה-WAN, או מזרח-מערב ב-LAN, תוך יצירת חיבורים היוצאים חוץ. זה מאפשר לעקוף את CGNAT וגם לנתב מקומית כשאתה באותה רשת LAN. יש אפליקציה לאנדרואיד והוא מתוכנן לביצועים טובים גם.

אם אתה שוקל את Netmaker, תנסה גם את Netbird

https://github.com/netbirdio/netbird

אני כרגע רק חוקרת את הנושא. בכיוון שלי זה Tailscale, אבל שמעתי גם דברים טובים על Mullvad. הבאתי קישור: CGNAT is the problem nail... Is Tailscale the hammer? - #3 by chrisjx - Tailscale

אני לא בטוחה למה Wireguard לא מאפשר חיבור ישיר בין שני מכשירים באותה רשת LAN מאחורי CG-NAT, כל עוד שיש שרת relay ב-VPS מוגדר (מה שנראה כמסתבר), זה פשוט איטי כי התעבורה צריכה לעבור החוצה ואז פנימה לרשת.

במכשילים שלך, ודא שיש keepalive פעיל כל 25 שניות, כך שהחיבור יישאר פתוח תמיד.

אבל, אתה צריך להיות מסוגל לשמור על מהירויות גבוהות כי אתה בדיוק באותה רשת: מאחר ש-Wireguard יבחר את המסלול הקצר ביותר, אפשר פשוט להוסיף את המארח שלך כשותף בנתב שלך באנדroid, ואת האנדroid כחבר במחשב הנייד שלך.

להלן דוגמאות לקונפיגורציה:

Relay

[Interface]
# Name = Bounce Server
Address = 10.0.99.1/24
ListenPort = 51820
PrivateKey = <הסתרה>

[Peer]
# Name = NFS (מחשב נייד)
PublicKey = <המפתח הציבורי של המחשב נייד>
AllowedIPs = 10.0.99.11/32

[Peer]
# Name = מכשיר אנדרואיד
PublicKey = <המפתח הציבורי של המכשיר אנדרואיד>
AllowedIPs = 10.0.99.10/32

מחשב נייד (NFS)

[Interface]
# Name = NFS
Address = 10.0.99.11/32
ListenPort = 51820
PrivateKey = <הסתרה>

[Peer]
# Name = ריבוי שלשרת הניתוב
PublicKey = <הציון הציבורי של השרת ריבוי>
Endpoint = bounce.my.ddns:51820
PersistentKeepalive = 25
AllowedIPs = 10.0.99.1/24

[Peer]
# Name = מכשיר אנדרואיד
PublicKey = <המפתח הציבורי של המכשיר אנדרואיד>
Endpoint = <כתובת IP לוקלית של המכשיר אנדרואיד באותה רשת LAN (כדי להגדיר DHCP סטטי)>:51820
AllowedIPs = 10.0.99.10/32

מכשיר אנדרואיד

[Interface]
# Name = מכשיר אנדרואיד
Address = 10.0.99.10/32
ListenPort = 51820
PrivateKey = <הסתרה>

[Peer]
# Name = ריבוי שלשרת הניתוב
PublicKey = <המפתח הציבורי של השרת ריבוי>
Endpoint = bounce.my.ddns:51820
PersistentKeepalive = 25
AllowedIPs = 10.0.99.1/24

[Peer]
# Name = מחשב נייד (NFS)
PublicKey = <המפתח הציבורי של המחשב נייד>
Endpoint = <כתובת IP לוקלית של המחשב נייד> :51820
AllowedIPs = 10.0.99.11/32

כך תוכל להתחבר לשרת ה-NFS בכתובת 10.0.99.10:2049 (או פורט אחר). אם זה באותה רשת LAN, תצטרך להוסיף שותף לקונפיגורציית ה-Wireguard של כל מכשיר, עם כתובת ה-endpoint המתאימה.