Linux设置ntp服务

ntp server:


1.编辑 ntp 服务器的配置文件 /etc/ntp.conf:

	server 127.127.1.0      #把本机作为ntp服务端
	fudge 127.127.1.0 stratum 0     #这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0

2.重启ntp服务:

service ntp restart(Ubuntu)

service ntpd restart(CentOS)

systemctl restart ntpd(CentOS7.X)

3.ntp服务器的防火墙放行ntp端口:

iptables -I INPUT -p udp --dport 123 -j ACCEPT


ntp client:


1.编辑 ntp客户端 的配置文件 /etc/ntp.conf:
server server_ip

2.启动后,一般需要5-10分钟左右的时候才能与外部时间服务器开始同步时间。可以通过命令查询NTPD服务情况。

ntpq –p

ntpdate ntpserverIP  查看能否同步成功:


时区错误,ntpdate之后也是一样,北京时间应该是CST

$ date

Wed Dec  3 00:20:06 EST 2008

这个时间是不对的,明显时区错误“EST”,这时你需要这么做:

$ cp /usr/share/zoneinfo/Asia/shanghai /etc/localtime

这就是把该时区文件覆盖localtime。OK 然后你在对准时间一下吧!

$ ntpdate 0.rhel.pool.ntp.org

搞定!
再保存一下


hwclock -w





ntp配置文件详解(以下转载自鸟哥的linux私房菜http://linux.vbird.org/linux_server/0440ntp.php#server_ntp.conf):

利用 restrict來管理權限控制

ntp.conf檔案內可以利用『restrict』來控管權限,這個參數的設定方式為:

restrict [放行IP] mask [netmask_IP] [parameter]

其中 parameter的參數主要有底下這些:

  • ignore: 拒絕所有類型的 NTP連線;
  • nomodify: 用戶端不能使用 ntpc ntpq這兩支程式來修改伺服器的時間參數, 但用戶端仍可透過這部主機來進行網路校時的;
  • noquery: 用戶端不能夠使用 ntpq, ntpc等指令來查詢時間伺服器,等於不提供 NTP的網路校時囉;
  • notrap: 不提供 trap這個遠端事件登錄 (remote event logging)的功能。
  • notrust: 拒絕沒有認證的用戶端。

那如果你沒有在parameter的地方加上任何參數的話,這表示『該 IP或網段不受任何限制』的意思喔!一般來說,我們可以先關閉 NTP的使用權限,然後再一個一個的啟用允許登入的網段。

 

利用 server設定上層 NTP伺服器

上層 NTP伺服器的設定方式為:

server [IP or hostname] [prefer]

server後端可以接 IP或主機名稱,鳥哥個人比較喜歡使用 IP來設定說!至於那個 perfer表示『優先使用』的伺服器囉~有夠簡單吧!

driftfile記錄時間差異

設定的方式如下:

driftfile [可以被 ntpd寫入的目錄與檔案]

因為預設的 NTP Server本身的時間計算是依據 BIOS的晶片震盪週期頻率來計算的,但是這個數值與上層Time Server不見得會一致啊!所以 NTP這個 daemon (ntpd)會自動的去計算我們自己主機的頻率與上層 Time server的頻率,並且將兩個頻率的誤差記錄下來,記錄下來的檔案就是在driftfile後面接的完整檔名當中了!關於檔名你必須要知道:

  • driftfile 後面接的檔案需要使用完整路徑檔名;
  • 該檔案不能是連結檔;
  • 該檔案需要設定成 ntpd這個 daemon可以寫入的權限。
  • 該檔案所記錄的數值單位為:百萬分之一秒 (ppm)

driftfile後面接的檔案會被 ntpd自動更新,所以他的權限一定要能夠讓 ntpd寫入才行。在 CentOS 6.x預設的 NTP 伺服器中,使用的 ntpdowner ntp,這部份可以查閱/etc/sysconfig/ntpd就可以知道啦!

 

根據上面的說明,我們最終可以取得這樣的設定檔案內容喔 (底下僅修改部分資料,保留大部分的設定值喔)

[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 ::1

restrict 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.83

server 59.124.196.84

server 127.127.1.0           <==本机作为ntp服务端

fudge 127.127.1.0 stratum 0  <==优先级别,0为最高级

 

# 3.預設時間差異分析檔案與暫不用到的 keys等,不需要更動它:

driftfile /var/lib/ntp/drift

keys     /etc/ntp/keys

這樣就設定妥當了,準備來啟動 NTP服務吧!

你可能感兴趣的:(Linux设置ntp服务)