שני מכשירים, Wi-Fi אחד, יציאות VPN שונות: מה קובע
כתובת הבית, כתובת המנהרה והיציאה הציבורית הם שלושה דברים שונים. שני מכשירים יכולים לצאת דרך יציאות שונות, ושום דבר לא מבטיח שהם יעשו זאת.
שני מחשבים ניידים על אותו נתב ביתי יכולים להגיע לאינטרנט דרך יציאות VPN שונות, וה-Wi-Fi המשותף אינו קובע בכך דבר. מה שקובע את התוצאה הוא היכן המנהרה פועלת ואיזו מדיניות בוחרת את המסלול לכל בקשה. האמונה ההפוכה נפוצה באותה מידה ושגויה באותה מידה: שני מכשירים עם פרופילים נפרדים אינם מייצרים אוטומטית שתי כתובות ציבוריות. שתי השגיאות נובעות מהתייחסות לכתובת אחת כאילו היו שלוש.
שלוש כתובות, ורק אחת מהן יוצאת
למחשב נייד יש כתובת LAN ביתית שמזהה אותו בקטע המקומי, וייתכן שיש לו גם כתובת מנהרה שהוקצתה בתוך ה-VPN. אף אחת מהן אינה נראית לשירות מרוחק. מה שהשירות הזה רושם הוא כתובת היציאה הציבורית של המכשיר ששולח את החבילה לבסוף, אחרי כל תרגום בדרך.
RFC 3022 משרטט את ההבחנה שמסבירה את רוב הבלבול כאן. NAT מסורתי ממפה כתובות פנימיות לכתובות ציבוריות, בעוד שתרגום יציאות מאפשר לכתובות פנימיות רבות לחלוק כתובת ציבורית אחת בו-זמנית. משק בית עם כתובת ציבורית אחת וכמה מכשירים הוא המקרה השני, וזו ברירת המחדל כמעט בכל מקום.
ספרו את הכתובות הציבוריות, לא את הפרופילים. שני לקוחות עם כתובות מנהרה שונות ואותה מדיניות יציאה מייצרים כתובת נצפית אחת, ולקוח יחיד עם יציאה מנותבת אחרת יכול לייצר אחרת. ההשוואה הבודדת הזו היא כל המבחן. כל השאר הוא הנחה לגבי הקצה המרוחק.
מה הופך שתי יציאות לשונות באמת
יציאה שונה כאשר המכשיר האחרון לפני האינטרנט משתמש בכתובת ציבורית אחרת לתעבורה הזו. זה יכול לקרות משום שה-VPN מסתיים במקום אחר, משום שמאגר היציאות מקצה כתובת אחרת, או משום שהספק מנתב את הבקשה דרך יציאה אחרת. שלושתם החלטות מדיניות שמתקבלות בקצה המרוחק, ואף אחת מהם אינה נראית מהנתב הביתי.
שני מכשירים שכל אחד מריץ לקוח משלו עם אותו פרופיל נוחתים בדרך כלל באותו מאגר ולעיתים קרובות מקבלים את אותה יציאה עבור הפעלה נתונה. זו אינה תקלה, זו ההתנהגות הרגילה של מאגר משותף. קבלת יציאות נפרדות פירושה בדרך כלל לבקש מהשירות הקצאות נפרדות ולא להגדיר את הלקוח פעמיים.
קראו את תנאי השירות בנוגע לחיבורים בו-זמניים לפני שמתכננים סביב הבטחה. התחברות שנייה היא הרשאה להתחבר, לא הבטחה לכתובת בלעדית. אם התנאים שותקים, שאלו את הספק במקום להניח. התשובה משנה את התכנון יותר מכל הגדרת לקוח.
מדוע פרופילים נפרדים אינם יציאות נפרדות
פרופיל מתאר כיצד להגיע ל-VPN וכיצד להזדהות, והוא כמעט אינו אומר דבר על מה שקורה לאחר מכן. היציאה נבחרת בקצה המרוחק, שם שוכנים ניתוב, מאגרי כתובות ומדיניות תרגום. שכפול פרופיל במחשב שני משכפל את תצורת הלקוח, לא את החלטת השרת.
ההיפך נכון גם כן. שרת VPN אחד יכול להציג יותר מיציאה ציבורית אחת כאשר הניתוב ומדיניות התרגום שלו בנויים כך, בעוד שרתים נפרדים יכולים להזין יציאה אחת במורד הזרם. לכן מספר שמות השרתים בתצורה שלכם אינו אומר דבר על מספר הכתובות. זו הסיבה שהתצורה היא המקום הלא נכון לחפש בו את התשובה.
התשובה האמינה היחידה מגיעה מבקשה שנעשתה דרך הסידור שבו אתם מתכוונים להשתמש. כל השאר הוא הסקה.
היכן למקם את ההפרדה
מנהרה בנתב מכסה את כל משק הבית, וזה נוח ומייצר בדיוק יציאה משותפת אחת לכל מכשיר שמאחוריה. לקוח בכל מכשיר נותן לכם שליטה לכל מכשיר, אך דורש שכל מכשיר יוקצה ויישאר מוקצה. נתב בעל יכולת מדיניות יושב בין השניים, בוחר מסלול לכל מכשיר, והוא עובד רק אם הוא מזהה מכשירים באופן אמין לאורך חיבורים מחדש ושינויי DHCP.
יצירת חכירת DHCP פרטית נוספת בנתב אינה אותו דבר כמו יצירת כתובת ציבורית נוספת. היא משנה את התמונה המקומית ומשאירה את היציאה ללא שינוי. ההפרדה חיה במדיניות היציאה, בין אם המדיניות הזו נמצאת בנתב ובין אם בשירות ה-VPN.
יהיה הצורה שתבחרו, רשמו את הבעלות: מי מקצה מכשיר, מי מחליף את האישורים שלו, ומי שם לב כשהוא מפסיק להשתמש במסלול המיועד.
בדקו את היציאה שבאמת קיבלתם
בצעו את הבדיקה מהאפליקציה שחשובה, והשוו את אותה משפחת כתובות בשני המכשירים. תוצאת IPv4 מאחד ותוצאת IPv6 מהשני אינן מוכיחות דבר על אף אחד מהם. לאחר מכן חזרו על הבדיקה אחרי חיבור מחדש, משום שהקצאת המאגר יכולה להשתנות בין הפעלות.
הריצו אותו ממסוף בתוך מדיניות המנהרה, לא ממכשיר שעוקף אותה. המארח הלא נכון מייצר תשובה שגויה ובטוחה בעצמה.
curl -4 -sS https://api.ipify.org; echo
curl -6 -sS https://api64.ipify.org; echo
ip route get 1.1.1.1אם שני המכשירים מדפיסים את אותה כתובת IPv4, הם חולקים יציאה אחת ללא קשר לכמה מנהרות פועלות. אחר כך החליטו מה קורה כשהמנהרה נכשלת: לקוח שנופל בחזרה למסלול הישיר מחזיר את שני המכשירים לכתובת הבית, וההפרדה נעלמת בלי שגיאה. אשרו את התנהגות הנפילה הזו לפני שאתם מתארים את הסידור כשתי יציאות, וזכרו שכתובות שונות הן תוצאה של רשת ולא שתי זהויות אנונימיות.