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

מה המסנן באמת משווה

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

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

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

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

pull-filter ignore "route"
pull-filter ignore "route "

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

סדר ופעולה מייצרים תסמינים שונים

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

ActionEffect on the sessionHow it gets reported
IgnoreOption dropped, session continuesSomething is missing afterwards
RejectError raised, connection restartsThe VPN keeps dropping

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

בדקו מה המארח התקין

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

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

אל תתייחסו לזה כאל גבול אמון

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

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

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