有時候內網服務器不能訪問外網時間同步服務器,內網的機器和設備又需要時間同步,就需要安裝NTP服務來同步時間。
環境:CentOS 7
1、安裝NTP服務
yum -y install ntp
2、配置文件
服務端:
#添加本節點IP地址 restrict 192.168.0.158 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 #添加節點所在網關和掩碼 restrict 192.168.0.1 mask 255.255.0.0 #指定本ntp服務器的上游ntp服務器為阿里雲NTP服務器。同步時間為:從上到下,寫的越靠上,優先級越高。(此服務器同步不了時間,尋找下一個ntp服務器) #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server ntp.aliyun.com server cn.ntp.org.cn server 127.127.1.0 fudge 127.127.1.0 stratum 10 #local clock 如果上面的服務器都無法同步時間,就和本地系統時間同步。127.127.1.0在這里是一個IP地址,不是網段。 #127.127.1.0 為第10層。ntp 和127.127.1.0同步完后,就變成了11層。 ntp是層次階級的。同步上層服務器的stratum 大小不能超過或等於16。
客戶端配置
vi /etc/ntp.conf #添加本節點IP地址 restrict 192.168.0.160 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 #添加節點所在網關和掩碼 restrict 192.168.0.1 mask 255.255.0.0 #作為客戶端,配置同步到內網的NTP服務器 #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 192.168.0.158 fudge 192.168.0.158 stratum 10
3、啟動服務
#開啟服務 systemctl start ntpd.service #停止服務 systemctl stop ntpd.service #開機啟動 systemctl enable ntpd.service
4、查看狀態
#查看狀態ntpstat ntpstat #查看ntp服務器與上層ntp的狀態 ntpq -p remote:本機和上層ntp的ip或主機名,“+”表示優先,“*”表示次優先 refid:參考上一層ntp主機地址 st:stratum階層 when:多少秒前曾經同步過時間 poll:下次更新在多少秒后 reach:已經向上層ntp服務器要求更新的次數 delay:網絡延遲 offset:時間補償 jitter:系統時間與bios時間差
5、restrict選項格式
restrict [ 客戶端IP ] mask [ IP掩碼 ] [參數] “客戶端IP” 和 “IP掩碼” 指定了對網絡中哪些范圍的計算機進行控制,如果使用default關鍵字,則表示對所有的計算機進行控制,參數指定了具體的限制內容,常見的參數如下: ignore:拒絕連接到NTP服務器 nomodiy: 客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網絡校時。 noquery: 不提供客戶端的時間查詢 notrap: 不提供trap遠程登錄功能,trap服務是一種遠程時間日志服務。 notrust: 客戶端除非通過認證,否則該客戶端來源將被視為不信任子網 。 nopeer: 提供時間服務,但不作為對等體。 kod: 向不安全的訪問者發送Kiss-Of-Death報文。
6、server選項格式
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ] 其中host是上層NTP服務器的IP地址或域名,隨后所跟的參數解釋如下所示: key: 表示所有發往服務器的報文包含有秘鑰加密的認證信息,n是32位的整數,表示秘鑰號。 version: 表示發往上層服務器的報文使用的版本號,n默認是3,可以是1或者2。 prefer: 如果有多個server選項,具有該參數的服務器有限使用。 mode: 指定數據報文mode字段的值。 minpoll: 指定與查詢該服務器的最小時間間隔為2的n次方秒,n默認為6,范圍為4-14。 maxpoll: 指定與查詢該服務器的最大時間間隔為2的n次方秒,n默認為10,范圍為4-14。 iburst: 當初始同步請求時,采用突發方式接連發送8個報文,時間間隔為2秒。
網上的一個配置參考:
# 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 ::1 restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域網用戶來源,或者列出單獨IP # 2. 設定主機來源,請先將原本的 [0|1|2].centos.pool.ntp.org 的設定批注掉: server 220.130.158.71 prefer <==以這部主機為最優先的server server 59.124.196.83 server 59.124.196.84 # 3.默認的一個內部時鍾數據,用在沒有外部 NTP 服務器時,使用它為局域網用戶提供服務: # server 127.127.1.0 # local clock # fudge 127.127.1.0 stratum 10 # 4.預設時間差異分析檔案與暫不用到的 keys 等,不需要更動它: driftfile /var/lib/ntp/drift keys /etc/ntp/keys