更改DHCP服務器默認日誌存儲位置
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服務器默認日誌存儲位置