凌峰创科服务平台

Cisco NTP服务器配置步骤是什么?

目录

  1. NTP 基础概念
    • 什么是 NTP?
    • NTP 层次结构
    • NTP 模式
  2. 配置前的准备工作
    • 获取权限
    • 检查当前时间
  3. NTP 服务器配置详解
    • 将 Cisco 设备配置为 NTP 客户端 (最常见)
    • 将 Cisco 设备配置为 NTP 服务器 (为下游设备提供时间)
    • 配置多台上游 NTP 服务器以提高可靠性
    • 配置 NTP 认证 (增强安全性)
  4. NTP 常用命令与排错
    • 查看 NTP 状态
    • 查看 NTP 关联
    • 查看系统时钟
    • 调试 NTP
  5. 完整配置示例
    • 作为客户端,同步两台外部 NTP 服务器
    • 作为服务器,为内部网络提供时间,并开启认证
  6. 最佳实践与注意事项

NTP 基础概念

什么是 NTP?

网络时间协议是一种用于在计算机网络中同步计算机时钟的协议,它能提供高精度、高可靠性的时间同步,精度可达毫秒甚至微秒级别。

Cisco NTP服务器配置步骤是什么?-图1
(图片来源网络,侵删)

NTP 层次结构

NTP 使用一个分层的系统来组织时间服务器,称为“层”或“Stratum”。

  • Stratum 0: 精确时间源,如原子钟、GPS 钟等,它们不通过网络,直接连接到 Stratum 1 服务器。
  • Stratum 1: 直接连接到 Stratum 0 源的时间服务器,它们是网络的权威时间源。
  • Stratum 2: 从 Stratum 1 服务器同步时间的服务器,它们为 Stratum 3 提供时间。
  • ... 以此类推

注意:Stratum 数值越大,表示离权威源越远,精度也可能略有下降,企业网络内部部署的 NTP 服务器 Stratum 不会超过 15。

NTP 模式

  • Client/Server: 客户端向服务器请求时间,服务器不关心客户端的身份,这是最常用的模式。
  • Symmetric (Peer): 两台 NTP 设备相互对等,互为备份,相互同步,适用于需要高精度时间同步的场景。
  • Broadcast/Multicast: 服务器向网络广播或多播时间信息,适用于大量客户端且对精度要求不高的环境,配置简单但精度较低。

配置前的准备工作

  • 获取权限: 你需要进入特权 EXEC 模式 (enable) 和全局配置模式 (configure terminal)。
  • 检查当前时间:
    show clock

    你会看到当前的系统时间,通常是未同步的本地时间或出厂默认时间。


NTP 服务器配置详解

将 Cisco 设备配置为 NTP 客户端 (最常见)

这是最基本和最常见的配置,让你的 Cisco 设备(如路由器、交换机)与一个或多个外部 NTP 服务器同步。

Cisco NTP服务器配置步骤是什么?-图2
(图片来源网络,侵删)
! 进入全局配置模式
configure terminal
! 指定上游 NTP 服务器的 IP 地址
! 你可以指定多个,以提高冗余性,设备会选择一个最好的进行同步。
ntp server 192.0.2.1 prefer  ! prefer 表示优先使用该服务器
ntp server 203.0.113.5
! (可选) 设置 NTP 源接口,如果服务器位于特定 VLAN 或需要从特定接口通信
ntp source Vlan10
! (可选) 设置 NTP 更新间隔,默认是 1024 秒,可以加快同步
ntp update-calendar
! 退出配置模式
end
! 保存配置
write memory
  • ntp server <ip>: 添加一个 NTP 服务器。
  • prefer: 关键字,表示在多个服务器中优先同步该服务器,通常用于指向你最可靠的内部或上游 NTP 服务器。
  • ntp source <interface>: 指定发送 NTP 请求的源接口,NTP 服务器不在与 Cisco 设备直接相连的网段,或者需要从特定 VLAN 访问,这个命令非常重要。
  • ntp update-calendar: 对于带有硬件日历(如路由器)的设备,这个命令会定期将 NTP 同步后的时间写入硬件日历,防止设备重启后时间重置。

