更改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 服務器的故障。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM