爲了實現時間同步,咱們就須要用NTP(Network Time Protocol)這個協議。html
簡單地說,NTP是用來使系統和一個精確的時間源保持時間同步的協議。ios
咱們須要創建一個能提供精確時間的服務器,局域網內的全部電腦統一經過這臺時間服務器進行時間同步、校準。安全
/usr/share/zoneinfo:這是個目錄,在這個目錄下是規定了各主要時區的時間設定文件,例如中國大陸地區的時區設置文件是 /usr/share/zoneinfo/Asia/Shanghai 。服務器
若是咱們想查看對於每一個time zone當前的時間咱們能夠用zdump命令。網絡
例如:分別查看日本、上海和紐約時間。app
當輸入date命令查看時間時,咱們所在的time zone是哪一個,就顯示哪一個時間,能夠經過在/usr/share/zoneinfo下找到咱們的time zone文件而後拷貝去到/etc/localtimezone(或者作個symbolic link)來更改所在時區編輯器
例如:把time zone改爲紐約所在時區,再經過date查看當前時間。spa
把time zone改爲日本所在時區,再經過date查看當前時間。3d
把time zone改爲上海所在時區,再經過date查看當前時間。rest
編輯ntp的配置文件 /etc/ntp.conf
權限的設定主要以 restrict 這個參數來設定,主要的語法爲:
restrict IP地址 mask 子網掩碼 參數
其中 IP 能夠是IP地址,也能夠是 default ,default 就是指全部的IP
參數有如下幾個:
ignore :關閉全部的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,可是客戶端能夠經過服務端進行網絡校時。
notrust :客戶端除非經過認證,不然該客戶端來源將被視爲不信任子網
noquery :不提供客戶端的時間查詢
notrap:不提供trap遠程登陸功能,trap服務是一種遠程時間日誌服務
nopeer:提供時間服務,但不做爲對等體
kod:向不安全的訪問者發送Kiss-Of-Death報文
注意:若是參數沒有設定,那就表示該 IP (或子網)沒有任何限制!
因爲咱們配置的NTP 服務器須要網絡上面時間比較準確的NTP服務器來更新本身的時間,因此在咱們的 NTP 服務器上面要配置一部上級時間服務器來進行校準
用server這個參數設定上級時間服務器,語法爲:
server + IP地址或域名 [prefer]
IP地址或域名就是咱們指定的上級時間服務器,若是 Server 參數最後加上 prefer,表示咱們的 NTP 服務器主要以該部主機時間進行校準。
使用driftfile參數設置:
driftfile 文件名
在與上級時間服務器聯繫時所花費的時間,記錄在driftfile參數後面的文件內。
注意: driftfile 後面接的文件須要使用完整的路徑文件名,不能是連接文件,而且文件的權限須要設定成 ntpd守護進程能夠寫入。
Linux系統:
執行 ntpdate:
ntpdate 10.1.3.51 其中10.1.3.51是NTP服務器的IP
不要忘了使用hwclock命令,把時間寫入bios
hwclock -w
若是想定時進行時間校準,可使用crond服務來定時執行。
編輯 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 10.1.3.51; /sbin/hwclock -w 其中 10.1.3.51是NTP服務器的IP地址
而後重啓crond服務
systemctl restart crond
這樣,天天 8:30 Linux 系統就會自動的進行網絡時間校準。
Windows 系統: