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

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

הפרידו את הזרימה שעובדת מהזרימה שנכשלת

התייחסו לכל שירות כאל זרימה משלו ולא כאל סימפטום של ה־VPN. לקוח להמחשה יכול לפתוח את portal.corp.example בכתובת 172.20.4.15:443 ועדיין לא להגיע למסד נתונים בכתובת 172.20.9.40:5432, מפני שאלה שני יעדים עם שתי קבוצות חוקים. רשמו את שתי השורות לפני שמשנים משהו, כולל הפורט והפרוטוקול, מפני שחוק שמתיר TCP 443 במארח אחד לא אומר דבר על TCP 5432 באותו מארח.

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

השוו כתובות לפני שאתם משווים שמות

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

ip route get 172.20.4.15
ip route get 172.20.9.40
ip -6 route get 2001:db8:60::20

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

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

הפרוטוקול ושלב התגובה אומרים היכן זה נעצר

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

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

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

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

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

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

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

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