28 במרץ 2010

NAT



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

אז ככה..
מה זה NAT?
בתרגום פשוט - Network Address Translation - תרגום כתובות רשת.
בתחילת דרכו של האינטרנט בוצעה חלוקת כתובות IP ע"י ארגון שנקרא IANA ראשי תיבות (Internet Assigned Numbers Authority), חלוקת הכתובות התבצעה ללא הבחנה ולכל דורש.
לקראת שנות ה-90 עם התפתחות הטכנולוגיה, הבינו בארגון IANA שכתובות ה-IP הולכות ואוזלות וצריך למצוא פתרון אשר יאפשר את המשך השימוש באינטרנט (היום כבר קיים IPv6).

ישבו וחשבו כיצד פותרים את הבעיה המתקרבת והגיעו למסקנה שיש צורך לצמצם את מספר הכתובות הקיימות לכל חברה ולהגדיר כתובת אחת (או Pool) שדרכה יצאו לאינטרנט ובכך יחסכו את הקצאת כתובות ה-IP לכל מחשב\ציוד קצה.
אז מה שהגדירו היה מאוד פשוט - כל חברה\ארגון תקבל כתובת אחת או יותר  ($$$) ובכך תתאפשר היציאה לאינטרנט,

אבל איך עושים את זה?

כפי שציינתי במאמר IP Subnneting בוצע חלוקת ל-Classes אשר הגדירו מהן כתובות פנים ארגוניות (פרטיות) ומהן כתובות חיצוניות (ציבוריות).

תזכורת קצרה לסוגי ה- Classes השונים :

Class A: 0-127.0.0.0

Class B: 128.0.0.0-191.0.0.0

Class C: 192.0.0.0-223.0.0.0

מהן כתובות פרטיות?

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

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

- הסוג השני שבו אנו נשתמש לעתים קרובות יותר הוא נקרא PAT - Port Address Translation
חשוב לציין שאנו משתמשים ב-PAT כאשר אנו מעוניינים להגדיר כתובת IP אשר תמפה שרת אשר מספק שירות מסויים לדוגמא :
שרת דואר, שרת WEB או כל שרת אחר יש צורך במיפוי ה-Port מהכתובת הציבורית אשר העולם פונה אליה אל הכתובת הפנימית אשר עליה ממוקם השירות המבוקש,

לדוגמא:
אם יש לי שרת דואר (Exchange) בארגון ואני מעוניין שתהיה גישה אליו משרתי דואר אחרים אני מבצע את המיפוי הסטטי בצורה הבאה :

212.235.111.15:25-----> 192.168.2.10:25

מה שהגדרתי פה בעצם זה שכל מי שפונה לכתובת IP 212.235.111.15 בפורט 25 בעצם ממופה לכתובת פנים ארגונית שהיא 192.168.2.10 בפורט 25.

במילים אחרות כל ההגדרה שביצעתי כאן נקרא PAT, שזה בתרגום פשוט מיפוי פורטים - Port Address Translation.

נמשיך..

הצורה הבאה שבה ניתן להשתמש ב-Nat היא כאשר יש לנו Pool של כתובות IP אשר רכשנו מבעוד מועד מספקית האינטרנט שלנו,
מה שאחנו יכולים להגדיר הוא בעצם במקום לצאת עם כתובת אחת ולהעמיס עליה - זאת ע"י הוספת מתג ה-Overload לסוף הפקודה, ניתן להגדיר Pool של כתובות אשר יאפשר לנו לבצע זה (כמובן שכאשר אני מדבר על Pool כתובות, אני מתכוון לציבוריות).

ואחרי התאוריה, נעבור לחלק המעניין :) ההגדרות בסיסקו שלנו:

אז איך אנחנו מגדירים NAT:

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

יש להכנס אל המתאם הרצוי, לדוגמא את Vlan1 המשמש לפנים הרשת נגדיר בפקודה הבאה:

R1(Config)# int vlan1

R1(Config)# ip nat inside

לאחר מכן נגדיר את המתאם החיצוני, במקרה שלנו חייגן PPPOE:

R1(Config)# int dialer 1

R1(Config)# ip nat outside

בכך הגדרנו אילו מתאמים יבצעו NAT החוצה ואילו מתאמים יבצעו NAT פנימה.

לאחר מכן אנו צריכים להגדיר ACL-Access List (על ACL נרחיב בפוסטים הבאים) תפקידו של ה ACL בדרך כלל הוא לחסום או לאפשר גישה.
במקרה שלנו היום כאשר אנחנו מגדירים NAT אני קובעים בעצם למי אנחנו נבצע NAT ולמי לא.

