מה צריך מדריך VPN קטן לענות במהירות
רשמו את המפה, את התוצאות הצפויות ואת דרך החזרה, כדי שאחראי שמעולם לא ראה את המנהרה יוכל לומר אם היא בריאה.
האחראי שקיבל את המשמרת ב-02:00 לא הצליח לומר אם השירות בריא, כי המסמך הסביר את התכנון ולא אמר מעולם מה להריץ. להעביר את הקובץ למישהו אחר ואז לצאת מהחדר הוא המבחן היחיד שמשנה. רוב ההערות הקטנות על VPN נכשלות בו כבר בעמוד השני. הצורה שלהלן עוברת את המבחן הזה, ושום דבר בה לא צריך להיות ארוך.
התחילו במפה שאדם עייף יכול לסרוק
רשמו את מה שמישהו צריך לחפש בחיפזון: השמות שאליהם לקוחות מתחברים, הפורטים שהדמון מאזין עליהם, מאגרי הכתובות שהוא מחלק, איך שמות לקוחות נפתרים ואילו רשתות מאחורי המנהרה אמורות להיות נגישות. הוסיפו את מספר הבנייה שאתם מריצים בפועל, ותנו שם לרכיב שבעליו כל חלק נע, כי מסלולים, מסנן חבילות ופרופילי לקוח מוגדרים לעיתים קרובות בשלושה מקומות שונים. רשמו גם את התלויות החיצוניות: חשבון האחסון, הקישור העליון, ספק הזהות והרשתות הפרטיות בקצה המרוחק. טבלה או תרשים שצויר ביד נושאים את זה טוב יותר מפסקאות, כי הקורא סורק ולא קורא.
אחר כך תנו שם לאנשים שיכולים לאשר שינוי חירום, עם נתיב קשר שאינו תלוי בכך שהמנהרה פועלת. קו הסלמה בלי חלופה הוא מבוי סתום בדיוק בתקרית שזקוקה לו. שני שמות ומספר טלפון אחד מספיקים; המפה אינה ספר עובדים.
כל בדיקה צריכה את התשובה שנחשבת בריאה
לכל שירות, הניחו את הפקודה ואת השורה שפירושה שהוא עבד זה לצד זה, כדי שהקורא לעולם לא יצטרך לגזור אחת מהשנייה בחיפזון. מצב התהליך ונגישות מקצה לקצה נמצאים בשכבות שונות: האחד מראה שהדמון קיבל את התצורה שלו, השני מראה שלקוח יכול להשתמש במה שהמנהרה מציעה. כתבו את שתי השורות ואמרו איזו תקלה כל אחת תופסת, כי בדיקה בלי תוצאה מוצהרת הופכת לוויכוח אם הפלט נראה בסדר.
systemctl status openvpn-server@lab
ss -lntu | grep 1194
הריצו את שתיהן, והתייחסו אליהן כראיות נפרדות ולא כרצף. יחידה ירוקה יכולה לעמוד ליד מנהרה שאיש אינו יכול להשתמש בה, וההפך קורה כשמאזין שורד מסלול שבור. ציינו את השכבה שכל שורה צופה בה, והקורא ידע למי להאמין כשהן חולקות.
שלוש תקלות מכסות את רוב הלילות
נקודת קצה בלתי נגישה, זהות שנדחתה, וכן חיבור בלי תעבורה שימושית מסבירים כמעט כל מה שמעיר מישהו. לכל אחת, פרטו את שתי הבדיקות הראשונות ואת האדם שאליו מסלימים, כדי שלא ייאלץ איש להמציא סדר אבחון ב-02:00. חוסר נגישות מצביע בדרך כלל על הנתיב או על המאזין, זהות שנדחתה על תעודה, מאגר אישורים או שעון, וחיבור ריק על מסלולים, העברה או פתרון שמות. שלושת הענפים האלה קוראים יומנים שונים, ולכן יש לבחור בענף לפני שפותחים את היומן.
קשרו לתיעוד שמעלה במקום להדביק פקודות שלא הרצתם במארח הזה. פקודה שלא נבדקה שהועתקה מסביבה אחרת גרועה ממצביע, כי היא נראית סמכותית ונכשלת בשקט.
כתבו את השינוי כרצף, לא כפסקה
לכל שינוי, רשמו את נקודת הבדיקה שאליה אפשר לחזור, את הבדיקה שמאשרת הצלחה ואת התנאי שמפעיל חזרה לאחור, בסדר הזה. כללו דרך חזרה שאינה עוברת במנהרה, כי דווקא השינוי שאתם עושים הוא מה שיכול לסגור אותה. רשמו איך היו משוחזרים הביטולים הנוכחיים ולא תמונת מצב ישנה, כי רשימה מיושנת מקבלת מחדש בשקט אישורים שהוצאו לגמלאות באותו בוקר. צעדים ציוויים ממוספרים שורדים לחץ; פרוזה הופכת לפרשנות.
תרגלו את דרך החזרה הזו לפני שתזדקקו לה, בכל פעם שהשינוי גדול מספיק כדי לחשוב. חזרה לאחור שנכתבה מהזיכרון היא ניחוש עם תאריך.
אישורים גרים במקום אחר
הפנו למנהל הסיסמאות, לכספת או למעטפה החתומה, ואמרו מי רשאי לפתוח אותה, במקום לצטט חומר כלשהו בקובץ. מפתחות פרטיים, קודי שחזור חד-פעמיים ופרופילים שמטמיעים סוד שייכים לאחסון מוגן, והעמוד צריך להסביר איך אחראי מורשה מגיע אליהם ב-02:00. אל תשתמשו בסוד חי כדוגמה, כי דוגמאות מודבקות לכרטיסים ולשרשורי צ'אט. מצביע ועוד רשימת הרשאות זה כל מה שהמסמך צריך.
עברו על הקובץ אחרי שינוי אמיתי או תרגיל שחזור, מחקו נתיבים שכבר אינם קיימים, וציינו של מי ההחלטה הבאה של תחזוקה. נהלו בסוף יומן שינויים בשלושה טורים: תאריך, מה השתנה, מי אימת. העמוד הזה הוא מה שאומר לקורא הבא אם השאר עדכני, והתיעוד של systemctl ב-systemd הוא קישור טוב יותר מאשר פרפרזה של פקודות שירות שיידרדרו.