1. 程式人生 > >更改DHCP服務器默認日誌存儲位置

更改DHCP服務器默認日誌存儲位置

pan ESS 服務器 ima 目的 start 主機 產生 http

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一種有效的IP 地址分配手段,已經廣泛地應用於各種局域網管理。它能動態地向網絡中每臺計算機分配唯一的IP 地址,並提供安全、可靠、簡單和統一的TCP/IP 網絡配置,確保不發生IP 地址沖突。當在服務器上啟用DHCP 後,我們希望了解服務的運行情況,希望看到詳細日誌。可以通過下面的命令了解到DHCP 服務的日誌文件在什麽地方。

以CentOS6.9系統為例,查看是否安裝了DHCP服務,命令如下:

rpm -qa | grep dhcp

技術分享圖片

DHCP 服務的默認日誌不會輸出到指定文件,而是和NFS 服務一樣,輸出到/var/log/messages 文件中,成了日誌的大雜燴,不便於分辨,更不便於查找故障,一旦messages文件遭到破壞,DHCP 日誌也跟著受影響。

那麽還有沒有其他什麽文件,記錄了DHCP 的分配IP 的信息呢?那就是/var/lib/dhcpd/dhcpd.leases文件,它記錄了客戶機分配IP的詳細信息。下面我們進入/var/lib/dhcpd/dhcpd.leases這個文件看一下。

客戶機每次獲取地址後會產生如下信息:

技術分享圖片

每當發生租約變化的時候,都會在文件結尾添加新的租約記錄,也就是說這個文件是在不斷變化的。

從上面分析看到,DHCP 服務器的日誌在messages和dhcpd.leases裏分別有一部分,都不全面。如何將DHCP 的日誌專門轉儲到特定文件中呢?下面介紹一種方法。

假設需要將日誌記錄在/var/log/目錄下,則可以先用touch命令創建一個dhcpd.log 文件。

1)創建dhcpd.log 文件

touch /var/log/dhcpd.log

chmod 600 /var/log/dhcpd.log

2)修改/etc/dhcp/dhcpd.conf配置文件,在最後添加“log-facility”參數並賦值為local4,內容如下:

log-facility local4;

技術分享圖片

然後保存退出(不同Linux 發行版配置文件路徑有所不同)。

3)在 /etc/rsyslog.conf 配置文件最後添加

# Save dhcpd messages also to dhcpd.log
local4.* /var/log/dhcpd.log

技術分享圖片

將下面這條

*.info;mail.none;authpriv.none;cron.none /var/log/messages

改為:

*.info;mail.none;authpriv.none;cron.none;local4.none /var/log/messages

目的是把消息傳送到/var/log/messages 文件,而不再向local4 傳送。

技術分享圖片

註意要把下面這行語句註銷:

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

技術分享圖片

4)重啟Rsyslog 和DHCP 服務

service rsyslog restart

service dhcpd restart

tail -f /var/log/dhcpd.conf # 即時輸出文件變化後追加的數據

tail -f /var/log/messges

重啟DHCP 服務即可生效,這時的日誌文件就是DHCP服務器出現故障後排除錯誤的一個重要基礎數據。所以需要定期對這個日誌文件作好備份工作。否則,當這個日誌意外丟失後,就很難查清DHCP 服務器的故障。

更改DHCP服務器默認日誌存儲位置