将 Cisco 设备配置为 NTP 服务器 (为下游设备提供时间)

如果你的 Cisco 设备已经成功同步了时间,你可以让它成为一个 NTP 服务器,为网络中的其他设备(如 PC、服务器、其他网络设备)提供时间。

! 假设你的设备已经从上游服务器同步了时间
! 进入全局配置模式
configure terminal
! 启用 NTP 服务,并指定你的设备作为 Stratum 2 服务器
! (如果它同步自 Stratum 1,那么它就是 Stratum 2)
ntp master 2
! (可选) 配置 NTP 服务器向客户端广播时间
! 这适用于没有配置 NTP 客户端的设备
ntp broadcast 192.168.1.255  ! 指定广播地址
ntp broadcast client
! 退出并保存
end
write memory
  • ntp master <stratum>: 核心命令,将设备配置为一个 NTP 主服务器,并指定其 Stratum 层级。警告:仅在确定你的设备时间源可靠时才使用此命令,不要随意在互联网上开启 ntp master,这会成为公共 NTP 池的负担,并可能导致你的设备成为 DDoS 放大攻击的源头。
  • ntp broadcast <address>: 启用广播模式。
  • ntp broadcast client: 在客户端接口上启用接收广播 NTP 的功能。

配置多台上游 NTP 服务器以提高可靠性

生产环境中,至少应配置两台或更多上游 NTP 服务器,以防一台服务器宕机。

configure terminal
! 指定第一台服务器,并标记为首选
ntp server pool.ntp.org prefer
! 指定第二台服务器作为备份
ntp server time.windows.com
! 指定第三台服务器,来自你的内部 NTP 服务器
ntp server 10.1.1.100
end
write memory

Cisco 设备会自动评估这些服务器的同步状态、网络延迟等,并选择一个最佳的服务器作为主同步源,如果首选服务器 (prefer) 不可用,它会自动切换到下一个最佳服务器。

配置 NTP 认证 (增强安全性)

NTP 认证可以防止恶意攻击者通过发送伪造的 NTP 包来篡改你的设备时间,这是非常重要的安全措施。

Cisco NTP服务器配置步骤是什么?-图3
(图片来源网络,侵删)

配置步骤:

  1. 在 NTP 服务器上配置:

    • 定义一个或多个密钥。
    • 将一个密钥设置为可信密钥。
    • 在 NTP 服务器的接口上启用 NTP 认证。
  2. 在 NTP 客户端上配置:

    • 定义与服务器完全相同的密钥。
    • 将相同的密钥设置为可信密钥。
    • ntp server 命令中指定要使用的密钥 ID。

示例:

NTP 服务器 (192.0.2.1) 配置:

configure terminal
! 定义密钥 (MD5 加密)
ntp authentication-key 1 md5 MySecretKey123
! 将密钥 1 设置为可信密钥
ntp trusted-key 1
! 启用 NTP 认证全局功能
ntp authenticate
! 在接口上启用 NTP 认证 (GigabitEthernet0/0)
interface GigabitEthernet0/0
 ntp authentication-key 1
 ntp server 127.127.1.0 key 1  ! (可选) 同步自身时钟源
 ntp authenticate
end
write memory

NTP 客户端 (10.1.1.10) 配置:

configure terminal
! 定义与服务器相同的密钥
ntp authentication-key 1 md5 MySecretKey123
! 将相同的密钥设置为可信密钥
ntp trusted-key 1
! 启用 NTP 认证全局功能
ntp authenticate
! 指定服务器,并要求使用密钥 ID 1 进行认证
ntp server 192.0.2.1 key 1
end
write memory

NTP 常用命令与排错

查看 NTP 状态

