כרטיס רשת אחד או שניים? קביעת פריסת הממשקים של שרת VPN
מתאם יחיד יכול לשאת את החיבור המוצפן ואת תעבורת המנהרה. בחרו כרטיס אחד או שניים לפי צורכי הניתוב, ולא לפי כלל חומרה.
מתאם פיזי אחד מספיק לשרתי VPN רבים, והוא גם אינו פתרון אוניברסלי. החיבור המוצפן מגיע אל המתאם הזה, תהליך ה-VPN מפענח אותו, ולאחר מכן התעבורה הפנימית יוצאת דרך ממשק וירטואלי בדרכה אל שירות מקומי או אל רשת LAN מנותבת. האם זה עובד תלוי בשלושה תנאים: היכן נמצא היעד, האם ל-LAN יש נתיב חזור אל מאגר הלקוחות, והאם קישור פיזי משותף אחד נותן לך את הבידוד שאתה מצהיר עליו. ענו על שלושת אלה ומספר המתאמים ייגזר מכך.
שלושת התנאים שמכריעים
התנאי הראשון הוא היעד. שירות על מארח ה-VPN עצמו נגיש דרך ממשק המנהרה בלבד, ואילו מארח ברשת ה-LAN מחייב העברה ונתיב חזור. התנאי השני הוא נתיב החזור הזה, מפני שהתקן ה-LAN חייב לדעת כיצד להגיע אל מאגר הלקוחות, בין באמצעות נתיב ובין באמצעות תרגום בשרת.
התנאי השלישי הוא ההפרדה. מתאם אחד פירושו שכל מנה, מוצפנת או לא, חולקת קישור אחד ובדרך כלל גם שרשרת מדיניות אחת, ולכן הצהרת בידוד שתלויה בחומרה נפרדת אינה מסופקת על ידי ממשק יחיד. זו עובדה על הנתיב, ולא על אופן הגדרת מערכת ההפעלה. אפשר עדיין לסנן את תעבורת המנהרה, אבל אי אפשר להצהיר על גבול שאין לך.
אף אחד מהשלושה אינו נוגע למספר היציאות במארז. הם נוגעים לניתוב, לבעלות על הכתובות ולמידת התלות של התכנון בהפרדה פיזית.
שני מתאמים נשארים בחירה לגיטימית כאשר אזורים פיזיים, קישורי העלאה נפרדים, תפוקה או נתיב שחזור מחוץ לרצועה מצדיקים אותם. אלה דרישות מוחשיות, וכדאי להציג אותן לפני שמישהו מזמין חומרה.
כאשר השירות פועל על מארח ה-VPN
המקרה הפשוט ביותר אינו צריך העברה כלל. התהליך מקבל את המנות של הלקוח בממשק המנהרה ומעביר אותן לשקע מקומי, והתגובה חוזרת באותו ממשק. מבחינת המארח, כתובת מאגר הלקוחות היא כתובת מקומית לכל דבר.
שני דברים עדיין חייבים להיות נכונים: השירות חייב להאזין בכתובת שהמנהרה יכולה להגיע אליה, וחומת האש של המארח חייבת לקבל תעבורה שמגיעה בממשק המנהרה. שניהם נראים בפקודות שלהלן.
ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1קישור שירות לכתובת הציבורית בלבד, או סינון ממשק המנהרה בטעות, מייצר חיבור שמגיע למארח ואז גווע. זה נראה כמו תקלת VPN ובדרך כלל זו החלטה של שקע או של חומת אש.
כאשר היעד יושב ברשת ה-LAN
כאן תכנון עם מתאם יחיד צובר את המוניטין שלו כמסובך. השרת חייב להעביר את המנות של הלקוח אל עבר ה-LAN, והתקן ה-LAN חייב לשלוח תגובות חזרה אל מאגר הלקוחות. או שתשא את המאגר הזה כנתיב ברשת ה-LAN, או שתתרגם את כתובת המקור בשרת כדי שהתגובות יחזרו אל השרת עצמו.
שתי התשובות לגיטימיות והן נכשלות בדרכים שונות. נתיב חזור משאיר את כתובת הלקוח המקורית גלויה ליעד, מה שטוב ליומנים ורע לחוקי חומת אש שמניחים כתובות LAN. תרגום משאיר את ה-LAN פשוט ומסתיר את זהות הלקוח מהיעד.
sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0נתיב א-סימטרי הוא התסמין הקלאסי: הבקשה של הלקוח מגיעה, התגובה יוצאת דרך נתב אחר, והחיבור פוקע בלי שגיאה באף אחד מהקצוות. תפסו תעבורה בשני הצדדים לפני שתסיקו משהו על המנהרה.
מדוע כינוי אינו יוצר אזור נוסף
הוספת כתובת שנייה לאותו מתאם, או יצירת ממשק דמה כדי לחקות יציאה שנייה, משנה מעט מאוד. המנות עדיין יוצאות דרך אותו קישור פיזי, אותו פורט מתג ובדרך כלל אותה שרשרת חומת אש, ולכן לא נוצר ביניהן גבול חדש. זהו נוחות תצורה, לא פילוח. ההתייחסות אליו כאל גבול אזור היא הדרך שבה הצהרת בידוד שורדת רק על הנייר.
אזור נפרד דורש הפרדה אמיתית בנתיב, וזו הדרישה שמתאם שני ממלא. אם כלל תלוי בכך שתעבורה הפונה ל-VPN לא תחלוק לעולם דומיין שידור עם תעבורה הפונה ל-LAN, כבל אחד לא יכול לספק את התכונה הזו, יהיה המארח ממוען איך שיהיה.
כאשר מוצר מתעד טופולוגיה מרובת ממשקים למצב מסוים, פעלו לפי התיעוד של אותו מוצר במקום להמציא עקיפה. ספקים גם משנים את הטופולוגיות הנתמכות בין גרסאות, וזו סיבה נוספת לקרוא את המדריך הנוכחי ולא צילום מסך של אשף ישן.
בדקו את הפריסה מול התעבורה שאתם מתירים
רשמו את מחלקות התעבורה שהשרת אמור לשאת: לקוח אל המארח, לקוח אל ה-LAN, מארח אל ה-LAN, והחיבור החיצוני המוצפן. לכל מחלקה יש מקור, יעד וממשק, והפריסה חייבת לספק את כל הארבעה בבת אחת. תכנון שמטפל בשלושה מהם הוא בדרך כלל זה שמייצר קריאות תמיכה.
לאחר מכן אשרו את הממשקים בפועל ואת הלכידה בפועל, ולא את התרשים במסמך התכנון. הפקודות שלהלן מציגות את שתי התצוגות.
ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5אם הלכידה החיצונית מראה את התעבורה המוצפנת והלכידה הפנימית מראה את התעבורה המפוענחת בממשק המנהרה, בעוד המתאם הפיזי נושא את שתיהן, כרטיס אחד עושה את העבודה. אם הלכידה הפנימית ריקה, הבעיה נמצאת במנהרה או בכללי ההעברה, ולא במספר המתאמים. החליטו על הטופולוגיה לפי שתי הלכידות וטבלת הניתוב, ולשינוי הבא יהיה מול מה להימדד.