שלום רב
לכולם.
נתקלתי בהרבה
מקרים בהם מתקשר לקוח עם בעיית איטיות, לאחר בדיקה של ניתוק ה-LAN רואים שהעומס
יורד מהנתב והכל זורם. ואז נשאלת השאלה
–"מאיפה מגיע
העומס?". הכל טוב אם מדובר ב-NAT שמוגדר בנתב –
ואז פשוט מקישים:
sh ip nat
t
ורואים מאיזה
עמדה מגיע מה לאן וההיפך.
מה קורה כאשר
ללקוח אין NAT מוגדר בנתב??
נתקלתי בשאלה זו מספר רב של פעמים ולא קיבלתי תשובה העונה על השאלה. לאחר כמה
מחקרים סוף סוף מצאתי פתרון לבעיה, אולי חלקינו מכיר את זה כבר אבל אני מקווה
שאתרום לעבודה היומיומית שלנו לאלה שלא.
Cisco
NETFLOW
http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/cs/csprtx/csswcmd.htm
http://www.cisco.com/univercd/cc/td/doc/product/software/ios124/124tcg/tnf_c/ch15/nfhtdt.pdf
זהו מנגנון בעל
יכולת של נתבי CISCO לאגור
CACHE של התעבורה
ב-BUFFER של הנתב,
למיינו, להציגו בקונסול/TTY. המידע כולל:
src port,
dst port,
src addr,
dst addr, כמות תעבורה
ב-bytes או
ב-packets
וכל הייצוא נתון
לשינוי של המשתמש (לא רק ברמת conf t).
כיצד
ליישם???
כיצד
ניתן לראות את התעבורה הנוכחית בנתב (הכוללת כתובות source, dest ופורטים)?
קודם כל יש
להפעיל את ה-cache flow באינטרפייסים
שאותם רוצים לדגום:
conf
t
int
eth0
ip route-cache
flow
לאחר שהפעלנו על
כל האינטרפיסים הרצויים, ניתן להתחיל לעבוד:
sh ip cache
flow
בהתחלה מקבלים
סטאטיסטיקה מקוצרת ויפה של תעבורה לפי שמות של
פרוטוקולים:
Protocol
Total Flows Packets Bytes Packets
Active(Sec) Idle(Sec)
--------
Flows /Sec /Flow
/Pkt /Sec
/Flow /Flow
TCP-Telnet
138 0.0
163 100
3.6 46.6
15.4
TCP-FTP
5
0.0 4
73 0.0
5.5 10.0
TCP-WWW
1379
0.2 9
604 1.9
2.9 8.6
TCP-SMTP
26 0.0
59 740
0.2 3.5
1.5
לאחר מכן מקבלים
רשימה של כל הסשנים הפעילים כרגע בנתב:
SrcIf
SrcIPaddress
DstIf
DstIPaddress Pr SrcP DstP
Pkts
Et0
192.117.175.210 Di1
59.112.221.191 11 1A10 1240 2
Et0
192.117.175.210 Di1
80.38.52.69 11 1A10 1240 2
Vi2
81.192.138.85
Et0 192.117.175.210
06 107B 1DED 3
שימו
לב הפורטים כתובים ב-HEXADECIMAL ואותו כמובן
צריך להמיר (http://www.parkenet.com/apl/HexDecConverter.html).
כיצד
ניתן לקבל מידע מפורט אודות תעבורות החמות ביותר?
תחילה יש לקנפג
את הפילטר שנקרא top talkers
בגלובל:
conf
t
ip
flow-top-talkers
top
10
sort-by
bytes
cache-timeout
360000
הפילטר שאני
הגדרתי מציג את 10 הראשונים, ממיין לפי בתים (ניתן גם לפי פאקטות), ויש לו
timeout מסויים למידע
שהוא שומר (לא בטוח אם זה האופטימלי).
התוצאה נראית
כך:
sh ip flow
top-talkers
SrcIf
SrcIPaddress
DstIf
DstIPaddress Pr SrcP DstP Bytes
Vi2
221.204.62.152
Et0 192.117.175.210
06 FCDF 1DED 1819K
Et0
192.117.175.210 Di1
85.64.24.37 06 0B81 1D32
701K
Et0
192.117.175.210 Di1
212.182.104.10 06 1DED E678 105K
Et0
10.10.10.3
Local
10.0.0.1 01 0000
0303 66K
Et0
192.117.175.210 Di1
221.204.62.152 06 1DED FCDF
35K
Vi2
85.64.24.37
Et0 192.117.175.210
06 1D32 0B81 22K
Vi2
212.182.104.10
Et0 192.117.175.210
06 E678 1DED 12K
Et0
192.117.175.211 Di1
212.117.129.88 06 0017 BF9C 3900
Et0
10.10.10.2
Local
10.10.10.1 06 0C4E 0016 1940
Vi2
213.8.255.155
Et0 192.117.175.211
01 0000 0000 1680
כך למשל נוכל
להצביע מאיזה כתובת למשל מגיע הכי הרבה תעבורה ובאיזה
פורט.
מה שטוב
בNETFLOW שניתן להפעילו
ולבטלו בזמן טיפול הלקוח, ולא צריך לחקות עד שהנתונים יצתברו (כך למשל אפשר להיעזר
ב-2L להגדרות של
הconf t ולהחזיר הכל
חזרה בסוף הבדיקה).
את כל הבדיקות
ביצעתי על נתב CISCO 837, לא ראיתי
עליות בניצול זכרון או CPU לאחר הפעלת
ה-NETFLOW ולכן כנארה אין
חשש לנפילת הנתב כמו ב-DEBUG.
מקווה מאוד שהייתי ברור, בכל שאלה בנושא אפשר לפנות אלי וכמובן אשמח לעזור.
maddogx@gmail.com