NTP בעברית: המדריך המלא לסנכרון זמן ברשת — Stratum, תצורת Cisco, אימות ואבטחה

יש נושא אחד שאף אחד לא חושב עליו עד הרגע שבו הוא נשבר, ואז הוא מפיל חצי מהארגון: זמן. שעון לא מסונכרן פירושו לוגים שלא מסתדרים לכרונולוגיה, חקירת אירוע אבטחה שהופכת לניחוש, תעודות דיגיטליות שנחשבות פגות תוקף וכרטיסי Kerberos שנדחים. במדריך הזה נעבור על Network Time Protocol מהיסודות ועד לתצורה ולאבטחה בסביבת ייצור.
מה NTP עושה בפועל
NTP הוא פרוטוקול שכבת יישום שפועל מעל UDP בפורט 123, ותפקידו לסנכרן את שעוני כל ההתקנים ברשת מול מקור זמן אמין משותף. הפרוטוקול מודד את זמן ההלוך-חזור בין הלקוח לשרת, מחשב את ההיסט (Offset) ואת ההשהיה (Delay), ומכוון את השעון המקומי בהדרגה. חשוב להבין: NTP לא קופץ עם השעון קדימה ואחורה. הוא מאיץ או מאט את קצב השעון עד להתכנסות, כדי למנוע קפיצות זמן שעלולות לשבש בסיסי נתונים ולוגים.
ברשת מקומית NTP משיג דיוק של מילישניות בודדות, ומעל האינטרנט בדרך כלל עשרות מילישניות. כשנדרש דיוק ברמת המיקרו-שנייה, למשל במסחר אלגוריתמי או ברשתות תעשייתיות, עוברים ל-PTP לפי תקן 1588.
היררכיית Stratum — מי סומך על מי
NTP בנוי כהיררכיה של רמות אמינות. המספר מציין את המרחק ממקור הזמן המדויק: ככל שהוא נמוך יותר, המקור אמין יותר.
- ▸Stratum 0 — מקורות זמן פיזיים: שעון אטומי, מקלט GPS או שעון רדיו. הם אינם מחוברים לרשת ישירות.
- ▸Stratum 1 — שרת שמחובר פיזית למקור Stratum 0. זהו שרת הזמן הראשי.
- ▸Stratum 2 — שרת או נתב שמסתנכרן מול Stratum 1. זהו התפקיד הנפוץ של נתב הליבה בארגון.
- ▸Stratum 3 ומעלה — התקנים שמסתנכרנים מול הרמה שמעליהם. כל קפיצה מוסיפה אחת לערך.
- ▸Stratum 16 — ערך מיוחד שמשמעותו: השעון אינו מסונכרן ואין לסמוך עליו.

תצורה על ציוד Cisco
התצורה הבסיסית פשוטה, אבל יש כמה פרטים שמפרידים בין תצורה שעובדת לבין תצורה שמחזיקה גם בעת תקלה. ראשית, הגדירו תמיד את אזור הזמן ואת שעון הקיץ, כי NTP מסנכרן ב-UTC בלבד. שנית, קבעו ממשק מקור קבוע — עדיף Loopback — כדי שכתובת המקור לא תשתנה לפי מסלול היציאה. שלישית, הוסיפו חותמות זמן מלאות ללוגים, אחרת כל העבודה הזו לא תיראה בפלט.
clock timezone IST 2 0
clock summer-time IDT recurring last Fri Mar 2:00 last Sun Oct 2:00
!
ntp server 10.10.0.5 prefer
ntp server 10.10.0.6
ntp source Loopback0
ntp update-calendar
!
service timestamps log datetime msec localtime show-timezone
service timestamps debug datetime msec localtime show-timezoneכאשר אין מקור חיצוני זמין, אפשר להגדיר נתב כשרת סמכותי בעזרת הפקודה ntp master. שימו לב: זה פתרון למעבדה או לרשת מנותקת, לא תחליף למקור זמן אמיתי, כי הדיוק שלו הוא רק דיוק השעון הפנימי של ההתקן.
! Local authoritative source (lab / isolated network)
ntp master 3
!
! NTP authentication - client side
ntp authenticate
ntp authentication-key 10 md5 NetMe-Str0ng-Key
ntp trusted-key 10
ntp server 10.10.0.5 key 10 prefer
!
! Restrict who may query this device
access-list 20 permit 10.10.0.0 0.0.0.255
ntp access-group peer 20אימות NTP — למה זה לא אופציונלי
NTP ללא אימות פירושו שכל מי שיכול לזייף חבילות UDP יכול לנסות להזיז את השעון של הציוד שלכם. תוקף שמצליח להזיז שעון אחורה יכול להאריך תוקף של תעודה שבוטלה, לשבש חתימות זמן בלוגים ולפגוע בתהליכי אימות מבוססי זמן כמו Kerberos שסובלני להפרש של חמש דקות בלבד. האימות ב-NTP הוא חד-כיווני: הלקוח מוודא שהשרת מכיר את המפתח הסודי. שימו לב לשלושה מרכיבים שחייבים להתאים בין הצדדים — מספר המפתח, ערך המפתח והגדרתו כ-trusted.
- ▸הפעילו ntp authenticate והגדירו מפתח בכל התקן שמסתנכרן מקישור לא מהימן.
- ▸הגבילו באמצעות ntp access-group מי רשאי לשאול, לסנכרן או להגדיר את ההתקן.
- ▸חסמו UDP 123 נכנס מהאינטרנט לכל התקן שאינו שרת זמן ייעודי, כדי למנוע ניצול להגברת מתקפות DDoS.
- ▸העדיפו שני שרתים לפחות, ורצוי שלושה, כדי שהאלגוריתם יוכל לזהות מקור שקרי (Falseticker).

