Способов борьбы с этой проблемой есть два. Для начала рассмотрим "простой". Он заключается в смене формата MAC-адреса, который отдает биллингу mikrotik. Взгляните на рисунок . 8 — "Редактирование профиля сервера хотспота, закладка RADIUS" в инструкции, доступной по ссылке:
http://wifi-hotspot.zp.ua/hotspot_info/ ... otspot.pdf
На рисунке среди прочих параметров присутствует MAC-Format. Вот в этом поле выберите из списка вариант ХХ-ХХ-ХХ-ХХ-ХХ-ХХ и сохраните настройки. В результате mikrotik станет отправлять в биллинг MAC-адрес в формате ХХ-ХХ-ХХ-ХХ-ХХ-ХХ (также, как и chillispot).
Второй способ более сложный. Он заключается в том, что задача "унификации" формата MAC-адресов возлагается непосредственно на сам сервер FreeRADIUS. Информация об этом была найдена на странице документации сервера FreeRADIUS, доступной по адресу:
http://wiki.freeradius.org/guide/Mac-Auth
Вам понадобится отредактировать два файла. Во первых, файл /etc/freeradius/policy.conf. В этом файле в самой последней строке присутствует фигурная скобка - } в самой первой позиции (крайней левой/без всевозможных пробелов или табуляций перед ней). Вот НАД этой скобкой вы должны добавить новый код (да-да, упомянутая скобка должна и остаться самой последней в файле):
Код: Выделить всё
#
# Rewrite called station id attribute into a standard format.
#
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 {
preprocess
rewrite_calling_station_id
Код: Выделить всё
service freeradius restart