show ntp status 显示设备当前的 NTP 同步状态,包括是否同步、同步源、Stratum 级别、精度等。

  • Clock is synchronized, stratum 2: 表示已成功同步,Stratum 为 2。
  • Clock is unsynchronized: 表示未同步。

查看 NTP 关联

show ntp associations 显示所有 NTP 对等体(服务器或客户端)的详细信息,包括 IP 地址、同步状态、偏移量、延迟等,这是排错时最重要的命令。

  • 表示该对等体被当前用作同步源。
  • 表示该对等体是首选同步源。
  • 表示该对等体是广播/多播服务器。

查看系统时钟

show clock 显示当前的系统时间,NTP 同步成功,这里显示的就是精确的网络时间。

调试 NTP

debug ntp packetsdebug ntp all 警告:此命令会产生大量输出,仅在必要时使用,并在排错完成后立即使用 undebug all 关闭。 它会显示所有发送和接收的 NTP 数据包的详细信息,有助于分析网络通信问题。


完整配置示例

作为客户端,同步两台外部 NTP 服务器

目标:让核心交换机与公共 NTP 服务器 pool.ntp.orgtime.windows.com 同步。

! --- 核心交换机配置 ---
enable
configure terminal
! 清除旧的 NTP 配置 (可选)
no ntp server
! 添加首选的 NTP 服务器
ntp server pool.ntp.org prefer
! 添加备用 NTP 服务器
ntp server time.windows.com
! 指定源接口,如果需要
ntp source Vlan100
! 将时间写入硬件日历
ntp update-calendar
end
write memory
! 验证配置
show ntp status
show ntp associations

作为服务器,为内部网络提供时间,并开启认证

目标:一台路由器 R1 从外部同步时间,然后作为内部 NTP 服务器,为交换机 S1 提供时间,并启用 MD5 认证。

R1 (NTP 服务器) 配置:

! --- R1 配置 ---
enable
configure terminal
! 1. 从上游同步时间
ntp server 192.0.2.1
ntp update-calendar
! 2. 配置为内部 NTP 服务器
ntp master 3
! 3. 配置 NTP 认证
ntp authentication-key 10 md5 InternalNTPSecret
ntp trusted-key 10
ntp authenticate
! 4. 在面向内部网络的接口上启用认证
interface GigabitEthernet0/1
 description Link to Switch S1
 ntp authentication-key 10
 ntp broadcast 10.10.10.255
 ntp broadcast client
 ntp authenticate
end
write memory

S1 (NTP 客户端) 配置:

! --- S1 配置 ---
enable
configure terminal
! 1. 配置 NTP 认证 (密钥必须与 R1 完全相同)
ntp authentication-key 10 md5 InternalNTPSecret
ntp trusted-key 10
ntp authenticate
! 2. 指定 R1 作为 NTP 服务器,并要求使用密钥 10
ntp server 10.10.10.1 key 10
end
write memory
! 验证
show ntp status
show ntp associations

最佳实践与注意事项

  1. 使用可靠的上游源:优先使用你所在组织内部的 NTP 服务器,其次是公共 NTP 池(如 pool.ntp.org),避免直接使用单个公共服务器。
  2. 避免使用 ntp master:除非你完全了解其后果,否则不要在互联网上或没有可靠时间源的设备上使用 ntp master,它会使你的设备成为一个不可靠的时间源。
  3. 配置冗余:至少配置两台上游 NTP 服务器。
  4. 考虑安全:在生产环境中,强烈建议启用 NTP 认证,防止时间篡改攻击。
  5. 防火墙和 ACL:确保 NTP 流量(UDP 端口 123)在 Cisco 设备和上游服务器之间是双向通的。
  6. 硬件时钟:对于路由器等设备,使用 ntp update-calendar 将 NTP 时间写入硬件时钟,可以保证在设备重启或 NTP 服务中断时,时间不会严重偏移。
分享:
扫描分享到社交APP
上一篇
下一篇