אז נגדיר ACL בפקודה הבאה :

R1(Config)# Ip access list standard Nat_Addresses

R1(config-ext-nacl)#permit 172.30.30.0 0.0.0.255

R1(config-ext-nacl)#permit 10.10.10.0 0.0.0.255

כעת הגדרנו ACL אשר מאפשר ל-2 רשתות לגשת לאינטרנט ולהיות מתורגמות לכתובות חיצוניות.

מה שנותר לנו זה להגדיר את ההגדרות של ה-NAT עצמו וזאת בצורה הבאה:

R1(config)# ip nat inside source list Nat_Addresses interface Dialer1  overload

ועכשיו בתרגום לעברית , מה אומרת לנו הפקודה משמאל לימין -
ip nat - הגדר NAT
inside - מבפנים החוצה
list - בהתאם ל ACL שהגדרנו מראש שנקרא Nat_Addresses
Dialer1 - דרך החייגן\החיבור לספקית האינטרנט.
overload- תאפשר למספר כתובות לצאת על גבי כתובת אחת.

עכשיו אני אדגים כיצד לבצע NAT כאשר רכשנו מספר כתובות IP חיצוניות (Pool).

תחילה נגדיר את ה-Pool של הכתובות שרכשנו.

R1(config)#ip nat pool Nat_Pool 10.41.10.1 10.41.10.41 netmask 255.255.255.0


כעת נגדיר ACL לכתובות פנימיות שיתורגמו לכתובות שיצרנו בהגדרת ה-NAT למעלה.

R1(config)#access-list 100 permit ip 10.3.2.0 0.0.0.255 any
 
כעת מה שנותר הוא להחיל את ההגדרות בפקודה הבאה:
 
Router(config)#ip nat inside source list 100 pool Nat_Pool interface Dialer1 overload

ולסיכום אני רוצה להדגים פקודות One To One Nat כלומר מיפוי של כתובת Ip חיצונית לפנימית ולהיפך:

R1(config)#ip nat inside source static 10.3.2.11 10.41.10.12

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

R1(Config)#ip nat inside source static tcp 212.235.111.15 80 172.16.10.8 80

מה שהגדרתי בפקודה זו בעצם ממפה לנו את פורט 80 מכתובת חיצונית 212.235.111.15 לכתובת פנימית 172.16.10.8 לפורט 80, שזה שרת ה-Web הפנימי.

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

כמו בכל פוסט, אם יש לכם שאלות אתם מוזמנים לפנות אליי במייל.

מקווה שהחכמתם.

חג שמח
אבי


14 במרץ 2010

מסמכי CCNP-Route 642-902

שלום לכולם,
לאחרונה כתבתי מספר מסמכים באנגלית שמתאימים לרמת CCNP.
המסמכים מתייחסים לפרוטוקולי ניתוב דינמיים כגון, OSPF,BGP,IS-IS,EIGRP וניתוב מתקדם.
המסמכים מכילים חומרים טכניים בנוגע נושאים שציינתי לעיל, הם ברמה קצת יותר מתקדמת מאשר הפוסטים בעברית ולכן אני מעלה את הקישורים להורדה ומי שמעוניין יוכל להנות מהחומר...
תפיצו לכמה שיותר חברים.. :)


אז ככה...
- הלינק הראשון הוא מסמך המתייחס לכל הפקודות וההגדרות והתפיסה הכללית של פרוטוקול הניתוב הדינמי Ospf.
להודדת המסמך לחץ כאן.

- המסמך השני מתייחס במאמר מפורט על כל ההגדרות והבנת פרוטוקול הניתוב Eigrp.
להורדת המסמך לחץ כאן.

- המסמך השלישי אינו מתייחס לפרוטוקול ניתוב דינמי אלא להגדרות ניתוב באופן כללי, שוב.. ברמת CCNP.
להורדת המסמך לחץ כאן.

- מסמך זה מתייחס לפרוטוקול הניתוב מסוג IS-IS, שהוא פרוטוקול מסוג Link State,
להורדת המסמך לחץ כאן.
- המסמך האחרון שכתבתי בנושא BSCI, שהוא הפרק הראשון בסדרת ה-CCNP מתייחס לפרוטוקול הניתוב האחרון והוא
  כמובן BGP.

להורדת המסמך לחץ כאן.

בכל שאלה שצצה אל תהססו לשלוח אליי מייל לכאן


תהנו :)

8 במרץ 2010

Cisco's World


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

