發表文章

目前顯示的是 9月, 2014的文章

[RHCE] Network Monitor

圖片
NETSTAT netstat主要的功能可以掃描本機上目前開啟的port。 當某些連線服務無法正常運作時,管理者可以利用該指令查詢服務使用的port是否正常。輸入 #netstat [參數] 可以對本機端口進行觀察。 r: 列出路由表,這個參數的功能如同 #route 。 n:  列出查詢結果時不使用主機與服務名稱,使用IP與port number。 a:  列出所有的連線狀態,包括TCP、UPD等等。 t:  列出所有TCP的連線。 u:  列出所有UDP的連線。 l:  列出監聽(Listen)中的連線。 p:  列出使用這個port的PID與程序名稱。 c:  可以設定 -c [秒數] 每幾秒更新一次資訊。 在觀察netstat的查詢結果時,我們必須了解查詢出的結果代表什麼意思。 Proto: 該連線所使用的協定。 Recv-Q & Send-Q: 這個表示該連線目前的接收或者發送佇列,Q是Queue的意思。 這兩個值通常必須為0,或者短暫的非0狀況也是可以接受的, 但長期為非0,可能連線出現問題。Recv-Q表示本機接收的數據有多少bytes還在緩衝區,尚未被程序取走。如果一直為非0,可能主機已經遭到DOS攻擊。Send-Q表示由遠端主機所傳送而來,但不具有 ACK 標誌的總 bytes 數,例如遠端主動連線。如果為非0,可能遠端主機接收速度不夠快。 Local Address:  本地端的IP跟port。 Foreign Address:  目地端的IP跟port。 State:  該連線目前的狀態。      ESTABLISED:  已建立連線的狀態。      SYN_SENT:  發出主動連線 (SYN 標誌) 的連線封包。      SYN_RECV:  接收到一個要求連線的主動連線封包。      FIN_WAIT1:  該插槽服務已中斷,該連線正在斷線當中。      FIN_WAIT2:  該連線已掛斷,但正在等待對方主機回應斷線確認的封包。      TIME_WAIT:  該連線已掛斷,但 socket 還在網路上等待結束。      LISTEN:  通常用在服務的監聽 port 。 NMAP nmap是一套蠻有名的工具,功能剛好與netstat相反, 主要

[RHCE] Kernel Manage

圖片
KERNEL 核心是整個作業系統中最重要的部分,無論在Windows或Linux系統中。 核心主要的工作就是驅動主機的各項硬體的偵測程式與驅動模組。 簡單來說就是幫助使用者控制系統的硬體設備。我們可以使用 #uname [參數] 查詢當前系統的核心資訊。 a: 顯示系統的詳細資料,所有參數的資料都會被列出來。以我機器的資訊為例,主機使用的核心名稱為 Linux,而主機名稱為 localhost.localdomain。核心的版本為 3.10.0-123.6.3.el7.x86_64,該核心版本建立的日期為 2014/8/6。最後三個x86_64分別為m、p、i三個參數的查詢結果。 r: 核心的版本。 s: 核心的名稱。 m: 本系統的硬體名稱。 p: CPU的類型。 i: 適用的硬體平台。 隨著我們更換新的硬體,核心有時後也需要做更新的動作。首先我們必須先取得新版的kernel的rpm檔,接著可以使用yum或者rpm兩種方法更新。可以使用 #yum update kernel 或者 #rpm -ivh [核心rpm檔名稱] 來更新。使用yum更新完,若新版核心不是預設值,待確定新版穩定之後,可以修改/boot/grub/grub.conf。 使用rpm更新時,記得不要用 -U 或 -F , 否則如果新版不穩定時,你就沒有舊版可以使用了。同樣更新完,確定新版穩定之後,可以修改/boot/grub/grub.conf改變預設核心。 MODULE 談完了核心接著就必須說到模組(module),沒有這些模組核心就無法控制硬體。可以輸入 #lsmod 查詢目前系統所載入的模組有哪些,或者到/lib/modules下去查詢。輸入 #modprobe [模組名稱] 可以載入模組。輸入 #modprobe -r [模組名稱] 可以移除模組。修改/etc/modprobe.d/local.conf設定開機時載入的模組。

[RHCE] Deamon Manage

圖片
DAEMON 系統的服務我們會稱為service,例如httpd、ftpd等等, 而啟動這些服務的程序就稱為daemon。 daemon會在系統開機時執行,一般來說會在關機時結束。 daemon可以分成兩大類, 一類是可以獨立啟動的stand_alone。 例如httpd、ftpd等,不必透過其他機制就可以啟動,直到關閉前都會一直存在。這種daemon的好處在於對於用戶發送的要求反應較快,但是缺點是會一直佔據記憶體空間。 另一類是透過一個叫做xinetd的super daemon來管理其他的服務。 xinetd會在用戶連線時去呼叫對應的服務,當用戶離線就會關閉這些服務,如Telent、Tftp等。spuer daemon的好處在於減少服務呆滯在記憶體的時間,缺點是反應會比較慢一點。 SERVICE SCRIPT 管理員可以透過 #service [Script] [服務名稱] [參數] 去管理各種daemon。參數 start 、 stop 、 reatart 、 reload 可以對服務進行基本的控制。或者編輯service script對service進行進階的設定跟控制,系統的srevice script存放在/ect/init.d/中。 在之前提到過,我們可以在/etc/inittab中設定開機時的run level。 >>[RHCE課堂筆記] 開機<< 當設定完run level之後,我們就可以在/etc/rc.d中設定各run level下要啟動的service script。以我虛擬機中的rc5.d為例,也就是run level 5的設定。 我們可以看到這些檔案是用連結的方式連到/etc/init.d中的service script檔。每個檔名前面會多一個英文字以及兩個數字, K表示kill service,S表示start service。而之後的數字表示kill或者start的順序。 上面的例子會先啟動network,接著依序iprinit、iprupdate、iprdump,最後kill netconsole。 BOOT 管理者也可以針對這些服務,設定是否需要在系統啟動時執接執行。 #chkconfig [服務名稱] [on/off] 可以設定是否在當前run level啟動系統時執行。