A. 如何在linux 上配置NTP 時間同步
一:NTP是網路時間同步協議,就是用來同步網路中各個計算機的時間的協議。
二:NTP服務端配置
2.1、檢查系統是否安裝了NTP包(linux系統一般自帶NTP4.2),沒有安裝我們直接使用yum命令在線安裝: yum install ntp
2.2、NTP服務端配置文件編輯: vim /etc/ntp.conf
結果:
restrict 控制相關許可權。
語法為: restrict IP地址 mask 子網掩碼 參數
其中IP地址也可以是default ,default 就是指所有的IP
參數有以下幾個:
ignore :關閉所有的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網路校時。
notrust :客戶端除非通過認證,否則該客戶端來源將被視為不信任子網
noquery :不提供客戶端的時間查詢:用戶端不能使用ntpq,ntpc等命令來查詢ntp伺服器
notrap :不提供trap遠端登陸:拒絕為匹配的主機提供模式 6 控制消息陷阱服務。陷阱服務是 ntpdq 控制消息協議的子系統,用於遠程事件日誌記錄程序。
nopeer :用於阻止主機嘗試與伺服器對等,並允許欺詐性伺服器控制時鍾
kod : 訪問違規時發送 KoD 包。
restrict -6 表示IPV6地址的許可權設置。
root@www ~]#vim /etc/ntp.conf# 1. 先處理許可權方面的問題,包括放行上層伺服器以及開放區網用戶來源:restrict default kod nomodify notrap nopeer noquery <==拒絕 IPv4 的用戶restrict -6 default kod nomodify notrap nopeer noquery <==拒絕 IPv6 的用戶restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 進入本 NTP 伺服器restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 進入本 NTP 伺服器restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 進入本 NTP 伺服器restrict 127.0.0.1 <==底下兩個是預設值,放行本機來源restrict -6 ::1restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行區網來源# 2. 設定主機來源,請先將原本的 [0|1|2].centos.pool.ntp.org 的設定註解掉:server 220.130.158.71 prefer <==以這部主機為最優先server 59.124.196.83server 59.124.196.84# 3.預設時間差異分析檔案與暫不用到的 keys 等,不需要更動它:driftfile /var/lib/ntp/driftkeys /etc/ntp/keys
ntpd、ntpdate的區別
下面是網上關於ntpd與ntpdate區別的相關資料。如下所示所示:
使用之前得弄清楚一個問題,ntpd與ntpdate在更新時間時有什麼區別。ntpd不僅僅是時間同步伺服器,它還可以做客戶端與標准時間伺服器進行同步時間,而且是平滑同步,並非ntpdate立即同步,在生產環境中慎用ntpdate,也正如此兩者不可同時運行。
時鍾的躍變,對於某些程序會導致很嚴重的問題。許多應用程序依賴連續的時鍾——畢竟,這是一項常見的假定,即,取得的時間是線性的,一些操作,例如資料庫事務,通常會地依賴這樣的事實:時間不會往回跳躍。不幸的是,ntpdate調整時間的方式就是我們所說的」躍變「:在獲得一個時間之後,ntpdate使用settimeofday(2)設置系統時間,這有幾個非常明顯的問題:
第一,這樣做不安全。ntpdate的設置依賴於ntp伺服器的安全性,攻擊者可以利用一些軟體設計上的缺陷,拿下ntp伺服器並令與其同步的伺服器執行某些消耗性的任務。由於ntpdate採用的方式是跳變,跟隨它的伺服器無法知道是否發生了異常(時間不一樣的時候,唯一的辦法是以伺服器為准)。
第二,這樣做不精確。一旦ntp伺服器宕機,跟隨它的伺服器也就會無法同步時間。與此不同,ntpd不僅能夠校準計算機的時間,而且能夠校準計算機的時鍾。
第三,這樣做不夠優雅。由於是跳變,而不是使時間變快或變慢,依賴時序的程序會出錯(例如,如果ntpdate發現你的時間快了,則可能會經歷兩個相同的時刻,對某些應用而言,這是致命的)。因而,唯一一個可以令時間發生跳變的點,是計算機剛剛啟動,但還沒有啟動很多服務的那個時候。其餘的時候,理想的做法是使用ntpd來校準時鍾,而不是調整計算機時鍾上的時間。
NTPD 在和時間伺服器的同步過程中,會把 BIOS 計時器的振盪頻率偏差——或者說 Local Clock 的自然漂移(drift)——記錄下來。這樣即使網路有問題,本機仍然能維持一個相當精確的走時。
B. linux 時間同步ntp問題,客戶端如何同步時間
解決方案:
在linux 上配置NTP 時間同步,具休操作步驟,整理如下:
1. 安裝軟體包(在服務端和客戶端):
yum install ntp
2. 伺服器端配置
例如:
首先,服務端設定IP地址為:192.168.146.110
修改ntp配置文件
vim /etc/ntp.conf
server 0.redhat.pool.ntp.org //設定上級伺服器
restrict 192.168.146.0 mask 255.255.255.0 nomodify //設定哪些client機器可以和ntp server進行同步
//啟動NTP服務前,手動校正一次時間
ntpdate 0.redhat.pool.ntp.org
service ntpd restart
chkconfig ntpd on
//查看ntp服務狀態
netstat -ln | grep 123
ntpstat
3.客戶端配置:
ntpdate 192.168.146.110 //與NTP server 同步時間
或者定期同步
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u 192.168.146.110 //每五分鍾同步一次
重啟crond服務/etc/init.d/crond restart
ntpq -p //查看同步狀態
C. 【ntp】NTP伺服器時間同步三部曲
在一台計算機上我們有兩個時鍾:一個稱之為硬體時間時鍾(RTC),還有一個稱之為系統時鍾(System Clock)。
系統時鍾就是操作系統的kernel所用來計算時間的時鍾. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數總和的值。
在Linux下,系統時間在開機的時候會和RTC硬體時鍾同步(synchronization),之後也就 各自獨立運行 了。
系統運行期間,則通過其他硬體時鍾源進行tick計算(tsc、hpet、acpi_pm)。
RTC(real time clock)通過主板(CMOS)的電磁供電,精確到秒。用戶可手工設置RTC時間。
1. 強制躍遷同步
ntpdate -u xx.xx.xx.xx
xx.xx.xx.xx 為ntpServer地址,如 ntp.aliyun.com
注意:此時本機的ntpd不能啟動,否則執行 ntpdate會報socket佔用
2. 將系統時間同步到硬體時鍾
hwclock -w
3. 啟動ntpd,後續平滑同步
systemctl start ntpd
注意:此時本機的不能在ntpd運行期間執行ntpdate,否則會報socket佔用
NTP伺服器時間監控腳本
https://www.yaoyan.me/2021/03/ntp-time-monitor/
使用Prometheus監控時間指標
http://www.panooo.com/prometheus_ntp
Linux時間子系統及node-exporter對時鍾的監控
https://www.cnblogs.com/danny-djy/p/14132436.html
真正讓你明白Linux NTP(包括歷史、參數解釋、安裝配置)
https://www.aboutyun.com/thread-11395-1-1.html
GaussDB(DWS)NTP變更指南
https://bbs.huaweicloud.com/blogs/detail/211403
NTP時鍾同步異常告警處理
https://support.huawei.com/enterprise/zh/knowledge/KB1000029535
chrony服務時間同步實驗
https://www.yaoyan.me/2021/03/Chrony/
NTP 服務概述
https://cloud.tencent.com/document/proct/213/30392
Linux 實例:配置 NTP 服務
https://cloud.tencent.com/document/proct/213/30393
Linux 實例:將 ntpdate 轉換為 ntpd
https://cloud.tencent.com/document/proct/213/45361
Redis 3.2.8集群部署實驗
https://www.yaoyan.me/2017/03/redis-cluster-setup/
Linux dns服務 bind安裝配置
https://www.yaoyan.me/2017/06/LinuxBind/
printf格式化輸出
https://www.yaoyan.me/2015/07/shell_printf/
NTP協議與SNTP協議的區別
https://www.ruijie.com.cn/fw/wt/18857/
SNTP- Simple Network Time Protocol簡單網路時間協議
https://www.syn029.com/h-nd-1881.html
https://hongwangle.com/terms-definition/time-server-terms-analysis/sntp-simple-network-time-protocol/
D. 時間同步 ntpdate 配合 crontab
/usr/sbin/ntpdate time-a.nist.gov s2m.time.e.cn ntp.sjtu.e.cn
首先使用 ntpdate 對時間進行網路更新(同步),可以同時指定多個時間伺服器,由 ntpdate 自動選擇
為了保證時鍾精確,我們可以把ntpdate命令放入crontab。但是,對於那些不是一直開啟的機器(比如便攜機),這個命令放入啟動腳本或手工運行更合適。
必須指出的是,ntpdate設置的是系統時鍾,但它不設置硬體時鍾(電池供電的時鍾)。要讓硬體時鍾反應系統時鍾的值,請使用如下命令:
2.自動時間同型跡慧步
(1)利用開機腳本進行同步
Vim /etc/rc.local
添加一條時間同步命令:/usr/sbin/ntpdate ntp.fudan.e
(2)利用周期進程(crontab)進行同步
Crontab 簡介
用法:
分時日月周命令
crontab -e 命令,進入一個VI的編輯界面,既可以添加或修改任務了
格式:
*/5 * * * *
為了保證時鍾精確,我們可以把ntpdate命令放入crontab。但是,對於那些不是一直開啟的機器(比如便攜機),這個命令放入啟動腳本或手工運行更合適。
必須指出的是,ntpdate設置的是系統時鍾,但它不設置硬體時鍾(州頌電池供電的時鍾)。要讓硬體時鍾反應系統時鍾的值,請使用如下命令:
# hwclock -systohc
2.自動時間同步
(1)利用開機腳本進行同步
Vim /etc/rc.local
添加一條時間同步命令:/usr/sbin/ntpdate ntp.fudan.e
(2)利用周期進程(crontab)進行同步
Crontab 簡介
用法:
分時日月周命令
crontab -e 命令,進入一個VI的編輯界面,既可以卜答添加或修改任務了
格式:
*/5 * * * * /usr/sbin/ntpdate time-a.nist.gov s2m.time.e.cn ntp.sjtu.e.cn &> /dev/null
Crontab –l 查看是否已經成功添加。
E. windows ntp時間同步命令
Ntp時間同步可以直接在windows裡面開啟設置即可,具體操作如下,
開啟 NTP Client 服務
1、打開 powershell 終端, 輸入:gpedit.msc,打開組策略管理器
2、執行上述命令後,計算機策略對話框打開,按照如下路徑 計算機配置\管理模板\系統\windows 時間服務\時間提供程序 找到伺服器設置文件
3、雙擊 配置 Windows NTP 客戶端,顯示 配置 Windows NTP 客戶端
4、將 Ntp Server項,輸入將要同步到的時間伺服器IP地址(這里輸入阿里雲的ntp伺服器地址: time.pool.aliyun.com),注意 0x9 或 0x1 必須要有;在 類型 項, 選擇 NTP;點擊 應用、確定 按鈕;
5、啟動 NTP 客戶端;啟用NTP客戶端;點擊 應用、確定 按鈕;
6、執行下面命令更新組策略
gpupdate /force
7、檢查W32Time服務是否啟動,啟動類型是否是 自動啟動
設置NTP伺服器地址,跟組策略一樣
在命令提示符下鍵入以下命令(PeerList 是以逗號分隔的DNS 名稱或時間源IP 地址列表):
C:\> w32tm /config /syncfromflags:MANUAL /manualpeerlist:"168.1.2.3,0x08 168.4.5.6,0x08" /update
C:\> w32tm /resync /rediscover
完成後輸入以下命令查看當前時間伺服器設置
C:\> w32tm /query /peers
可以進入命令行模式,查看當前Windows Time服務運行情況:
C:\>w32tm /query /status
手動啟動w32time服務
C:\>net start w32time
C:\>net stop w32time
(1)伺服器不能上網,當前環境有ntpd伺服器
在第4步里把ntp server的地址改為內網ntpd伺服器的地址即可
(2)伺服器必須要能上網,使用公網上的ntpd伺服器,例如阿里雲的ntpd伺服器
F. linux時間同步命令
linux時間同肢罩返步命令的悶嫌方法:
可以使用ntpdate命令。ntpdate命令使用網路時間協議(NTP)設置日期和時間,通過輪詢指定的確定正確時間的NTP伺服器來設置本地日期和時間。它從指定的每個伺服器獲得了一些樣本,並應用標准NTP時鍾過濾器歷飢和選擇演算法來選擇最好的樣本。命令格式:ntpdate時間伺服器。