Project

General

Profile

Actions

Feature #40

closed

[mod_radius] Формат mac адреса

Added by Vladimir Pavljuchenkov over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Start date:
10/08/2015
Due date:
10/10/2015
% Done:

100%

Estimated time:

Description

В стандарте IEEE 802 определяется три формата MAC адресов:

  • шесть двухсимвольных групп, разделяемых дефисом (-). Пример: 01-23-45-67-89-ab
  • шесть двухсимвольных групп, разделяемых двоеточием (:). Пример: 01:23:45:67:89:ab
  • три четырехсимвольных группы, разделяемые точками (.). Пример: 0123.4567.89ab

Запись MAC адресов должна быть регистронезависима.

В конфиге mod_radius параметр может задаваться как:

mac_format = <hyphens|colons|dots>

Actions #1

Updated by Vladimir Pavljuchenkov over 8 years ago

  • Assignee changed from Maxim Mamontov to Vladimir Pavljuchenkov
Actions #2

Updated by Vladimir Pavljuchenkov over 8 years ago

  • % Done changed from 0 to 100

Так как плагин mod_radius сравнивает строки, то, чтобы добиться нужного результата, достаточно нормализировать mac адрес в радиусе.

Для этого в конфиге радиуса (radius.conf) нужно подключить модуль expr:

instantiate { 
     expr 
}

после чего добавляем политику на уровне виртуального сервера:

policy {
        rewrite_calling_station_id {
                if (Calling-Station-Id =~ /([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:.]?([0-9a-f]{2})[-:]?([0-9a-f]{2})[-:.]?([0-9a-f]{2})[-:]?([0-9a-f]{2})/i) {
                        update request {
                                Calling-Station-Id := "%{tolower:%{1}:%{2}:%{3}:%{4}:%{5}:%{6}}" 
                        }
                }
                else {
                        noop
                }
        }
}

Теперь в секции authorize виртуального сервере можно делать нормализацию mac адреса:

authorize {
        rewrite_calling_station_id
        stg
        pap
}

Actions #3

Updated by Vladimir Pavljuchenkov over 8 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF