<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 15.2 NTP 服務器的安裝與設定 NTP 服務器也是一個很容易就可以架設成功的玩意兒,不過這個軟件在不同的 distribution 上面可能有不一樣的名稱, 你要作的其實就是將他安裝起來之后,規定一部上層 NTP 服務器來同步化你的時間即可啊! 如果你只是想要進行你自己單部主機的時間同步化,別架設 NTP ,直接使用 NTP 客戶端軟件即可喔! * * * ### 15.2.1 所需軟件與軟件結構 在 CentOS 6.x 上頭,你所需要的軟件其實僅有 ntp 這個玩意兒而已,請自行使用 rpm 去找找看,若沒有安裝,請利用 yum install ntp 即可啊!不過,我們還需要時區相關的數據文件,所以你需要的軟件有: * ntp: 就是 NTP 服務器的主要軟件啦,包括配置文件以及執行檔等等。 * tzdata: 軟件名稱為『 Time Zone data 』的縮寫,提供各時區對應的顯示格式。 與時間及 NTP 服務器設定相關的配置文件與重要數據文件有底下幾個: * /etc/ntp.conf: 就是 NTP 服務器的主要配置文件,也是唯一的一個; * /usr/share/zoneinfo/: 由 tzdata 所提供,為各時區的時間格式對應檔。 例如臺灣地區的時區格式對應檔案在 /usr/share/zoneinfo/Asia/Taipei 就是了!這個目錄里面的檔案與底下要談的兩個檔案 (clock 與 localtime) 是有關系的喔! * /etc/sysconfig/clock: 設定時區與是否使用 UTC 時間鐘的配置文件。 每次開機后 Linux 會自動的讀取這個檔案來設定自己系統所默認要顯示的時間說!舉個例子來說, 在我們臺灣地區的本地時間設定中,這個檔案內應該會出現一行『ZONE="Asia/Taipei"』的字樣, 這表示我們的時間配置文件案『要取用 /usr/share/zoneinfo/Asia/Taipei 那個檔案』的意思! * /etc/localtime: 這個檔案就是『本地端的時間配置文件』啦!剛剛那個 clock 檔案里面規定了使用的時間配置文件 (ZONE) 為 /usr/share/zoneinfo/Asia/Taipei ,所以說這就是本地端的時間了,此時 Linux 系統就會將 Taipei 那個檔案復制一份成為 /etc/localtime ,所以未來我們的時間顯示就會以 Taipei 那個時間配置文件案為準。 至于在常用于時間服務器與修改時間的指令方面,主要有底下這幾個啦: * /bin/date: 用于 Linux 時間 (軟件時鐘) 的修改與顯示的指令; * /sbin/hwclock: 用于 BIOS 時鐘 (硬件時鐘) 的修改與顯示的指令。 這是一個 root 才能執行的指令,因為 Linux 系統上面 BIOS 時間與 Linux 系統時間是分開的,所以使用 date 這個指令調整了時間之后,還需要使用 hwclock 才能將修改過后的時間寫入 BIOS 當中! * /usr/sbin/ntpd: 主要提供 NTP 服務的程序啰!配置文件為 /etc/ntp.conf * /usr/sbin/ntpdate: 用于客戶端的時間校正,如果你沒有要啟用 NTP 而僅想要使用 NTP Client 功能的話,那么只會用到這個指令而已啦! 例題:假設你的筆記本電腦安裝 CentOS 這套系統,而且選擇的時區為臺灣。現在,你將有一個月的時間要出差到美國的紐約去, 你會帶著這個筆電,那么到了美國之后,時間會不一致啊!你該如何手動的調整時間參數呢?答:因為時區數據文件在 /usr/share/zoneinfo 內,在該目錄內會找到 /usr/share/zoneinfo/America/New_York 這個時區檔。 而時區配置文件在 /etc/sysconfig/clock ,且目前的時間格式在 /etc/localtime ,所以你應該這樣做: ``` [root@www ~]# date Thu Jul 28 15:08:39 CST 2011 &lt;==重點是 CST 這個時區喔! [root@www ~]# vim /etc/sysconfig/clock ZONE="America/New_York" &lt;==改的是這里啦! [root@www ~]# cp /usr/share/zoneinfo/America/New_York /etc/localtime [root@www ~]# date Thu Jul 28 03:09:21 EDT 2011 &lt;==時區與時間都改變了! ``` 這個范例做完之后,記得將這兩個檔案改回來!不然以后你的時間都是美國時間啦! 接下來,我們先來談一談如何設計那個 /etc/ntp.conf 吧! * * * ### 15.2.2 主要配置文件 ntp.conf 的處理 由于 NTP 服務器的設定需要有上游服務器的支持才行,因此請回頭參考一下 [15.1.4](#theory_NTP) 及 [15.1.5](#theory_stratum) 的介紹,這樣才能夠理解為何底下的設定是這樣呦!好了,我假設俺的 NTP 服務器所需要設定的架構如下: * 我的上層 NTP 服務器共有 tock.stdtime.gov.tw, tick.stdtime.gov.tw, time.stdtime.gov.tw 三部,其中以 tock.stdtime.gov.tw 最優先使用 (prefer); * 不對 Internet 提供服務,僅允許來自內部網域 192.168.100.0/24 的查詢而已; * 偵測一些 BIOS 時鐘與 Linux 系統時間的差異并寫入 /var/lib/ntp/drift 檔案當中。 好了,先讓我們談一談如何在 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 服務器中,使用的 ntpd 的 owner 是 ntp ,這部份可以查閱 /etc/sysconfig/ntpd 就可以知道啦! * keys [key_file] 除了以 restrict 來限制客戶端的聯機之外,我們也可以透過密鑰系統來給客戶端認證, 如此一來可以讓主機端更放心了。不過在這個章節里面我們暫不討論這個部分,有興趣的朋友可以參考 ntp-keygen 這個指令的相關說明喔! * * * 根據上面的說明,我們最終可以取得這樣的配置文件案內容喔 (底下僅修改部分數據,保留大部分的設定值喔)! ``` [root@www ~]# vim /etc/ntp.conf # 1\. 先處理權限方面的問題,包括放行上層服務器以及開放區網用戶來源: restrict default kod nomodify notrap nopeer noquery &lt;==拒絕 IPv4 的用戶 restrict -6 default kod nomodify notrap nopeer noquery &lt;==拒絕 IPv6 的用戶 restrict 220.130.158.71 &lt;==放行 tock.stdtime.gov.tw 進入本 NTP 服務器 restrict 59.124.196.83 &lt;==放行 tick.stdtime.gov.tw 進入本 NTP 服務器 restrict 59.124.196.84 &lt;==放行 time.stdtime.gov.tw 進入本 NTP 服務器 restrict 127.0.0.1 &lt;==底下兩個是默認值,放行本機來源 restrict -6 ::1 restrict 192.168.100.0 mask 255.255.255.0 nomodify &lt;==放行區網來源 # 2\. 設定主機來源,請先將原本的 [0&#124;1&#124;2].centos.pool.ntp.org 的設定批注掉: server 220.130.158.71 prefer &lt;==以這部主機為最優先 server 59.124.196.83 server 59.124.196.84 # 3.預設時間差異分析檔案與暫不用到的 keys 等,不需要更動它: driftfile /var/lib/ntp/drift keys /etc/ntp/keys ``` 這樣就設定妥當了,準備來啟動 NTP 服務吧! * * * ### 15.2.3 NTP 的啟動與觀察 設定完 ntp.conf 之后就可以啟動 ntp 服務器了。啟動與觀察的方式如下: ``` # 1\. 啟動 NTP [root@www ~]# /etc/init.d/ntpd start [root@www ~]# chkconfig ntpd on [root@www ~]# tail /var/log/messages &lt;==自行檢查看看有無錯誤 # 2\. 觀察啟動的埠口看看: [root@www ~]# netstat -tlunp &#124; grep ntp Proto Recv-Q Send-Q Local Address Foreign Address PID/Program name udp 0 0 192.168.100.254:123 0.0.0.0:* 3492/ntpd udp 0 0 192.168.1.100:123 0.0.0.0:* 3492/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 3492/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 3492/ntpd udp 0 0 ::1:123 :::* 3492/ntpd udp 0 0 :::123 :::* 3492/ntpd # 主要是 UDP 封包,且在 port 123 這個埠口的啦! ``` 這樣就表示我們的 NTP 服務器已經啟動了,不過要與上層 NTP 服務器聯機則還需要一些時間, 通常啟動 NTP 后約在 15 分鐘內才會和上層 NTP 服務器順利連接上。 那要如何確認我們的 NTP 服務器有順利的更新自己的時間呢?你可以使用底下幾個指令來查閱喔 (請自行等待數分鐘后再以下列指令查閱): ``` [root@www ~]# ntpstat synchronised to NTP server (220.130.158.71) at stratum 3 time correct to within 538 ms polling server every 128 s ``` 這個指令可以列出我們的 NTP 服務器有跟上層聯機否。由上述的輸出結果可以知道,時間有校正約 538 * 10^(-3) 秒,且每隔 64 秒會主動去更新時間喔! ``` [root@www ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *tock.stdtime.go 59.124.196.87 2 u 19 128 377 12.092 -0.953 0.942 +59-124-196-83.H 59.124.196.86 2 u 8 128 377 14.154 7.616 1.533 +59-124-196-84.H 59.124.196.86 2 u 2 128 377 14.524 4.354 1.079 ``` 這個 ntpq -p 可以列出目前我們的 NTP 與相關的上層 NTP 的狀態,上頭的幾個字段的意義為: * remote:亦即是 NTP 主機的 IP 或主機名啰~注意最左邊的符號 * 如果有『 * 』代表目前正在作用當中的上層 NTP * 如果是『 + 』代表也有連上線,而且可作為下一個提供時間更新的候選者。 * refid:參考的上一層 NTP 主機的地址 * st:就是 stratum 階層啰! * when:幾秒鐘前曾經做過時間同步化更新的動作; * poll:下一次更新在幾秒鐘之后; * reach:已經向上層 NTP 服務器要求更新的次數 * delay:網絡傳輸過程當中延遲的時間,單位為 10^(-6) 秒 * offset:時間補償的結果,單位與 10^(-3) 秒 * jitter:Linux 系統時間與 BIOS 硬件時間的差異時間, 單位為 10^(-6) 秒。 事實上這個輸出的結果告訴我們,時間真的很準了啦!因為差異都在 0.001 秒以內, 可以符合我們的一般使用了。另外,你也可以檢查一下你的 BIOS 時間與 Linux 系統時間的差異, 就是 /var/lib/ntp/drift 這個檔案的內容,就能了解到咱們的 Linux 系統時間與 BIOS 硬件時鐘到底差多久?單位為 10^(-6) 秒啦! 要讓你的 NTP Server/Client 真的能運作,在上述的動作中得注意: * 上述的 ntpstat 以及 ntpq -p 的輸出結果中,你的 NTP 服務器真的要能夠連結上層 NTP 才行喔! 否則你的客戶端將無法對你的 NTP 服務器進行同步更新的!重要重要! * 你的 NTP 服務器時間不可與上層差異太多。舉例來說,鳥哥測試 NTP 服務器約在 2011/7/28 下午, 如果我的服務器時間原本是錯誤的 2010/7/28,足足差了一年,那么上層服務器恐怕就不會將正確的時間傳給我! 這時就會造成困擾了! * 服務器防火墻在 UDP port 123 有沒有開啊?要特別注意的呢! * 等待的時間夠不夠長?鳥哥設定 NTP 等過最久的時間大約是一小時!你有等這么久過否? * * * ### 15.2.4 安全性設定 NTP 服務器在安全的相關性方面,其實剛剛我們在 /etc/ntp.conf 里面的 restrict 參數中就已經設定了 NTP 這個 daemon 的服務限制范圍了!不過,在防火墻 iptables 的部分,還是需要開啟聯機監聽的啦!所以,在你的 iptables 規則的 scripts 當中,需要加入這一段 (我是以開放 192.168.100.0/24 這個網域作為范例的!) ``` [root@www ~]# vim /usr/local/virus/iptables/iptables.allow iptables -A INPUT -i $EXTIF -p udp -s 192.168.100.0/24 --dport 123 -j ACCEPT [root@www ~]# /usr/local/virus/iptables/iptables.rule ``` 若還要開放其他的網段或者客戶端主機,請自行修改 /etc/ntpd.conf 以及你的防火墻機制咯! * * *
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看