OS : Debian 6.04
安裝套件
# apt-get install ntp
設定conf 檔
# cp /etc/ntp.conf.dpkg-dist /etc/ntp.conf
設定說明
1. 先處理權限方面的問題,包括放行上層伺服器以及開放區網用戶來源:
# vim /etc/ntp.conf
# restrict [你的IP] mask [netmask_IP] [parameter]
parameter 參數:
ignore : 拒絕所有類型的 NTP 連線;
nomodify: 用戶端不能使用 ntpc 與 ntpq 這兩支程式來修改伺服器的時間參數,
但用戶端仍可透過這部主機來進行網路校時的;
noquery:用戶端不能夠使用 ntpq, ntpc 等指令來查詢時間伺服器,等於不提供 NTP 的網路校時囉;
notrap: 不提供 trap 這個遠端事件登錄 (remote event logging) 的功能。
notrust: 拒絕沒有認證的用戶端。
無 : 表示『該 IP 或網段不受任何限制』的意思。
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 [IP or hostname] [prefer]
server 220.130.158.71 prefer <==以這部主機為最優先
server 59.124.196.83
server 59.124.196.84
3.預設時間差異分析檔案與暫不用到的 keys 等,不需要更動它:
# driftfile [可以被 ntpd 寫入的目錄與檔案]
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys 後面跟著的是存放 keys 資訊的檔案 .(Client 向 Server 連結的時候 , 可用 key 認證-ntp-keygen)
NTP 的啟動與觀察
1. 啟動 NTP
# /etc/init.d/ntpd start
# chkconfig ntpd on
# tail /var/log/messages <==自行檢查看看有無錯誤
# tail -f /var/log/syslog
2. 觀察啟動ntp-sever 的 123 埠口是否有開啟:
# netstat -tlunp |grep ntp
udp 0 0 192.168.15.161:123 0.0.0.0:* 1692/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 1692/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 1692/ntpd
udp6 0 0 fe80::20c:29ff:fe65:123 :::* 1692/ntpd
udp6 0 0 ::1:123 :::* 1692/ntpd
udp6 0 0 :::123 :::* 1692/ntpd
3.如何確認 NTP 伺服器有順利向上層連線後的更新本機的時間
列出目前 NTP-server 與相關的上層 NTP 的狀態
# ntpq -p
remote refid st t when poll reach delay offset jitter
========================================================================
*alqualonde.org 220.130.158.71 3 u 26 64 1 59.984 31.040 9.175
59-125-147-68.h 220.130.158.72 3 u 25 64 1 15.194 7.389 3.562
59-124-196-83.h 59.124.196.87 2 u 24 64 1 27.462 5.209 8.279
59-124-196-84.h 59.124.196.87 2 u 23 64 1 27.716 5.532 7.376
remote:亦即是 NTP 主機的 IP 或主機名稱囉~注意最左邊的符號
如果有『 * 』代表目前正在作用當中的上層 NTP
如果是『 + 』代表也有連上線,而且可作為下一個提供時間更新的候選者。
refid:參考的上一層 NTP 主機的位址
st:就是 stratum 階層囉!
when:幾秒鐘前曾經做過時間同步化更新的動作;
poll:下一次更新在幾秒鐘之後;
reach:已經向上層 NTP 伺服器要求更新的次數
delay:網路傳輸過程當中延遲的時間,單位為 10^(-6) 秒
offset:時間補償的結果,單位與 10^(-3) 秒
jitter:Linux 系統時間與 BIOS 硬體時間的差異時間, 單位為 10^(-6) 秒。
其它補充說明
用手動寫入校對時間
# crontab -e
0 0 * * * /usr/sbin/ntpdate time.stdtime.gov.tw && /sbin/hwclock -w
ntpdate:與 NTP Server 進行時間同步的指令,後面接的是所要同步的 NTP Server。
hwclock:可讀取 BIOS 的時間及將時間寫入 BIOS。
參考網站 :
ntp-keygen
沒有留言:
張貼留言