dhcpd 选项 82 日志记录不起作用

dhcpd 选项 82 日志记录不起作用

我们正在网络中实施选项 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。

相关内容