1. NTP時鍾伺服器部署以及時鍾同步設置
NTP時鍾伺服器部署與時間同步設置詳解
NTP,即網路時間協議,用於同步網路中各台計算機的時間。其主要用途是將計算機的時鍾同步至世界協調時UTC,區域網內的精度可達0.1ms,互聯網上大多數地方的精度在1-50ms之間。同步時間對於伺服器集群至關重要,例如電商秒殺、火車票搶購等場景,時間不同步可能導致用戶體驗不均等問題。集群化部署的應用中,如資料庫集群,時間同步確保了同一時間到達不同節點的數據具有相同的時間戳,集群時間一致性影響分布式系統的一致性。
部署NTP時鍾伺服器與同步設置涉及以下步驟:伺服器規劃、軟體環境說明、安裝與配置NTP、預先同步、啟動服務與設置開機啟動、查看服務信息、防火牆配置、客戶端同步設置。
部署過程:
1. 安裝NTP:使用命令`yum install -y ntp`安裝NTP。
2. 配置NTP:修改配置文件`vi /etc/ntp.conf`,允許上層伺服器修改本地時間、增加外部時間伺服器配置、設置本地時間服務作為備選方案。
3. 預先同步:與公共NTP伺服器同步,確保本地伺服器能正常同步。啟動NTP服務並設置開機啟動。
4. 查看服務信息:使用`ntpq -p`命令查看服務信息,了解遠程伺服器連接狀態、延遲、精度等。
5. 防火牆配置:開放NTP埠`firewall-cmd --add-port=123/udp --permanent`,重載防火牆規則。
客戶端同步設置:
1. Linux客戶端:使用`ntpdate`命令或安裝NTP服務自動同步。設置伺服器地址,允許上層時間伺服器修改本地時間。
2. Windows客戶端:通過控制面板設置Internet時間,輸入對應NTP伺服器IP地址。
2. 如何正確的建立windows的時間伺服器
一、選擇伺服器基準時鍾,可選擇內部硬體時鍾和外部NTP授時伺服器。 (首先要保證自己的時間准確)x0dx0aA.配置 Windows 時間服務以使用伺服器內部硬體時鍾x0dx0a(1). 單擊「開始」,單擊「運行」,鍵入 regedit,然後單擊「確定」。x0dx0a(2). 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlagsx0dx0a(3). 在右窗格中,右鍵單擊「AnnounceFlags」,然後單擊「修改」。x0dx0a(4). 在「編輯 DWORD 值」的「數值數據」框中鍵入 A,然後單擊「確定」。x0dx0aB.配置 Windows 時間服務以使用外部時間源x0dx0a(1). 指定時間源。為此,請按照下列步驟操作:x0dx0aa. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerx0dx0ab. 在右窗格中,右鍵單擊「NtpServer」,然後單擊「修改」。x0dx0ac. 在「編輯值」的「數值數據」框中鍵入 Peers,然後單擊「確定」。x0dx0a注意:Peers 是一個佔位符,應替換為您的計算機從中獲取時間戳的對等端列表(以空格分隔)。列出的每個 DNS 名稱都必須是唯一的。必須在每個 DNS 名稱後面附加 ,0x1。如果不在每個 DNS 名稱後面附加 ,0x1,則在下面步驟中所做的更改將不會生效。x0dx0a(2). 選擇輪詢間隔。為此,請按照下列步驟操作:x0dx0aa. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClientx0dx0a\SpecialPollIntervalx0dx0ab. 在右窗格中,右鍵單擊「SpecialPollInterval」,然後單擊「修改」。x0dx0ac. 在「編輯 DWORD 值」的「數值數據」框中鍵入 TimeInSeconds,然後單擊「確定」。x0dx0a注意:TimeInSeconds 是一個佔位符,應替換為您希望各次輪詢之間的間隔秒數。建議值為 900(十進制)。該值將時間伺服器配置為每隔 15 分鍾輪詢一次。x0dx0a(3). 配置時間校準設置。為此,請按照下列步驟操作:x0dx0aa. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Configx0dx0a\MaxPosPhaseCorrectionx0dx0ab. 在右窗格中,右鍵單擊「MaxPosPhaseCorrection」,然後單擊「修改」。x0dx0ac. 在「編輯 DWORD 值」的「基數」框中單擊以選擇「十進制」。x0dx0ad. 在「編輯 DWORD 值」的「數值數據」框中鍵入 TimeInSeconds,然後單擊「確定」。x0dx0a注意:TimeInSeconds 是一個佔位符,應替換為適當的值,如 1 小時 (3600) 或 30 分鍾 (1800)。您選擇的值將因輪詢間隔、網路狀況和外部時間源而異。x0dx0ae. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\. 在右窗格中,右鍵單擊「MaxNegPhaseCorrection」,然後單擊「修改」。x0dx0ag. 在「編輯 DWORD 值」的「基數」框中單擊以選擇「十進制」。x0dx0ah. 在「編輯 DWORD 值」的「數值數據」框中鍵入 TimeInSeconds,然後單擊「確定」。x0dx0a注意:TimeInSeconds 是一個佔位符,應替換為適當的值,如 1 小時 (3600) 或 30 分鍾 (1800)。您選擇的值將因輪詢間隔、網路狀況和外部時間源而異。x0dx0a二、配置NTP授時伺服器x0dx0a(1). 將伺服器類型更改為 NTP。為此,請按照下列步驟操作:x0dx0aa. 單擊「開始」,單擊「運行」,鍵入 regedit,然後單擊「確定」。x0dx0ab. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Typex0dx0ac. 在右窗格中,右鍵單擊「Type」,然後單擊「修改」。x0dx0ad. 在「編輯值」的「數值數據」框中鍵入 NTP,然後單擊「確定」。x0dx0a(2). 將 AnnounceFlags 設置為 5。為此,請按照下列步驟操作:x0dx0aa. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlagsx0dx0ab. 在右窗格中,右鍵單擊「AnnounceFlags」,然後單擊「修改」。x0dx0ac. 在「編輯 DWORD 值」的「數值數據」框中鍵入 5,然後單擊「確定」。x0dx0a(3). 啟用 NTPServer。為此,請按照下列步驟操作:x0dx0aa. 找到並單擊下面的注冊表子項:x0dx0a程序代碼x0dx0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServerx0dx0ab. 在右窗格中,右鍵單擊「Enabled」,然後單擊「修改」。x0dx0ac. 在「編輯 DWORD 值」的「數值數據」框中鍵入 1,然後單擊「確定」。x0dx0a三、使配置即時生效x0dx0a1. 退出注冊表編輯器。x0dx0a2. 在命令提示符處,鍵入以下命令以重新啟動 Windows 時間服務,然後按 Enter:x0dx0a程序代碼x0dx0anet stop w32time && net start w32timex0dx0a四、配置防火牆允許NTP訪問x0dx0a如果你需要在伺服器所在區域外訪問該伺服器的NTP服務,需要在防火牆上添加允許:x0dx0a程序代碼x0dx0a名稱 埠 協議 方向x0dx0aSNTP時間基準 123 UDP 入x0dx0a五、相關注冊表說明x0dx0a注冊表項 MaxPosPhaseCorrectionx0dx0a路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Configx0dx0a注意: 該項指定服務可進行的最大正時間校準量(以秒為單位)。如果服務確定某個更改幅度大於所需的幅度,它將記錄一個事件。(0xFFFFFFFF 是一種特殊情況,它表示總是校準時間。)域成員的默認值是 0xFFFFFFFF。獨立客戶端和伺服器的默認值是 54,000,即 15 小時。x0dx0a注冊表項 MaxNegPhaseCorrectionx0dx0a路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Configx0dx0a注意: 該項指定服務可進行的最大負時間校準量(以秒為單位)。如果服務確定某個更改幅度大於所需的幅度,它將轉而記錄一個事件。(-1 是一種特殊情況,它表示總是校準時間。)域成員的默認值是 0xFFFFFFFF。獨立客戶端和伺服器的默認值是 54,000,即 15 小時。x0dx0a注冊表項 MaxPollIntervalx0dx0a路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Configx0dx0a注意: 該項指定系統輪詢間隔所允許的最大間隔(單位是對數表示的秒)。盡管系統必須根據預定的間隔進行輪詢,但是提供程序可以根據請求拒絕生成示例。域成員的默認值是 10。獨立客戶端和伺服器的默認值是 15。x0dx0a注冊表項 SpecialPollIntervalx0dx0a路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClientx0dx0a注意: 該項指定手動對等端的特殊輪詢間隔(以秒為單位)。當啟用 SpecialInterval 0x1 標志時,W32Time 將使用此輪詢間隔而非操作系統確定的輪詢間隔。域成員的默認值是 3,600。獨立客戶端和伺服器的默認值是 604,800。x0dx0a注冊表項 MaxAllowedPhaseOffsetx0dx0a路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Configx0dx0a注意: 該項指定 W32Time 嘗試使用時鍾速率調整計算機時鍾的最大偏移量(以秒為單位)。當偏移量大於該速率時,W32Time 將直接設置計算機時鍾。域成員的默認值是 300。獨立客戶端和伺服器的默認值是 1。x0dx0a備注說明:x0dx0a1、一般操作:x0dx0a1)將時間伺服器改成,授時中心地址(210。72。145。44)x0dx0anet time /setsntp:210.72.145.44x0dx0a2)啟動時間同步服務x0dx0asc start w32timex0dx0a3)同步時間x0dx0aw32tm /resync (實際上,大多數情況下,光作第三步即可。) 2、啟動前提:x0dx0a DOS啟動Window Time服務: net stop w32time 、 net start w32timex0dx0a 要啟動 Window Time 服務,必須先啟動 Remote Access Connection Manager 服務。
3. 如何將PC配置為時鍾伺服器即NTP
我就是這樣用的,很好。
Windows(2003)下配置NTP時間伺服器
一、服務端設置:
因為默認情況下,WINDOWS SERVER 2003 是作為NTP客戶端工作的 ,所以必須通過修改注冊表,以使系統作為NTP伺服器運行。注意,工作之前請先備份注冊表文件。
1、通過開始菜單,輸入regedit命令後打開注冊表設定畫面,此時請一定備份塵山注冊表文件。
2、修改以下選項的鍵值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpServer內的「Enabled」設定為1,打開NTP伺服器功歲敬能
3、修改以下鍵值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
AnnounceFlags設定為5,該設定強制主機將它自身宣布為可靠的時間源,從而使用內置的互補金屬氧化物半導體(CMOS) 時鍾。
4、在dos命令行執行以下命令,確保以上修改起作用
net stop w32time
net start w32time
推薦計劃;如果該伺服器和internet連接,那麼為了避免伺服器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「enable」設定為0 以防止作為客戶端自動同步外界的時派雀中間服務
二、客戶設置:
1、指定主時間伺服器。在DOS方式輸入「net time /setsntp:ntp.sjtu.e.cn」,這里我們指定ntp.sjtu.e.cn是主時間伺服器,也可以是其它地址(210.72.145.44)。
2、自由設定XP時間同步間隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「SpecialPollInterval」默認設定為604800(或86400)
4. ntp授時伺服器(NTP時間伺服器)配置步驟與方法
配置ntp授時伺服器:步驟與方法
在計算機網路領域,確保系統時間同步與正確性至關重要,因為時間同步對於眾多應用,如日誌時間戳、證書有效期、安全握手等都至關重要。網路時間協議(NTP)旨在解決網路系統時間同步的問題。本文將詳細介紹配置ntp授時伺服器的步驟與方法。
首先,安裝NTP軟體。對於CentOS 7系統,使用yum工具安裝ntp服務。在命令行輸入以下命令:
yum install -y ntp
接著,啟動NTP服務並設置開機啟動,命令如下:
systemctl start ntpd
systemctl enable ntpd
對於其他Linux發行版,安裝和啟動NTP服務可能需要使用其他命令。
其次,編輯NTP配置文件。默認配置文件位於/etc/ntp.conf。對於ntp授時伺服器,需要配置為穩定的參考時鍾,通常使用外部可靠的時鍾源。以下是一個示例配置,包含兩個時鍾源:
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
這里的「 cn.pool.ntp.org」是公共的NTP伺服器池,選擇地理位置相近且響應時間短的NTP伺服器作為參考時鍾。若需添加更多時鍾源,可在ntp.conf文件中使用「server」命令。
同時,為防止外部設備無限制訪問,配置ntp授時伺服器需限制本地網路訪問,使用「restrict」命令在ntp.conf中添加:
restrict 192.168.1.0 mask 255.255.255.0
上述命令表示僅192.168.1.0/24網段的設備能使用ntp授時伺服器。如需授時給更多設備,可繼續使用「restrict」命令。
然後,重新啟動NTP服務,以使設置生效。在命令行輸入以下命令:
systemctl restart ntpd
至此,ntp授時伺服器已配置完成,使用配置的時鍾源同步時間,並將其作為本地參考。
驗證ntp授時伺服器正常工作,使用ntpdate工具查詢。命令如下:
ntpdate -q ntp伺服器的IP地址
例如:
ntpdate -q 192.168.1.100
若正常工作,將輸出ntp伺服器地址、ntp伺服器時間及與本地計算機時間的時間差。
此外,配置ntp授時客戶端指向伺服器IP地址,即可通過ntp授時伺服器同步時間,確保網路中所有設備的時間同步。
綜上所述,配置ntp授時伺服器能有效避免網路系統時間不同步,確保計算機網路的正常運行。
總結配置步驟:
1、安裝NTP軟體
2、編輯NTP配置文件
3、重啟NTP服務
4、驗證ntp授時伺服器正常工作
按照以上步驟,可輕松配置一個計算機為ntp授時伺服器,並確保整個網路時間同步。
5. 如何搭建自己的NTP伺服器
NTP伺服器【Network Time Protocol(NTP)】是用來使計算機時間同步化的一種協議,它可以使計算機對其伺服器或時鍾源(如石英鍾,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標准間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。時間按NTP伺服器的等級傳播。按照離外部UTC源的遠近把所有伺服器歸入不同的Stratum(層)中。
網路時間協議(NTP)用來同步網路上不同主機的系統時間。你管理的所有主機都可以和一個指定的被稱為 NTP 伺服器的時間伺服器同步它們的時間。而另一方面,一個 NTP 伺服器會將它的時間和任意公共 NTP 伺服器,或者你選定的伺服器同步。由 NTP 管理的所有系統時鍾都會同步精確到毫秒級。
在公司環境中,如果他們不想為 NTP 傳輸打開防火牆,就有必要設置一個內部 NTP 伺服器,然後讓員工使用內部伺服器而不是公共 NTP 伺服器。在這個指南中,我們會介紹如何將一個 CentOS 系統配置為 NTP 伺服器。在介紹詳細內容之前,讓我們先來簡單了解一下 NTP 的概念。
為什麼我們需要 NTP?
由於製造工藝多種多樣,所有的(非原子)時鍾並不按照完全一致的速度行走。有一些時鍾走的比較快而有一些走的比較慢。因此經過很長一段時間以後,一個時鍾的時間慢慢的和其它的發生偏移,這就是常說的 「時鍾漂移」 或 「時間漂移」。為了將時鍾漂移的影響最小化,使用 NTP 的主機應該周期性地和指定的 NTP 伺服器交互以保持它們的時鍾同步。
在不同的主機之間進行時間同步對於計劃備份、入侵檢測記錄、分布式任務調度或者事務訂單管理來說是很重要的事情。它甚至應該作為日常任務的一部分。
NTP 的層次結構
NTP 時鍾以層次模型組織。層級中的每層被稱為一個 stratum(階層)。stratum 的概念說明了一台機器到授權的時間源有多少 NTP 跳。
Stratum 0 由沒有時間漂移的時鍾組成,例如原子時鍾。這種時鍾不能在網路上直接使用。Stratum N (N > 1) 層伺服器從 Stratum N-1 層伺服器同步時間。Stratum N 時鍾能通過網路和彼此互聯。
NTP 支持多達 15 個 stratum 的層級。Stratum 16 被認為是未同步的,不能使用的。
准備 CentOS 伺服器
現在讓我們來開始在 CentOS 上設置 NTP 伺服器。
首先,我們需要保證正確設置了伺服器的時區。在 CentOS 7 中,我們可以使用 timedatectl 命令查看和更改伺服器的時區(比如,"Australia/Adelaide",LCTT 譯註:中國可設置為 Asia/Shanghai )
代碼如下:
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
繼續並使用 yum 安裝需要的軟體
代碼如下:
# yum install ntp
然後我們會添加全球 NTP 伺服器用於同步時間。
代碼如下:
# vim /etc/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默認情況下,NTP 伺服器的日誌保存在 /var/log/messages。如果你希望使用自定義的日誌文件,那也可以指定。
復制代碼
代碼如下:
logfile /var/log/ntpd.log
如果你選擇自定義日誌文件,確保更改了它的屬主和 SELinux 環境。
復制代碼
代碼如下:
# chown ntp:ntp /var/log/ntpd.log
# chcon -t ntpd_log_t /var/log/ntpd.log
現在初始化 NTP 服務並確保把它添加到了開機啟動。
代碼如下:
# systemctl restart ntp
# systemctl enable ntp
驗證 NTP Server 時鍾
我們可以使用 ntpq 命令來檢查本地伺服器的時鍾如何通過 NTP 同步。
下面的表格解釋了輸出列。
remote 源在 ntp.conf 中定義。『*』 表示當前使用的,也是最好的源;『+』 表示這些源可作為 NTP 源;『-』 標記的源是不可用的。
refid 用於和本地時鍾同步的遠程伺服器的 IP 地址。
st Stratum(階層)
t 類型。 'u' 表示單播(unicast)。其它值包括本地(local)、多播(multicast)、廣播(broadcast)。
when 自從上次和伺服器交互後經過的時間(以秒數計)。
poll 和伺服器的輪詢間隔,以秒數計。
reach 表示和伺服器交互是否有任何錯誤的八進制數。值 337 表示 100% 成功(即十進制的255)。
delay 伺服器和遠程伺服器來回的時間。
offset 我們伺服器和遠程伺服器的時間差異,以毫秒數計。
jitter 兩次取樣之間平均時差,以毫秒數計。
控制到 NTP 伺服器的訪問
默認情況下,NTP 伺服器允許來自所有主機的查詢。如果你想過濾進來的 NTP 同步連接,你可以在你的防火牆中添加規則過濾流量。
# iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 123 -j ACCEPT
# iptables -A INPUT -p udp --dport 123 -j DROP
該規則允許從 192.168.1.0/24 來的 NTP 流量(埠 UDP/123),任何其它網路的流量會被丟棄。你可以根據需要更改規則。
配置 NTP 客戶端
1. Linux
NTP 客戶端主機需要 ntpupdate 軟體包來和伺服器同步時間。可以輕松地使用 yum 或 apt-get 安裝這個軟體包。安裝完軟體包之後,用伺服器的 IP 地址運行下面的命令。
代碼如下:
# ntpdate
基於 RHEL 和 Debian 的系統命令都相同。
2. Windows
如果你正在使用 Windows,在日期和時間設置(Date and Time settings)下查找網路時間(Internet Time)。
3. Cisco 設備
如果你想要同步 Cisco 設備的時間,你可以在全局配置模式下使用下面的命令。
代碼如下:
# ntp server
來自其它廠家的支持 NTP 的設備有自己的用於網路時間的參數。如果你想將設備和 NTP伺服器同步時間,請查看設備的說明文檔。
結論
總而言之,NTP 是在你的所有主機上同步時鍾的一個協議。我們已經介紹了如何設置 NTP 伺服器並使支持 NTP 的設備和伺服器同步時間。