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

שני שירותים מאחורי תיבת סימון אחת

צד ה-DHCP הווירטואלי עונה על שאלת תצורה: אילו הגדרות מקבל הלקוח הזה בתוך הרכזת הווירטואלית הזו. צד ה-NAT הווירטואלי עונה על שאלת העברה: כאשר לקוח שולח מנה לכתובת מחוץ לרכזת, האם השרת מתרגם ומעביר אותה. הראשון מקומי לרכזת ואינו זקוק לרשת במעלה הזרם. השני תלוי כולו במארח.

ממשק המארח הווירטואלי שייך להחלטה הראשונה, לא לשנייה. הכתובת שלו, לעיתים קרובות משהו כמו 192.168.30.1 כברירת מחדל, היא השער ששירות ה-DHCP מציע. היא אינה כתובת ההאזנה הציבורית של השרת, וערבוב בין השתיים מייצר כללי חומת אש והגדרות לקוח שמכוונים למכונה שאינה קיימת באותה רשת.

החלטה 1: מי מספק את הכתובת

אם ה-DHCP הווירטואלי מופעל, הלקוחות אמורים לקבל חכירה במאגר שהגדרתם, עם ממשק המארח הווירטואלי כשער ועם הפותר שסיפקתם. בדקו את החכירה ולא את טקסט המצב של הלקוח, מפני ש«מחובר» מתאר את המנהרה ולא את הקצאת הכתובת:

vpncmd localhost /SERVER /CMD SecureNatStatusGet
vpncmd localhost /SERVER /CMD DhcpGet
ip -4 addr show
ip route

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

גם מאגרים חופפים שייכים לכאן. אם מאגר ה-DHCP הווירטואלי חופף לתת-הרשת של ה-LAN במארח או למאגר של רכזת אחרת, הלקוח מקבל כתובת שמנתבת באופן דו-משמעי, וכל בדיקה מאוחרת אינה חד-משמעית.

החלטה 2: מי מעביר מעבר לשער הווירטואלי

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

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

vpncmd localhost /SERVER /CMD NatGet
vpncmd localhost /SERVER /CMD NatTable
dig +short example.com
ip route get 203.0.113.10

אם פתרון השמות עובד אבל חיבורים לכתובת ציבורית נכשלים, אתם בשרשרת ההעברה ולא ב-DHCP. אם שניהם נכשלים, בדקו קודם את הפותר, מפני שפותר שנדחף ככתובת פנימית בלתי נגישה יגרום לנתיב עובד להיראות שבור לגמרי.

את ההעברה של SecureNAT מיישם תהליך השרת, ולא נתיב ההעברה של הליבה שהייתם משתמשים בו עם גשר. זה נוח ואיטי יותר מגישור, וזה גם אומר שכללי חומת האש והחלטות הניתוב של המארח עדיין חלים על התעבורה המתורגמת. ה-NAT הווירטואלי אינו עוקף את המדיניות של המארח; הוא משתמש בה.

הנתיב של המארח עצמו הוא דבר שלישי

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

SecureNAT גם אינו הרשאה להגיע לכל רשת המחוברת לשרת. הוא מתרגם ומעביר תעבורה שמגיעה אליו; ההחלטה מה המארח רשאי להגיע אליו נשארת עבודה של חומת האש והניתוב של המארח, ותכן שנשען על המנהרה כדי להעניק גישה נמצא כלל רע אחד מלהעניק יותר מדי.

משפחות כתובות ראויות לבדיקה משלהן. דוגמת DHCP עובדת ב-IPv4 אינה מוכיחה שכל יכולת IPv6 קיימת בבנייה שלכם, ולכן קראו את המדריך לגרסה שאתם מריצים בפועל לפני שתבטיחו התנהגות של מחסנית כפולה. פרק SecureNAT במדריך מכסה את פונקציות ה-NAT וה-DHCP הווירטואליות עבור המהדורה הנוכחית.

בדקו כל החלטה בבדיקה משלה

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

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

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

מאמרים קשורים