您好,登錄后才能下訂單哦!
服務器怎么同步網絡時間,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
網絡時間同步協議(NTP)是時間同步的技術基礎。Linux操作系統都默認安裝了ntp組件。如果服務器能訪問外網并且配置了DNS服務器地址,直接ntpdate 0.cn.pool.ntp.org就可以同步外網時間。但很多服務器出于安全考慮,雖然通外網,但沒有配置DNS,這時需要直接從時間服務器的ip地址同步時間了。可以使用阿里云(ntp1.aliyun.com)的時間服務器ip直接同步,ntpdate 120.24.81.91,或者清華的時間服務器84.16.73.33。
服務器第一次同步時間顯示如下
[root@localhost ~]# ntpdate 120.24.81.9110 Aug 09:46:07 ntpdate[15071]: step time server 120.24.81.91 offset 1.423469 sec
之后每次執行同步時間命令顯示和第一次是不一樣的
[root@localhost ~]# ntpdate 120.24.81.9110 Aug 14:16:14 ntpdate[12150]: adjust time server 120.24.81.91 offset -0.030012 sec
假設A B兩臺Linux服務器。
A是開通了外網的,雖然沒配置DNS服務器,但能ping通120.24.81.91。
B沒開通外網,ping 120.24.81.91會報connect: Network is unreachable,這種肯定無法從外網服務器同步時間。如果執行ntpdate 120.24.81.91,會報no server suitable for synchronization found,或者no servers can be used, exiting。
最簡單的辦法是A從外網校正過時間后,把A配置成ntp服務器(NTP server),B從A同步時間。配置ntp服務器首先修改配置文件ntp.conf確保各項正確,然后執行# /etc/init.d/ntpd start啟動ntp服務器,等待5分鐘后,在B上執行# ntpdate AIP (AIP是A的內網IP地址),就可以同步A的系統時間到B,間接同步了外網時間。
配置A為NTP server,首先修改配置文件,配置文件/etc/ntp.conf修改完成后執行如下指令,除了192.168.2.0改成你自己局域網的網段,其余要求必須和下面一樣,有比下面多出的語句就注釋掉,沒有的語句就加上。
#cat /etc/ntp.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
restrict default ignore //#設置默認策略為允許任何主機進行時間同步
restrict 127.0.0.1 //給于本機所有權限
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap //給于局域網機的機器有同步時間的權限
server 0.127.127.1.0 //設置時間服務器為本機,可以設為120.24.81.91外網服務器
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
然后執行/etc/init.d/ntpd start,會顯示OK,表示成功。如果配置文件反復修改,執行/etc/init.d/ntpd restart更方便重新加載配置文件。
等待5分鐘,這個時間是給NTP server同步本機時間用的。然后再2.13上執行ntpdate 192.168.2.10
[root@DB1 ~]# ntpdate 192.168.2.10
10 Aug 13:35:59 ntpdate[10737]: adjust time server 192.168.2.10 offset 0.004937 sec
表示同步時間成功,多次執行offset會變小,要求不高的話,執行一次誤差就已經在千分之幾秒范圍內了。
如果ntpdate 192.168.2.10返回錯誤no server suitable for synchronization found,可能是NTP server本身時間還沒同步好。可以使用ntpdate –d serverIP指令查看。
[root@DB1 ~]# ntpdate -d 192.168.2.1010 Aug 13:28:07 ntpdate[10719]: ntpdate 4.2.0a@1.1190-r Thu Oct 5 04:11:32 EDT 2006 (1)Looking for host 192.168.2.10 and service ntphost found : 192.168.2.10transmit(192.168.2.10)receive(192.168.2.10)省略192.168.2.10: Server dropped: strata too highserver 192.168.2.10, port 123stratum 16, precision -20, leap 11, trust 000refid [192.168.2.10], delay 0.02573, dispersion 0.00000省略
有“Server dropped: strata too high”的提示,并且“stratum 16”。stratum的正常范圍是“0~15”。這是我們什么都不用做,等一段時間再執行指令試試,就會變成stratum 11, precision -20, leap 00, trust 000。stratum 11是正常范圍,此時執行ntpdate 192.168.2.10就成功校正時間了。
另外,A和B的防火墻都關閉,整個過程用root賬號操作。沒有配置A自動同步外網時間是出于安全考慮,B需要頻繁校正時間的話,crontab配置ntpdate指令可以達到目的。
crontab -e
9 7 * * * /usr/sbin/ntpdate 192.168.2.10
系統時間同步到硬件時間也都可以根據需要設定。硬件時間保持和系統時間一致的好處是可以避免重啟服務器后硬件時間覆蓋系統時間導致誤差。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。