שלום רב לכולם.

נתקלתי בהרבה מקרים בהם מתקשר לקוח עם בעיית איטיות, לאחר בדיקה של ניתוק ה-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

 

home