SNTP, ומה ההבדל
SNTP הוא גרסה מפושטת של NTP. הוא משתמש באותו פורמט חבילה ובאותו פורט, אך אינו מיישם את אלגוריתמי הסינון והמיצוע המורכבים ואינו יכול לשמש כשרת זמן להתקנים אחרים. הוא מתאים להתקני קצה חלשים בלבד. חשוב לזכור: התקן שמריץ SNTP לא יכול להיות מקור סנכרון לאחרים.
פתרון תקלות NTP
NETME-CORE#show ntp status
Clock is synchronized, stratum 3, reference is 10.10.0.5
nominal freq is 250.0000 Hz, actual freq is 249.9997 Hz, precision is 2**18
reference time is EB2F4A21.7C1D9E44 (13:22:41.484 IST Fri Jul 31 2026)
clock offset is 1.2143 msec, root delay is 4.11 msec
NETME-CORE#show ntp associations
address ref clock st when poll reach delay offset disp
*~10.10.0.5 .GPS. 2 27 64 377 4.112 1.214 0.512
~10.10.0.6 10.10.0.5 3 41 64 377 5.008 1.902 0.640
* sys.peer, ~ configured- ▸stratum 16 או הודעת unsynchronized — ההתקן לא הצליח להסתנכרן. בדקו קישוריות ואת נכונות כתובת השרת.
- ▸reach בערך 0 — אף חבילה לא חזרה. בדרך כלל חומת אש או ACL שחוסמים UDP 123.
- ▸reach בערך 377 אבל בלי כוכבית — יש תקשורת אך האימות נכשל או שהשרת עצמו אינו מסונכרן.
- ▸offset גבוה מאוד — ההפרש גדול מדי לכוונון הדרגתי. לעיתים נדרש כיוון ידני ראשוני בעזרת clock set.
- ▸זמן נכון בפקודות אך שגוי בלוגים — חסרה הפקודה service timestamps או שאזור הזמן לא הוגדר.
מבחנון NTP — 8 שאלות בסגנון CCNA 200-301
1. באיזה פרוטוקול תעבורה ובאיזה פורט פועל NTP?
2. מה מייצג Stratum 0?
3. נתב מסתנכרן מול שרת שהוא Stratum 2. מה יהיה ערך ה-Stratum של הנתב?
4. מה משמעות הערך Stratum 16?
5. איזו פקודה הופכת נתב Cisco למקור זמן סמכותי מקומי?
6. מהי מטרת הפקודה ntp source Loopback0?
7. מה ההבדל המרכזי בין SNTP ל-NTP?
8. בפלט show ntp associations הערך reach הוא 0 עבור השרת המוגדר. מה הסיבה הסבירה ביותר?
לסיכום
סנכרון זמן הוא תשתית שקטה שכל השאר נשען עליה: לוגים, אבטחה, תעודות, אימות ואפילו חיוב לקוחות. תצורה נכונה לוקחת חמש דקות, וההיעדר שלה עולה בשעות של חקירה מיותרת בכל אירוע.
בקורס CCNA של מכללת נטמי מתרגלים את NTP במעבדה אמיתית — הגדרת שרת ולקוח, אימות מפתחות, ACL, קריאת פלט האבחון ופתרון תקלות — לצד כל שאר נושאי המבחן 200-301, בעברית ועם ליווי אישי עד לתעודה.
רוצים להתמקצע?
הפוסט הזה הוא רק טעימה. הקורס המלא של Cisco CCNA — רשתות תקשורת ילמד אתכם הכל מא׳ עד ת׳.


