DHCP 日誌分析linux
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一種有效的IP 地址分配手段,現已經被普遍地應用在各類局域網管理。它能動態地向網絡中每臺計算機分配惟一的IP 地址,並提供安全、可靠、簡單和統一的TCP/IP網絡配置,確保不發生IP地址衝突。當在服務器上啓用DHCP後,咱們但願瞭解服務的運行狀況,但願看到詳細日誌。能夠經過下面的命令瞭解到dhcp server的日誌文件在什麼地方。以RHEL系統爲例,命令以下:安全
DHCP服務的默認日誌不會輸出到指定文件,而是和NFS服務同樣,輸出到/var/log/messages文件中,成了日誌的大雜燴,不便於分辨,也不便於查找故障,一旦messages文件遭到破壞,DHCP的日誌也跟着受影響。服務器
wKiom1TbD_jj1VZ8AAWFPjgF4d0399.jpg
對於以上日誌咱們能夠把在1.2節學到的腳本放到這裏進行分析。還有沒有其餘什麼文件,記錄了DHCP的分配IP的信息呢?那就是/var/lib/dhcp/db/dhcpd.leases文件,它記錄了客戶機分配IP的詳細信息。下面咱們經過一個例子解讀一下。
客戶機每次獲取地址後會產生以下信息:
Lease 192.168.150.207 {
Starts 12012/12/31 11:23:32
End 1 2012/12/31 11:25:32;
Tstp 1 2012/12/31 11:25:32;
Cltt 1 2012/12/31 11:25:32;
Bindingstate free;
Hardwareethernet 00:0c:29:51:b3:d9;
Uid「\001\000\014)Q\263\331」;
Client-hostname 「linux-5jlv」;
}
每當發生租約變化的時候,都會在文件結尾添加新的租約記錄,也就是說這個文件是在不斷變化的。表1作出解釋。
表1 DHCP日誌含義
參數
含義網絡
Lease
租用IP日誌
starts
開始時間code
end
結束時間orm
tstp
指定租約過時時間server
cltt
客戶端續約時間ci
Binding state
租約綁定狀態自由(free)、激活(active)get
Hardware ethernet
客戶機網卡MAC地址
UID
客戶端標識符由三位八進制表示用於與MAC匹配
Client-hostname
客戶機名稱
從上面分析看到,DHCP服務器的日誌在messages和dhcpd.leases裏分別有一部分都不全面,如何將DHCP的日誌專門轉儲到特定文件中呢?下面介紹一種方法。
假設咱們須要將日誌記錄在/var/log/目錄下,咱們先touch一個dhcp.log文件。
1).建立dhcp.log文件
2).修改/etc/dhcpd.conf配置文件,而後保存並退出。(注意不一樣Linux發行版配置文件路徑有所不一樣)
log-facility local4;
3).在/etc/rsyslog.conf文件中添加
Local4.* /var/log/dhcp.log
注意要把下面這行語句註銷
Local4,local5.* -var/log/localmessages;RSYSLOG_TraditionalFileFormat
重啓DHCP服務便可生效,這時的日誌文件就是DHCP服務器出現故障後排除錯誤的一個重要基礎數據。因此,咱們還須要按期對這個日誌文件做好備份工做。不然,當這個日誌意外丟失後,咱們就很難查清DHCP服務器的故障。
另外,對於Windows Server 平臺DHCP日誌,請參考http://support.microsoft.com/kb/298367/zh-cn。
更多日誌分析精彩實戰請參考《UNIX/Linux網絡日誌分析與流量監控》一書