المقدمة
يصف هذا المستند كيفية أستكشاف أخطاء بروتوكول وقت الشبكة (NTP) وإصلاحها في مركز بنية الشبكة الرقمية (DNAC) من Cisco.
المتطلبات الأساسية
المتطلبات
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- مركز بنية الشبكة الرقمية من Cisco 2.3.3
- مركز بنية الشبكة الرقمية من Cisco 2.3.5
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
تعد مزامنة الوقت أمرا بالغ الأهمية لدقة البيانات وتنسيق المعالجة عبر مجموعة متعددة الأجهزة المضيفة. قبل نشر الجهاز في بيئة إنتاج، تأكد من أن الوقت على ساعة نظام الجهاز حالي وأن خوادم NTP التي حددتها تحافظ على الوقت الدقيق. إذا كنت تخطط لدمج الجهاز مع ISE، فيجب عليك أيضا التأكد من مزامنة ISE مع نفس خوادم NTP مثل الجهاز.
بالنسبة لنشر الإنتاج، يوصى بتكوين ثلاثة خوادم NTP على الأقل.
يستخدم NTP الإصدار 4 منفذ UDP 123 للاتصالات من وإلى DNAC.
التحقق من الصحة إلى NTP على CIMC
الخطوة 1 - سجل الدخول إلى الجهاز Cisco IMC باستخدام عنوان Cisco IMC ومعرف المستخدم وكلمة المرور التي قمت بتعيينها في تمكين وصول المستعرض إلى وحدة التحكم في الإدارة المتكاملة من Cisco.
الخطوة 2 -مزامنة أجهزة الجهاز مع خوادم بروتوكول وقت الشبكة (NTP) التي تستخدمها لإدارة شبكتك، على النحو التالي:
- من الزاوية العليا اليسرى لواجهة المستخدم الرسومية Cisco IMC، انقر فوق أيقونة تبديل التنقل.
- من قائمة Cisco IMC، حدد > ، ثم أختر NTPإعداد.
- تأكد من تحديد خانة الاختيار NTP Enabled وأدخل ما يصل إلى أربعة أسماء أو عناوين مضيف خادم NTP في الحقول المرقمة Server.
- يتحقق Cisco IMC من صحة الإدخالات الخاصة بك ثم يبدأ في مزامنة الوقت على جهاز الجهاز مع الوقت على خوادم NTP.
صفحة تكوين CIMC NTP
ملاحظة: لا تدعم Cisco IMC مصادقة NTP.
مراجعة تكوين NTP على DNAC
- مراجعة خدمات NTP التي تم تكوينها في DNAC، تأكد من أن NTP لديه * إعلام بالخادم
- أقصى قيمة إزاحة: 500
- أقصى قيمة للرجفان: 300
maglev@maglev-master:~$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp.server.local .GNSS. 2 u 823 1024 0 0.263 0.144 0.000
10.81.254.131 .GNSS. 1 u 835 1024 377 72.324 0.382 0.087
- تأكيد ما إذا كانت ساعة النظام التي تمت مزامنتها تتم مزامنتها مع الأمر timedatectl.
maglev@maglev-master:~$ timedatectl status
Local time: Thu 2023-09-28 20:27:13 UTC
Universal time: Thu 2023-09-28 20:27:13 UTC
RTC time: Thu 2023-09-28 20:27:13
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: no
RTC in local TZ: no
- راجع تكوين خوادم NTP بشكل صحيح على ملف ntp.conf.
maglev@maglev-master:~$ cat /etc/ntp.conf
#---------------------------------------------------------------------
# Modified by Maglev: Mon, 25 Sep 2023 21:04:04 UTC
# maglev-config 68913
#---------------------------------------------------------------------
tinker panic 0
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 10.81.254.131 iburst
server ntp.server.local iburst
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
interface ignore 0.0.0.0
interface listen enterprise
interface listen management
interface listen internet
interface listen cluster
تحذير: لا تعدل الملف ntp.conf مبرد.
التحقق من صحة NTP على DNAC
- عند تكوين NTP باستخدام FQDN، تحقق من قدرة DNAC على حل سجلي A و PTR.
maglev@maglev-master:~$ nslookup
>set type=A
> ntp.server.local
Server: 10.0.0.53
Address: 10.0.0.53#53
Non-authoritative answer:
Name: ntp.server.local
Address: 10.81.254.202
>set type=PTR
> 10.81.254.202
Server: 10.0.0.53
Address: 10.0.0.53#53
10.254.81.10.in-addr.arpa name = ntp.server.local.
- تحقق من إمكانية الوصول إلى بروتوكول وقت الشبكة (NTP) من خلال إختبار الاتصال.
maglev@maglev-master:~$ ping ntp.server.local
PING ntp.server.local (10.81.254.202) 56(84) bytes of data.
64 bytes from ntp.server.local (10.81.254.202): icmp_seq=1 ttl=53 time=72.8 ms
64 bytes from ntp.server.local (10.81.254.202): icmp_seq=2 ttl=53 time=71.9 ms
64 bytes from ntp.server.local (10.81.254.202): icmp_seq=3 ttl=53 time=72.0 ms
^C
--- ntp.server.local ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 72.506/72.634/72.853/0.269 m
- تحقق من أنه يمكنك الوصول إلى NTP على المنفذ 123/UDP.
maglev@maglev-master:~$ nc -zvu ntp.server.local 123
Connection to ntp.server.local 123 port [udp/ntp] succeeded!
- التقاط حزمة وتأكيد أن اتصال NTP موجود على نفس الإصدار NTPv4.
maglev@maglev-master:~$ sudo tcpdump -i any host ntp.server.local and port 123 --immediate-mode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
20:19:23.967314 IP flink-web.ndp.svc.cluster.local.ntp > ntp.server.local.ntp: NTPv4, Client, length 48
20:19:23.967329 IP flink-web.ndp.svc.cluster.local.ntp > ntp.server.local.ntp: NTPv4, Client, length 48
20:19:24.040064 IP ntp.server.local.ntp > flink-web.ndp.svc.cluster.local.ntp: NTPv4, Server, length 48
20:19:24.040064 IP ntp.server.local.ntp > flink-web.ndp.svc.cluster.local.ntp: NTPv4, Server, length 48
- تأكد من أن خدمة NTP نشطة وقيد التشغيل.
maglev@maglev-master:~$ systemctl status ntp
* ntp.service - Network Time Service
Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-09-28 20:19:20 UTC; 22min ago
Docs: man:ntpd(8)
Process: 31746 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
Main PID: 31781 (ntpd)
Tasks: 2 (limit: 13516)
CGroup: /system.slice/ntp.service
`-31781 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:111
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: restrict ::: KOD does nothing without LIMITED.
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen and drop on 0 v6wildcard [::]:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 1 lo 127.0.0.1:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 2 management 10.88.244.151:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 3 enterprise 192.168.31.2:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 4 lo [::1]:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 5 management [fe80::be26:c7ff:fe0c:82e6%5447]:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 6 enterprise [fe80::b28b:cfff:fe6a:9e1c%5449]:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listen normally on 7 cluster [fe80::b28b:cfff:fe6a:9e1d%5450]:123
Sep 28 20:19:20 maglev-master-10-88-244-151 ntpd[31781]: Listening on routing socket on fd #24 for interface updates
ملاحظة: إذا لزم الأمر، فيمكنك إعادة تشغيل خدمة NTP باستخدام الأمر sudo system، إعادة تشغيل NTP . وهذا لا يؤثر بأي شكل من الأشكال.
أستكشاف أخطاء NTP وإصلاحها على DNAC
- راجع ملف maglev_config_wizard.log.
- يوضح المقتطف التالي اتصال DNAC بخادم NTP ومزامنته.
maglev@maglev-master:~$ cat /var/log/maglev_config_wizard.log | grep -i ntp
| 2023-09-28 00:47:32,790 | DEBUG | 25344 | MainThread | 140017254479680 | root | ansible.py:495 | changed: [localhost] => {"changed": true, "cmd": "/opt/maglev/bin/check_ntp.sh 500 299", "delta": "0:00:00.018699", "end": "2023-09-28 00:47:32.764617", "rc": 0, "start": "2023-09-28 00:47:32.745918", "stderr": "", "stderr_lines": [], "stdout": "PASSED", "stdout_lines": ["PASSED"]}
| 2023-09-28 00:47:33,068 | DEBUG | 25344 | MainThread | 140017254479680 | root | ansible.py:495 | ok: [localhost] => {"ansible_facts": {"ntp_sync_check": "PASSED"}, "changed": false}
"msg": "Check NTP limit PASSED"
changed: [localhost] => {"changed": true, "cmd": "/opt/maglev/bin/check_ntp.sh 500 299", "delta": "0:00:00.018699", "end": "2023-09-28 00:47:32.764617", "rc": 0, "start": "2023-09-28 00:47:32.745918", "stderr": "", "stderr_lines": [], "stdout": "PASSED", "stdout_lines": ["PASSED"]}
ok: [localhost] => {"ansible_facts": {"ntp_sync_check": "PASSED"}, "changed": false}
"msg": "Check NTP limit PASSED"
- تظهر المقتطفات التالية أخطاء عند عدم مزامنة بروتوكول وقت الشبكة (NTP) أو وجود مشاكل في الاتصال.
maglev@maglev-master:~$ cat /var/log/maglev_config_wizard.log | grep -i ntp
| 2023-07-19 02:36:41,396 | INFO | 76230 | MainThread | 140599082059584 | root | certs.py:142 | renew_certs : Check NTP limits |
| 2023-07-19 02:36:41,703 | DEBUG | 76230 | MainThread | 140599082059584 | root | ansible.py:495 | changed: [localhost] => {"changed": true, "cmd": "/opt/maglev/bin/check_ntp.sh 500 299", "delta": "0:00:00.014850", "end": "2023-07-19 02:36:41.679386", "rc": 0, "start": "2023-07-19 02:36:41.664536", "stderr": "", "stderr_lines": [], "stdout": "WARNING: Could not get Offset or Jitter from ntp peer", "stdout_lines": ["WARNING: Could not get Offset or Jitter from ntp peer"]}
| 2023-07-19 02:36:41,960 | DEBUG | 76230 | MainThread | 140599082059584 | root | ansible.py:495 | ok: [localhost] => {"ansible_facts": {"ntp_sync_check": "WARNING: Could not get Offset or Jitter from ntp peer"}, "changed": false}
"msg": "Check NTP limit WARNING: Could not get Offset or Jitter from ntp peer"
| 2023-07-19 02:36:42,635 | INFO | 76230 | MainThread | 140599082059584 | root | certs.py:142 | renew_certs : Fail if NTP not synched |
TASK [renew_certs : Check NTP limits] ******************************************
maglev@maglev-master:~$ cat /var/log/maglev_config_wizard.log | grep -i ntp
| 2023-09-12 18:21:29,564 | ERROR | 82110 | MainThread | 139737866331968 | maglev_config_wizard.managers.ntp.NtpManager | ntp.py:52 | Unable to sync with time server 10.88.14.200 |
| 2023-09-12 18:21:34,569 | ERROR | 82110 | MainThread | 139737866331968 | maglev_config_wizard.managers.ntp.NtpManager | ntp.py:164 | Unable to configure NTP after 2 attempts |
- إذا كنت بحاجة إلى تغيير خادم NTP، فيرجى إستخدام الأمر sudo maglev-config update.
تحذير: تغيير بروتوكول NTP يعيد تشغيل الخدمات في DNAC.
معلومات ذات صلة