jin*_*wow 5 dhcp ubuntu logging hosts isc-dhcp
我目前在 Ubuntu 8.04 上运行 ISC-DHCP 服务器 v3。我想要做的是记录谁在什么时候得到了什么 IP 地址。
当前在 DHCP 日志文件中,您可以看到以下内容:
DHCPDISCOVER from d0:50:56:ac:74:71 via eth0
DHCPOFFER on 208.x.x.75 to d0:50:56:ac:74:71 via eth0
DHCPREQUEST for 208.x.x.75 (172.18.1.2) from d0:50:56:ac:74:71 via eth0
DHCPACK on 208.x.x.75 to d0:50:56:ac:74:71 via eth0
Run Code Online (Sandbox Code Playgroud)
我想说到我看到这个或类似的东西的地步:
DHCPDISCOVER from d0:50:56:ac:74:71 via eth0
DHCPOFFER on 208.x.x.75 to d0:50:56:ac:74:71 via eth0
DHCPREQUEST for 208.x.x.75 (172.18.1.2) from d0:50:56:ac:74:71 via eth0
DHCPACK on 208.x.x.75 to d0:50:56:ac:74:71 (TestPC001) via eth0
Run Code Online (Sandbox Code Playgroud)
为了历史目的,我需要记录获得 IP 地址的主机(日志文件有时间戳,但我在这篇文章中删除了它们)。
在我的 dhcpd.conf 文件中,我有以下主机声明:
host TestPC001 {
hardware ethernet d0:50:56:ac:74:71;
fixed-address 208.x.x.75;
}
Run Code Online (Sandbox Code Playgroud)
如果有人知道如何使用 DHCP3 做到这一点会很棒,我愿意接受有关将执行此操作的 3rd 方应用程序的建议。需要注意的一件事是,dhcpd.conf 文件是使用执行 RADIUS 的 3rd 方应用程序动态生成的,因此主机声明可以并且将会更改,因此如果网络上有人出现问题,我不能仅仅查看文件并得到他们的名字。
我已经想通了。
将以下内容添加到 dhcpd.conf 文件中
if known {
log (info, concat ("HOSTNAME: ", host-decl-name, " on ",binary-to-ascii (10, 8, ".", leased-address)," at ", binary-to-ascii (16, 8, ":", substring (hardware, 1, 6))));
}
Run Code Online (Sandbox Code Playgroud)
将导致(为了简洁起见,我删除了时间戳):
HOSTNAME: TestPC001 on 208.x.x.75 at d0:50:56:ac:74:71
DHCPDISCOVER from d0:50:56:ac:74:71 via eth0
DHCPOFFER on 208.x.x.75 to d0:50:56:ac:74:71 via eth0
DHCPREQUEST for 208.x.x.75 (172.18.1.2) from d0:50:56:ac:74:71 via eth0
DHCPACK on 208.x.x.75 to d0:50:56:ac:74:71 via eth0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7693 次 |
| 最近记录: |