我们正在网络中实施选项 82,而我只是触及了如何设置服务器的皮毛。我已成功根据数据包中包含的代理电路 ID 创建了我的第一个选项 82 ACL,现在我只需要指导如何将选项 82 数据放入日志中。这是我在服务器上的 O82 设置:
## Option 82 Class
class "myvendor" {
match if option agent.circuit-id = 00:04:00:6b:00:84;
}
# Test Option 82 logging
if exists agent.circuit-id
{
log (info, concat( "Lease for ", option agent.circuit-id (leased-address), "is an address assigned using Option82"));
}
pool {
allow members of "myvendor";
range x.x.x.x x.x.x.x;
}
我遇到的问题是,当我在重新启动 dhcpd 之前检查配置时出现错误:
etc/dhcp/dhcpd.conf line 135: right parenthesis expected.
log (info, concat( "Lease for ", option agent.circuit-id (
^
有人能告诉我我做错了什么以及如何修复此错误吗?我尝试了多个括号位置和配置,但它一直在抱怨它们。
答案1
我假设您想要有如下日志行:
租约 <ip 地址>,电路 ID <circuit-id> 使用 Option82 分配
我想这应该可行:
日志(信息,连接( “租 ”, 二进制转 ASCII(10,8,“。”,租用地址), “,电路 ID”, 选项代理.circuit-id, “使用 Option82 分配”) (英文):
请注意,如果您的电路 ID 字段是二进制的(例如,不是常规的人类可读值),则需要先将其转换才能从中获取可读的内容。另请参阅 man dhcp-eval。