|
26-03-2014, 20:45
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
יש מספר דרכים לעשות VPN באופן כללי. האחת, שהיא הטריוויאלית, היא שמה שמחבר אותך לאינטרנט, מריץ את ה VPN שלך גם כן. זו השיטה הקלה והחזקה ביותר מכל מיני סיבות - בראש ובראשונה - משום שכל הרשת שלך, מורכבת ככל שלא תהיה, מוגדרת "לצאת" החוצה לאינטרנט דרך התקן הרשת הזה. לכן, בהגדרה, מלקוחות ה VPN, תוכל להגיע אל כל המחשבים על ידי הגדרות בהתקן הזה בלבד, משום שכל שעלייך לעשות הוא לפרסם ללקוחות את טווחי כתובות ה IP הפנימיים - והערוץ החזור כבר מובטח לך (מכל מחשב שיוצא לאינטרנט... דרכך)
בשיטה הטריוויאלית, מוקצה טווח רשת (שאתה מגדיר, רצוי מתוך הטווחים שב RFC 1918 - בדיוק כמו שזה מה שרצוי עבור כל הכתובות הפנימיות שלך) על ידי התקן ה VPN - וכל מי שמתחבר ל VPN מקבל IP מהטווח הזה, ומקבל הגדרת ניתוב עבור כל הרשתות הפנימיות (שהגדרת בשרת ה VPN), כך שהוא יודע להפריד בין תעבורה המיועדת לרשת, לבין התעבורה המיועדת לרשת הפנימית של החברה (יש מי שקורא לזה "split tunnel"). ישנם גם מקרים שבהם כל תעבורת הלקוח מוכרחת לעבור דרך שרת ה VPN, כולל תעבורה לאתרי אינטרנט חיצוניים (בד"כ כדי לפקח / לחסום חיבור במקביל לרשת החברה ולרשת האינטרנט. אני חושב שזה אדיוטי, ומוכן להוכיח לכל "מומחה אבטחה" שחושב אחרת ומממש חיבור VPN מעצבן שכזה, שהוא מדבר שטויות...)
כאמור ששרת ה VPN וה DGW שמחובר לאינטרנט הם אותה יישות, הכל פשוט וקל.
היכן הדברים מסתבכים? כאשר מדובר בשני התקני רשת שונים.
כשיש שני התקני רשת שונים, ישנן שתי דרכים לחבר זאת:
האחת, שרת ה VPN, בדיוק כמו ה DGW, מחובר עם שני כרטיסי רשת, אחד ב WAN ואחד ב LAN. השיטה שבה הוא עובד זהה לחלוטין, אך הבעייה היא שהפאקטים החוזרים מה LAN לא יגיעו אליו - הם יגיעו ל DGW. אם לפני ה DGW יש Layer 3 switch שמחלק את הרשת הפנימית, זו לא בעייה, אפשר להגדיר route ספציפי לטווח שהוקצה ללקוחות ה VPN, לכיוון ה IP של ממשק ה LAN של מכונת ה VPN. אבל אם זו רשת שטוחה, כלומר שהתחנות מגיעות אל ה DGW שמחובר לאינטרנט ב layer 2 ישיר - לא ניתן לעשות את זה, ואז יש שתי אפשרויות: או להגדיר את ה route הזה על ה DGW, לכיוון הממשק הפנימי שלו (בהנחה שהוא בכלל תומך בזה...) - או להגדיר את ה route בכל אחד ואחד מהמחשבים ברשת, לכיוון טווח הרשת של לקוחות ה VPN, דרך ה LAN IP של מכונת ה VPN.
אגב, מכונת ה VPN לא באמת צריכה שני כרטיסי רשת אם היא בתוך ה LAN, משום שאפשר לעשות port forwarding ב DGW לכיוונה, כמו כל שרת אחר. יש מי שמתבלבל וחושב שצריך דברים כמו VPN Passthrough, כי הוא לא יודע ש OpenVPN לא משתמש בפרוטוקולים מעצבנים כמו PPTP, GRE ו IPSEC - אלא עובד על סוקט בודד, על פורט בודד, TCP או UDP (האחרון עדיף בכמעט כל מצב).
עד כאן לעניין הניתובים.
מוד עבודה שונה של OpenVPN, נקרא Bridged (המוד שתארתי למעלה, נקרא Tunnel) - שבו בעצם שרת ה OpenVPN ולקוח ה OpenVPN הופכים לסוג של מתגים (switch) וירטואליים, כאילו שחיברת כרטיס רשת מהמחשב שלך בבית, לתוך הרשת של החברה - וכמובן שכל המידע שבפנים עובר ע"ג האינטרנט בצורה מוצפנת. לשיטה זו יש יתרונות וחסרונות. היתרון - ממש כאילו התחברת לרשת של העבודה, פיזית. זה אומר שאתה גם מקבל DHCP מתוך ה LAN, משתתף ב broadcast-ים (למשל יכול לזהות מדפסות ומחשבים אחרים ברשת באמצעות שידור). החסרון הוא אותו הדבר בדיוק - אתה מקבל זבל שאתה לא בהכרח צריך, וגם יש את הסיפור של להגיע לרשתות אחרות (תצטרך להגדיר ניתובים בצד הקליינט). חסרון נוסף הוא, שבשביל שזה יעבוד, צריך בצד השרת לבצע bridging בין כרטיס הרשת של שרת ה VPN לבין לקוחות ה VPN... מה שעשוי להיות מסובך לך (או שלא?)
אני ממליץ על שיטת ה tunnel.
וכאן בערך נגמרו לי האצבעות...
|
|