dhcpd option 82 logging не работает

Мы реализуем вариант 82 в нашей сети, и я лишь поверхностно разбираюсь в том, как настроить свой сервер. Я успешно создал свой первый ACL Option 82 на основе идентификатора канала агента, который содержится в пакете, теперь мне просто нужно руководство о том, как я могу внести данные Option 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;
    }

Проблема, с которой я столкнулся, заключается в том, что когда я иду проверить conf перед перезапуском dhcpd, я получаю сообщение об ошибке:

etc/dhcp/dhcpd.conf line 135: right parenthesis expected.
log (info, concat( "Lease for ", option agent.circuit-id (
                                                      ^

Кто-нибудь может сказать мне, что я делаю не так и как исправить эту ошибку? Я пробовал несколько мест расположения скобок и конфигурации, но он продолжает жаловаться на них.

1
задан 4 October 2016 в 18:49
1 ответ

Я предполагаю, что вы хотели бы иметь такую ​​строку журнала, как:

Lease , circuit id назначается с помощью Option82

Я думаю, это должно работать:

log(info, concat(
   "Lease ", 
   binary-to-ascii(10, 8, ".", leased-address),
   ", circuit id", 
   option agent.circuit-id, 
   " is assigned using Option82")
);

Имейте в виду, что если ваше поле идентификатора схемы является двоичным (например, не является обычным значением, читаемым человеком), вам нужно сначала преобразовать его в получить из него что-нибудь читабельное. См. Также man dhcp-eval.

1
ответ дан 3 December 2019 в 23:40

Теги

Похожие вопросы