2011年10月31日 星期一

CentOS NTP Server 架設心得

這一陣子在研究NTP Server的架設,不過一直對NTP_Server的Stratum階層架構弄不清礎,配合指令ntpstate和ntpq -p,裡頭顯示有關stratum的資訊更是弄的亂七八糟。好不容易設計幾個實驗,終於有點弄懂了,所以作個筆記,也順便與有興趣的朋友分享。

說明如下:
在安裝了ntp的套件之後,我們到NTP_Server的設定檔「/etc/ntp.conf』下作些編輯











A.這三行是原來設定檔的內容,我們將它先註解掉,再開始指定我們架設的本機NTP_Server的設定。自己用本機架設NTP_Server,理論上是要自己指定要與網路上的哪一個遠端NTP_Server作網路校時,如果這台遠端的NTP_Server的Stratum是5的話,那與它連線的其本機NTP_Server的Stratum應為6。所以這台遠端的NTP_Server,也被稱之為本機NTP_Server的上一層NTP_Server。

B.為了清礎釐清Stratum,所以我們只指定一台遠端的NTP_Server,而且我們知道這台遠端的NTP_Server (ntp.amnic.net)的Stratum=1。這可以從這個網址知道NTP_Server參考

C.本機NTP_Server預設也會以假裝本機是個Stratum=10的遠端NTP_Server,這樣如果連不上遠端的NTP_Server的話,本機NTP_Server就會連線自己,以本機時間來作網路校時。為了不讓這兩行影響我們要作的實驗,所以我們將這兩行加「#」號註解掉。讓本機的NTP_Server只跟Stratum=1的遠端NTP_Server作網路校時。

D.加入這一行,方便我們從本機NTP_Server的log資料來觀察。

2011年10月29日 星期六

Linux SSH Server設定檔(sshd_config)的心得

學過Linux的玩家都知道Linux可以安裝SSH-Server的服務,而該服務的設定檔是在「/etc/ssh/sshd_config」,不過筆者一開始有點搞不清礎設定檔的設定邏輯。後來經過一連串的試驗,終於弄清礎,所以將心得放上來紀錄一下。(人老了,記憶力會不好^__^)


▼下圖是ssh-server設定檔的部份內容:
套件:openssh-server的設定檔「sshd_config」


1號框框:裡頭說明,該設定檔用「#(commented)」為開頭來描述預設值為何,而如果將開頭的註解符號「#」拿掉,使用者就可以自己指定設定值。

2號框框:按1號框框的說明,我們可以揣摩出2號框框的意義是「SSH-Server預設是port:22作連線的服務。所以如果今天使用者想要更改port的位置為2222。此時有兩種方式來作設定,如下圖:
sshd對外連線所用的連接埠,在設定檔sshd_config的設置方式的正確方式













又如果我們希望除了預設的port:22作連線服務之外,還想額外增加port:2222也可以作為連線服務,此時可以如下圖的方式來設定:

實務上在設置sshd對外通訊連接埠的常用方式










結論:
         SSH-Server本身有預設的設定內容,全都「描述」在設定檔「/etc/ssh/sshd_config」裡頭,以「#」號作開頭。在這個檔案裡頭,其實「#」號開頭的內容只是作說明而已,對SSH-Server的運作來說,有沒有「#」號開頭的內容其實沒差。讀者可以試著把該檔的內容全部清除成空白,重新啟用sshd;會發現SSH-Server還可以正常以「預設值」來運作。
         不過如果設定檔內有『無#號開頭』的設定值,則以此設定值運作。

         因此,為了同時能紀錄SSH-Server的預設值,而又能自己指定設定值,最好的方式就是『保留有#號開頭的設定內容,將自己指定的設定值置放於該行之下,並且開頭不可有「#」號,這樣SSH-Sever才會以自己指定的設定值運作。如下:

#Port 22
Port2222