A. 如何搭建自己的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 的設備和伺服器同步時間。
B. 如何設置電腦的系統時間與區域網中的伺服器同步
方法/步驟
1
在電腦桌面的右下角點擊時間,彈出系統時間界面。在此界面左下角點擊「更改日期和時間設置」,進入日期和時間界面。XP系統需要雙擊時間,Win7系統中直接左鍵單擊即可。
2
在「日期和時間」屬性界面,單擊「Internet時間」,進入「Internet時間」選項卡。在「Internet時間」選項卡中,單擊右側的「更改設置」按鈕,進入更改界面進行設置。
3
在「Internet時間設置」界面中,在「與Internet時間伺服器同步」前面挑勾。之後在伺服器中輸入更新伺服器的IP地址。在區域網中,IP地址為你需要同步的伺服器IP地址。
4
啟動時間同步服務。可以點擊界面的「立即更新」啟動時間同步服務。如果不啟動時間同步服務,將無法與你設置的同步伺服器進行時間更新。
5
在「Internet時間設置」選項界面中,如果時間同步服務已經成功啟動,則在此界面會顯示系統下一次同步時間。如果不顯示,則需求手動啟動時間同步服務,否則無法實現該功能。
6
在時間設置界面,同時可以顯示兩個時區。日期和時間-附加時鍾,選擇好時區後,在「顯示此時鍾」前面挑勾,既可以將此時鍾在時間中顯示。
C. 雲伺服器怎麼配置自動時間同步
時間同步命令:
ntpdata time.windows.com
自動時間同步:
需要配置/etc/crontab文件,實現自動執行任務
讓linux從time.windows.com自動同步時間
vi /etc/crontab
加上一句:
00 0 1 * * root ntpdate -s time.windows.com
time.nist.gov 是一個時間伺服器.
Linux時間伺服器配置(192.168.10.1)
1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
2). # vi /etc/ntp.conf
注釋一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3). # vi /etc/ntp/step-tickers
加入一行
pool.ntp.org
這樣每次ntpd啟動時,會自動連接該國際標准時間伺服器;
4). # service ntpd start
5). # netstat -an |grep 123
確保該埠以udp方式開放
時間客戶端配置(192.168.10.2)
1). # ntpdate 192.168.10.2
應該顯示同步成功
2). # crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分鍾同步一次時間
D. 如何使用vSphere Web Client配置 ESXi時間同步
在虛擬架構中,由於服務依賴伺服器,所以網路時間同步對於伺服器保持一致非常重要。對於VMware
ESXi主機,可用vSphere
Client實施網路時間協議NTP同步。
需要同步ESXi主機的理由有很多。例如,如果主機與Active
Directory集成,需要時間實現同步。在創建和重新獲得快照的時候也需要時間保持一致,因為快照保存的是伺服器狀態的實時鏡像。幸好,使用vSphere
Client設置網路時間同步非常簡單。
VMware網路時間同步過程要配置NTP同步,選擇主機,在Configuration列表上選擇Time
Configuration
under
Software.就可以看見主機上現有的時間同步。接下來點擊屬性,跳出Time
Configuration窗口,能看到主機目前的時間。確保不要與實際時間相差太大,如果主機時間比實際時間多出1000秒的話,就太「瘋狂」啦,同步就很難。
在為主機設置本地時間後,選擇NTP
Client
Enabled.為主機激活NTP時間同步。重啟伺服器,查看Options確保已啟用NTP.然後可以訪問NTP
Startup
Policy,選擇Start
and
stop
with
host。
但是時間同步的工作還未完成。現在,需要選擇與VMware
ESXi主機應該同步的NTP伺服器。點擊NTP
Settings可看見目前的NTP伺服器列表。默認下是空的。點擊Add添加你要使用的NTP伺服器的名稱或地址。界面會提示你地址,但你也能輸入一個能通過DNS的名稱。
如果你不知道使用哪一台NTP伺服器用於VMware網路時間同步的話,在。ntp.org池中的互聯網NTP伺服器也同樣可用。只需要從該組中選擇一台伺服器添加到NTP伺服器列表中。當然,如果你想同步內部的或專有的NTP伺服器的話,應該至少制定兩台NTP伺服器。
這時,確保重啟NTP伺服器的選擇已選。點擊三次OK保存和適用更改。在ESXi主機的配置屏幕上,現在能看到NTP
Client在運行,也能顯示主機目前所使用的NTP伺服器列表。
隨著ESXi主機同步到正確的時間,所有依賴於時間的服務與事件都能正常運行。最重要的是,不會浪費時間精力去修改配置錯誤的網路時間。
E. 區域網時間伺服器怎麼搭建
1.默認情況下,獨立伺服器WINDOWS SERVER 2003 是作為NTP客戶端工作的 ,所以必須通過修改注冊表,讓它作為NTP伺服器運行。工作之前最好先備份注冊表文件。 2.修改以下選項的鍵值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer內的「Enabled」設定為1,打開NTP伺服器功能(默認是不開啟NTP Server服務,除非電腦升級成為域控制站) 3 修改以下鍵值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags設定為5.該設定強制主機將它自身宣布為可靠的時間源,從而使用內置的互補金屬氧化物半導體 (CMOS) 時鍾。(設定好後就要確定本機的電池要耐用了,做成時間伺服器,時間一出錯就頭大了,呵呵) 如果要採用外面的時間伺服器就用默認的a值即可. 4.我這邊的伺服器同步用外部伺服器,地址為210.72.145.44 (中國國家授時中心) 5.重啟Win32Time服務: net stop w32Time && net start W32Time 6.至此,已完成伺服器端設定. 7.客戶端的設定更改注冊表即可. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient SpecialPollInterval 值修改成十進制43200 (單位為秒,43200為12小時) SpecialPollTimeRemaining 值修改成[時間同步伺服器],0 如:192.168.1.1,0
F. 時間同步怎麼設置ntp伺服器地址
方法一.
採用Windows、linux等操作系統自帶的時間同步功能
對於Windows操作系統,自身已經集成了自動對時功能,在此僅以windows操作系統為例介紹一下。
雙擊系統托盤下方的時間在伺服器地址欄輸入NTP伺服器的IP地址(1.cn.pool.ntp.org),然後點擊「確定」按鈕保存下來就行了。
方法二.
修改注冊表,提高時間同步精度
由於系統默認的時間同步間隔是7天,我們無法自由選擇,使得這個功能在靈活性方面大打折扣。其實,我們也可以通過修改注冊表來手動修改它的自動同步間隔以提高同步精度,以下以XP系統為例。
1. 在「開始」菜單→「運行」項下輸入「Regedit」進入注冊表編輯器
2. 展開[
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient
] 分支,並雙擊 SpecialPollInterval 鍵值,將對話框中的「基數欄」選擇到「十進制」上
3.
對話框中顯示的數字正是自動對時的間隔(以秒為單位),比如默認的604800就是由7(天)×24(時)×60(分)×60(秒)計算來的。設定時間同步周期(建議設為900=15分鍾或3600=1小時等周期值),填入對話框,點擊確定保存關閉對話框。
4.
在Parameters列表中,將NtpServer鍵值修改為NTP伺服器的IP地址(1.cn.pool.ntp.org),然後點擊「確定」按鈕保存。
方法三,採用其他NTP客戶端程序時間同步
可以在互聯網上找到其他客戶端程序實現電腦時間同步。