NAT מקור מסתיר כתובות לקוח מחומת אש מאוחרת
כאשר שער NAT כותב מחדש את כתובות הלקוח, חומת אש במעלה הזרם אינה יכולה לאכוף כללי מקור לפי קבוצה. מצאו את הנקודה האחרונה שבה הזהות שורדת.
כלל שנכתב ללקוחות צוות ומעבדה מונח על חומת האש החדשה בקצה, והוא מתאים בשקט להכול או לשום דבר. הסיבה נמצאת במעלה הזרם: שער כבר כתב מחדש את כתובות הלקוח, ולכן הכלל רואה כתובת מעבר אחת במקום שתי קבוצות. הוספת התקן אינה משחזרת מידע שהנתיב הסיר. מצאו את הנקודה האחרונה שבה ההבחנה עדיין קיימת לפני שכותבים את המדיניות.
מדוע כלל הקצה רואה כתובת אחת
תרגום רבים לאחד ממפה כל זוג כתובת ופורט פנימי לכתובת חיצונית משותפת עם פורט מוקצה. השיחות נשארות מובחנות למתרגם דרך קישורי הפורט האלה, אך התקן במורד הזרם שמבצע התאמת קידומת מקור פשוטה רואה רק את הכתובת המשותפת. זה מספיק כדי ששתי קבוצות יהיו זהות בכלל. החבילות עדיין מגיעות; הקיבוץ לא.
בדקו מה ממשק חומת האש באמת צופה בו, ולא מה שהתרשים מבטיח. השניים נבדלים לעתים קרובות יותר ממה שמישהו מצפה.
מצאו את הזהות האחרונה שאפשר לאכוף
התחילו בנקודת האכיפה והלכו אחורה עד שקידומת המקור מופיעה. שתי פקודות מאתרות בדרך כלל את הגבול.
iptables -t nat -L POSTROUTING -n -v
conntrack -L -s 10.90.0.2 | headטבלת NAT מראה איזה תעבורה מתורגמת ועל ידי איזה כלל, בעוד רשימת conntrack מראה זוגות מקור ומתורגמים עבור זרימות פעילות. במקום שבו חומת האש במעלה הזרם רואה תמיד רק את הכתובת המתורגמת, כללי מקור לפי קבוצה אינם יכולים לעבוד שם, יהיו כתובים איך שיהיו. התקדמו או חזרו לאורך הנתיב עד שתגיעו להתקן שבו שתי קידומות הלקוח נשארות נבדלות. תעדו את המקור בכל דילוג במקום לסמוך על תווית פנימית או חיצונית.
שלושה מיקומים ומה עולה כל אחד
המדיניות יכולה לשבת על השער המתרגם, שם המקורות המקוריים עדיין גלויים. היא יכולה לשבת על חומת האש במעלה הזרם אם המעבר הופך לניתוב ולא לתרגום, כלומר הוספת נתיבי חזרה והסרת כתיבת המקור מחדש. או שאפשר לאכוף אותה על זהות ולא על כתובות, דרך בקרה מאומתת שמכירה את המשתמש או את ההתקן. לכל בחירה יש בעלים ואופן כשל, ורק השתיים הראשונות משאירות את הכלל עוסק רק בכתובות מקור.
מה שתבחרו, תעדו את הכלל יחד עם הכתובת שהוא מתאים לה. כלל שהנחת הכתובת שלו השתנתה בשקט גרוע מאין כלל, כי הוא ממשיך להתאים לתעבורה בעודו מגן על משהו אחר לגמרי.
קבלה: לקוח אחד מורשה ואחד נדחה
בדקו עם זוג לקוחות, אחד מכל קבוצה, ותעדו איך כל אחד מגיע לנקודת האכיפה. שמרו את שני הזוגות לצד תוצאת הכלל, כדי שהראיה תראה שההבחנה שרדה ולא שיש חומת אש נוספת. חזרו על הבדיקה לאחר שינוי NAT או ניתוב, כי הכתובת המוצגת היא החלק שנשבר בשקט. החזיקו אימות בכל מקום שבו צריך להבחין בין אנשים, שכן כתובת מקור היא קלט מדיניות, לא הוכחת זהות.
כתבו את נקודת האכיפה, המקור הנצפה והכלל בכרטיס. אחרת המהנדס הבא יוסיף חומת אש שנייה ואת אותו כלל.