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

חיבור אחד מספיק כדי להתחיל. שלושה עמודים של טופולוגיה מסתירים בדרך כלל את אותה תשובה חסרה.

תארו בקשה אחת, לא תרשים

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

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

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

עקבו אחרי התשובה לפני הבקשה

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

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

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

תנו לכל החלטה בעלים

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

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

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

תארו מה נשבר ואיך אתם מתאוששים

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

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

ציינו בדיקה לא מזיקה לכל שלב

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

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

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