למה Cisco הפכה להיות שם דבר בעולם התקשורת? מה הופך את Cisco להיות הכי טובה ולשלוט בשוק?
לצורך ההבהרה, אני לא איש מכירות ואני גם לא עובד בסיסקו (למרות שזו אופציה נחמדה :-) )
מטרתו של פוסט זה היא להכיר את התכונות הבסיסיות של ה-IOS (מערכת ההפעלה של סיסקו), פקודות בסיסיות ומצבים בנתב\מתג.
אז נתחיל..
מה הופך את הנתבים של סיסקו לטובים ולמוכרים ביותר?
זאת כמובן ה-IOS, אחת הסיבות העיקריות אשר הביאו את סיסקו להיות מובילה בתחומה היא מערכת ההפעלה שלה.
כל מי שמכיר (CLI - (Coצבע טקסטmmand Line Interface יודע שהאפשרויות לניהול והגמישות בפקודות גדולה יותר מאשר ניהול ממשקים ב-(GUI - (Graphic User Interface
מערכת ההפעלה שלה איפשרה ניהול קל ופשוט ואפשרויות גדולות יותר בביצועים.
מעבר לכך ישנו את הפן החומרתי שגם בו אנחנו צריכים להתחשב, כל רכיב חייב מעבד כדי לבצע את כל החישובים כמובן, זכרון, ולוח – כל אלו יצרו שם לסיסקו שאין שני לו.
קצת על רכיבי החומרה שנמצאים בתוך הנתב:

Rom: רכיב זה מאכסן בתוכו את תוכנת ה-POST Power On Self Test(בדיוק כמו במחשבים).
Ram: זהו זכרון נדיף (נמחק בעת כיבוי הנתב) אשר טוען לתוכו את ה-IOS ואת קובץ הקונפיגורציה, כמו כן הוא מאכסן בתוכו את טבלאות ה-ARP ואת טבלאות הניתוב (על ניתובים נדבר בפוסט הבא) הוא שומר בתוכו את קבצי ה-Running Config.
Nvram: זהו זכרון שאינו נדיף (אינו נמחק בעת כיבוי הנתב) הוא משמר לאחסון קבצי הקונפיגורציה לאחר שמירתם, שומר בתוכו את ה-Startup Config.
Flash: זהו זכרון הבזק אשר מאכסן בתוכו את ה-IOS בצורה מכווצת, בעת עליית הנתב וטעינת התוכן אל תוך ה-RAM הוא מבצע Decompress.
Buses: אלו הם אפיקי העברת המידע בין המעבד אל הרכיבים השונים בלוח כגון Ram, Nvram וכו'...

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

- כבל קונסול.
- דיסק הוראות \ תוכנה לניהול בממשק גרפי (SDM\(ASDM.
- כבל רשת.

אחרי שפתחנו את האריזה..ונהנינו.. מה עכשיו?
לנתב\מתג קיימים מספר חיבורים אשר באמצעותם ניתן להתחבר ולנהל את המוצר, בהנחה שהמוצר חדש מהאריזה אנחנו נאלץ לבצע שימוש ראשוני רק דרך כבל ה-Console שהוא גם נקרא (Rollover Cable) וזאת מכיוון שלמוצר שלנו אין עדיין כתובת IP ואנחנו לא יכולים לנהל אותו דרך הרשת אז אנחנו משתמשים בכבל קונסול.

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

- כבל רשת רגיל מסוג RJ45 שנקרא גם Straight,משמש לחיבור ציוד קצה כגון מחשבים ומתג.
- כבל רשת מוצלב גם הוא מסוג RJ45 שנקרא גם Crossover לחיבור ציוד מאותו תוצרת, משמע ראוטר לראוטר, מחשב ולמחשב וכו'..
במקרה שלנו ,כפי שציינתי, אין לנו כתובת IP לכן אנו נחבר את הכבל אל הכניסה הכחולה מאחורי הנתב ובקצהו השני לחבר את הכבל לחיבור סיריאלי (Com) למחשב, מכאן נותר לנו לפתוח תוכנה אשר באמצעותה נוכל להתחבר למוצר ולנהל אותו. בתוך ה-Windows קיים כלי מובנה אשר נקרא Hyper Terminal למי שלא מכיר ולא השתמש אף פעם הוא נמצא בתוך:


Start—Programs—accessories—Communications—Hyper Terminal .

על מנת שהחיבור יעבוד בצורה תקינה ב- Hyper Terminal אנו צריכים לוודא שההגדרות עומדות על:

Flow Control 9600,8,No parity ,1 stop, no

קיימות בשוק תוכנות קצת יותר נוחות לעבודה כגון:

Putty
TeraTerm


כעת, מה שנותר לנו זה להדליק את הנתב ולצפות בתהליך העליה שלו, כפי שציינו מוקדם יותר המערכת מבצעת Decompression ל-IOS אשר ממקומם בתוך ה-Flash אל רכיב ה-Ram.
לאחר שמערכת ההפעלה עלתה מופיעה לנו הודעה אשר אומרת אם אנחנו מעוניינים להשתמש ב-Wizard על מנת לבצע הגדרה ראשונית למוצר (נתב\מתג). מנהלי רשתות ואנשי GUI בדרך כל יעדיפו את הדרך הזו, במיוחד על מי שאינו בקיא בנושא ה-CLI בסיסקו כיוון שתהליך זה מלווה אותנו במהלך ההגדרה הראשונית של הממשקים השונים, שם לנתב וסיסמאות.
אני באופן אישי וממליץ לכולכם ללחוץ NO על האשף ולהתקדם ובצע קונפיגורציה ידנית- גם כי זה עוזר ללימוד העצמי וגם כדי לתרגל ולהתרגל לשימוש בפקודות.
אז, לאחר שהנתב\מתג עלה מה שנותר לנו להבין איפה אנחנו נמצאים מבחינת רמות הרשאה וביצוע פעולות.
נתבי (וכשאני אומר נתבי אני מתכוון גם למתגים) מחולקים לכמה רמות של פקודות משמע, לא ניתן לבצע פקודות מסויימות מבלי להיות שם תחת אותו שורת Prompt.
עכשיו אני אסביר.. הרמות מתחלקות לכמה מצבים והם מוצגים לנו במספר סימנים אשר באמצעות ניתן לזהות היכן אנחנו נמצאים, עם הזמן והתרגול אתם תזכרו מה אומר כל סימן ואילו פעולות ניתן לבצע,

בואו נעבור על כמה מהמצבים הבסיסיים, כאשר אנו רואים את הסימנים הבאים:

R1 - מצב זה נקרא User Mode והוא מאפשר לנו ביצוע בדיקות תקשורת בסיסיות כגון: Ping,Traceroute וכו..
על מנת להגיע למצב זה אנחנו לא נדרשים בהקשת סיסמה כיוון שמצב זה מוגבל.







R1#- על מנת להגיע למצב זה אנו צריכים להקיש פקודת Enable או בקיצור En , למצב זה קוראים Exec Mode וכדי להגיע למצב זה אנו נדרשים להקיש סיסמה (אם הגדרנו), מצב זה הוא בעל הרשאות לצפיה בהגדרות הנתב.

#(R1 (config - מצב זה הוא מצב אשר אליו אנחנו נכנסים על-ידי הקשת פקודת Configure Terminal או
בקיצור conf t, מצב זה מאפשר לנו ניהול גלובלי של הנתב, ביצוע פעולות גורפות אשר משפיעות על הנתב כולו.
כלה בהגדרת DHCP, CDP, פרוטוקולי ניתוב סטטיים ודינמיים – בעצם כל ההגדרות החשובות נעשות מהמצב הגלובלי.

קיימים עוד מספר מצבים אשר נעבור עליהם בקצרה:
#(R1(config-line - מצב זה מאפשר לנו להגדיר את ממשק הקונסול וה-VTY.

#(R1(config-if- במצב זה אנחנו נמצאים תחת ממשק מסויים כגון Ethernet .

#(R1(config-subif- במצב זה אנחנו מגדירים תתי ממשקים וירטואלים על ממשק פיזי אחד.

כעת אני רוצה להסביר קצת על נושא ההשלמה האוטומטית של פקודות בממשק הנתב, ראשית נאמר שכל פקודה ניתן להשלים בצורה אוטומטית על-ידי הקשה על מקש TAB לדוגמא:
Conf t

הפקודה המלאה היא Configure Termial - וזאת על מנת להכנס להגדרות גלובליות על הנתב.
עכשיו מדוע אנחנו רושמים Conf t ולא את הפקודה המלאה?
זאת מכיוון שכתבנו מספיק אותיות אשר מייחדות את הפקודה, משמע אין עוד פקודה שמתחילה ב conf,
לאחר מכן שרשמנו את האות t ויכולנו להמשיך מבלי לרשום את המילה Terminal כיוון שאין עוד אופציה שמתחילה באות t.
לכן יכולנו להמשיך מבלי לרשום את הפקודה המלאה,

שימו לב שבמידה ואנחנו מעוניינים לצפות ברשימת הפקודות תחת הפקודה conf (או כל פקודה אחרת) ניתן פשוט לרשום סימן שאלה וכל האופציות יפתחו לנו מתחת אשר קשורות לאות או לפקודה שרשמנו.
בואו נראה דוגמא לביצוע סימן שאלה תחת הפקודה show שנמצאת ב-Privilege Mode כפי שציינו קודם לכן (פקודות show ניתן לבצע רק ממקום זה).



? R1#show
aaa Show AAA values
access-expression List access expression
access-lists List access lists
accounting Accounting data for active sessions
adjacency Adjacent nodes
aliases Display alias commands
alignment Show alignment information
appfw Application Firewall information
archive Archive of the running configuration information
arp ARP table
ase Display ASE specific information
async Information on terminal lines used as router interfaces
auto Show Automation Template
backup Backup status
beep Show BEEP information
bfd BFD protocol info
bridge Bridge Forwarding/Filtering Database [verbose]
buffers Buffer pool statistics
call Show call
caller Display information about dialup connections
cca CCA information
cdapi CDAPI information
--More--

טיפ!

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

אז מה אנחנו רואים אחרי שרשמתי את פקודת ? show

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

על מנת לחזור אחורה שלב אחד, לדוגמא אנחנו נמצאים ב- (R1(config ואנחנו מעוניינים לחזור שלב אחד אחורה ל-R1# אנו יכולים לכתוב את הפקודה exit, או לחילופין אנו יכולים ללחוץ Ctrl Z.

עוד על רשימת התגובות מה-IOS של סיסקו, כאשר אנו מקבלים את הפלטים הבאים-מה זה אומר?

- Unrecognized Command-במידה והקלדנו פקודה שאינה קיימת.

- Incomplete Command- במידה והקלדנו פקודה חלקית ולא סיימנו להקליד.

- Invalid Input- פקודה שקיימת בה שגיאת כתיב.

- Ambiguous Command -כאשר אנו מקלידים פקודה ולא הקלדנו מספיק אותיות ויכולות להיות מספר משמעויות.

- כאשר אנחנו רואים את הסימן $ בסוף משפט - אומר שיש המשך למשפט וצריך ללחוץ Ctrl E ע"מ להגיע לסוף המשפט כמו כן ניתן להקליד Ctrl A על-מנת לחזור לתחילת הפקודה.

כעת נעבור עלהגדרות גישה ראשוניות לציוד סיסקו:

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

תחילה נגדיר את ה-Vlan הראשון שלנו, שהוא בעצם ה-Native Vlan, מה שאומר שכברירת מחדל כל הפורטים מקושרים ל-Vlan הזה ולכן הוא גם יהיה המקור אליו אנו מתחברים בחיבור Telnet/Ssh.


מה זה Vlan אתם שואלים?
אז ככה בקצרה...

Vlan בתרגום הוא Virtual Lan מה שאומר שזו רשת LAN וירטואלית, משמע אנחנו לא משתמשים בממשק פיזי ומקצים לו כתובות IP וכו'.. זהו בעצם ממשק וירטואלי אשר משמש להפרדת רשתות ללא שימוש בממשקים פיזיים כגון: Fast Ethernet, Ethernet,Fiber וכו'..

את ההגדרה עבור ה-Vlan נבצע בצורה הבאה:

1. נכנס לממשק ה-Vlan בפקודה: R1(config)#interface vlan 1

2.לאחר מכן ניגש להגדיר את כתובת ה-IP בה אנו מעוניינים להשתמש בפקודה:

255.255.255.0 R1(config-if)#ip addrees 172.16.2.1

3. בשלב זה נפעיל את הממשק (במידה והוא כבוי) על-ידי פקודת :

R1(config-if)#no shut

שימו לב!
על מנת לבטל פעולה כלשהי בסיסקו אנחנו צריכים להקליד את המילה no לפני הפקודה, הניגוד של הפקודה בעצם מבטל אותה.
אז בדוגמה שהייתה לנו כאן הגדרתי ל-Vlan לעבור ממצב Shutdown למצב No Shutdown - שזה דלוק.


לאחר מכן, נגדיר את ממשקי ה-VTY נבצע בשלבים הבאים:

1. בשלב ראשון נכנס לממשק ה-VTY בצורה הבאה R1(config)#line vty 0 4

2.בשלב שני נגדיר שבכל גישה לממשק ב-VTY נתבקש לבצע לוגין בפקודה הבאה: R1(config)#login
3.בשלב שלישי נגדיר סיסמה על מנת שבכל לוגין נתבקש להגדיר סיסמה בפקודה R1(config)#password 123456

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





אבי