| Подсказка | ||
|---|---|---|
| ||
Прежде чем применять настройки - внимательно читаем. От этого зависит работоспособность системы |
НОВАЯ ФУНКЦИОНАЛЬНОСТЬ:
| Информация | ||
|---|---|---|
| ||
ПРИМЕРЫ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ ДЛЯ ПАРАМЕТРА CPE_MAC_FORMAT Примеры регулярных выражений для различных производителей сетевого оборудования, которые можно использовать в параметре CPE_MAC_FORMAT в файле config.pl для автоматического определения и обработки как MAC-адресов, так и серийных номеров оборудования. |
| Оглавление | ||
|---|---|---|
|
| Отображение дочерних элементов |
|---|
Параметр CPE_MAC_FORMAT теперь поддерживает:
Используются для парсинга данных в поле CPE_MAC, в карточке абонента. |
| Оглавление | ||
|---|---|---|
|
| Отображение дочерних элементов |
|---|
НОВАЯ ФУНКЦИОНАЛЬНОСТЬ:
Пример использования в config.pl:
| Блок кода | ||
|---|---|---|
| ||
$CPE $CPE_MAC_FORMAT = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^HW[A-Z0-9]{12}$'; |
ОБРАТНАЯ СОВМЕСТИМОСТЬ:
Паттерны без префиксов обрабатываются как MAC-адреса для совместимости со совместимости со старыми конфигурациями.
ЛОГИКА ПО УМОЛЧАНИЮ (при отсутствии CPE_MAC_FORMAT):
Если параметр CPE_MAC_FORMAT не задан или пуст, используется встроенная логика:
- Проверяется соответствие стандартным форматам MAC-адресов:
- XX:XX:XX:XX:XX:XX (с двоеточиями)
- XX-XX-XX-XX-XX-XX (с дефисами)
- XXXX.XXXX.XXXX (Cisco формат)
- XXXXXXXXXXXX (без разделителей)
- Если входные данные соответствуют любому из этих форматов - обрабатываются как MAC
- Если не соответствуют - считаются серийным номером и остаются без изменений
- MAC-адреса автоматически приводятся к стандартному формату XX:XX:XX:XX:XX:XX
СТАНДАРТНЫЕ MAC-АДРЕСА
Стандартный MAC-адрес с любыми разделителями (двоеточие, дефис, точка)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$ |
MAC-адрес только с двоеточиями
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$ |
MAC-адрес только с дефисами
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){5}$ |
MAC-адрес только с точками
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(\.[0-9a-fA-F]{2}){5}$ |
MAC-адрес без разделителей (12 символов)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{12}$ |
Регулярные выражения по вендорам
CISCO
Cisco формат
============================================================================
CISCO ОБОРУДОВАНИЕ
============================================================================
Cisco формат xxxx.xxxx.xxxx (3 группы по 4 символа)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$ |
Комбинированный Комбинированный паттерн для Cisco (стандартный MAC + Cisco формат)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$ |
HUAWEI
Huawei MAC-адреса (стандартный формат с дефисами)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){5}$
^HWTC[0-9A-F]{8}$
^[0-9]{10}[A-F0-9]{6}$ |
Huawei серийные номера:
Формат HWTC + 8 шестнадцатеричных символов
Для использования в CPE_MAC_FORMAT:
| Блок кода | ||
|---|---|---|
| ||
SN:^HWTC[0-9A-F]{8}$ |
Примеры: HWTC1D6A1B9D, HWTCABCD1234
Формат 10 цифр + 6 шестнадцатеричных символов
Для использования в CPE_MAC_FORMAT:
| Блок кода | ||
|---|---|---|
| ||
SN:^[0-9]{10}[A-F0-9]{6}$ |
Примеры: 2102311ABC123456, 1234567890ABCDEF
ZTE
ZTE MAC-адреса (стандартный формат)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a- |
============================================================================
HUAWEI ОБОРУДОВАНИЕ
============================================================================
^[0-9a-
fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$ ^ZTEG[0-9A-F]{8}$ ^ZTEGC[0-9A-F]{7}$ |
ZTE серийные номера:
Формат ZTEG + 8 символов
Для использования Huawei серийные номера обычно начинаются с букв (НЕ включать в CPE_MAC_FORMAT)
Примеры серийных номеров Huawei: HWTC1D6A1B9D, 2102311ABC123456
Эти паттерны НЕ должны быть :
| Блок кода | ||
|---|---|---|
| ||
SN:^ZTEG[0-9A-F]{8}$ |
Примеры: ZTEG12345678, ZTEGABCD1234
Формат ZTEGC + 7 символов
Для использования в CPE_MAC_FORMAT, так как это серийные номера:
^HWTC:
| Блок кода | ||
|---|---|---|
| ||
SN:^ZTEGC[0-9A-F]{ |
7}$ |
Примеры: ZTEGC1234567, ZTEGCABCDEF1
NOKIA/ALCATEL-LUCENT
Nokia/Alcatel MAC-адреса (стандартный формат с двоеточиями)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$ |
MIKROTIK
MikroTik MAC-адреса (стандартный формат с двоеточиями)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(: |
============================================================================
ZTE ОБОРУДОВАНИЕ
============================================================================
^
[0-9a-fA-F]{2}){5}$ |
UBIQUITI
Ubiquiti MAC-адреса (стандартный формат с двоеточиями)
| Блок кода | ||
|---|---|---|
| ||
^[0-9a-fA-F]{2}(: |
[0-9a-fA-F]{2}){5}$ |
Примеры серийных номеров ZTE: ZTEG12345678, ZTEGC8234567
Эти паттерны НЕ должны быть в CPE_MAC_FORMAT:
^ZTEG
BDCOM (EPON оборудование)
Прошивка v2.1.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A- |
Fa-f]{ |
2}$ |
^ZTEGC
|SN:^BD[0-9A-F]{ |
============================================================================
NOKIA/ALCATEL-LUCENT ОБОРУДОВАНИЕ
============================================================================
Nokia/Alcatel MAC-адреса (стандартный формат с двоеточиями)
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$
============================================================================
MIKROTIK ОБОРУДОВАНИЕ
============================================================================
MikroTik MAC-адреса (стандартный формат с двоеточиями)
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$
============================================================================
UBIQUITI ОБОРУДОВАНИЕ
============================================================================
Ubiquiti MAC-адреса (стандартный формат с двоеточиями)
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$
10}$ |
Примеры: MAC: 00:11:22:33:44:55, 00-AA-BB-CC-DD-EE | SN: BD1234567890, BDABCDEF1234
Прошивка v1.8.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{4}[.]([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{2}$|SN:^BDCOM[0-9]{8}$ |
Примеры: MAC: 00.11.2233.44.55.66 | SN: BDCOM12345678, BDCOM87654321
Прошивка v3.0.x (новый формат)
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^BD[A-Z]{2}[0-9]{8}[A-Z]{2}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: BDAA12345678BB, BDXY87654321ZZ
BDCOM (GPON оборудование)
Прошивка v4.x.x и выше
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^[A-Za-z0-9]{16}$|SN:^[A-Za-z0-9]{4}:[A-Za-z0-9]{8}$ |
Примеры: MAC: 00:11:22:33:44:55, 00-AA-BB-CC-DD-EE | SN: ABCD1234567890EF, BDCM:12345678
C-Data (EPON/GEPON оборудование)
Прошивка v4.2.x и выше
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^CD[0-9A-F]{12}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CD123456789ABC, CDABC123DEF456
Прошивка v3.5.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^CDATA[0-9]{10}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CDATA1234567890, CDATA9876543210
Прошивка v5.0.x (обновленный формат)
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^CD[A-Z0-9]{14}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: CDABC123DEF456GH78, CD12A34B56C78D90EF
Qtech (EPON/GEPON оборудование)
Прошивка v6.1.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^QT[0-9A-F]{10}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QT1234567890, QTABCDEF1234
Прошивка v5.8.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^QTECH[0-9]{8}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QTECH12345678, QTECH87654321
Прошивка v7.0.x (новейший формат)
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^QT[A-Z]{3}[0-9]{9}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: QTABC123456789, QTXYZ987654321
Dasan (GPON/EPON оборудование)
Прошивка v2.3.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^DSAN |
============================================================================
ПРИМЕРЫ КОНФИГУРАЦИИ ДЛЯ config.pl
============================================================================
Пример 1: Только стандартные MAC-адреса
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$';
Пример 2: Стандартные MAC + Cisco формат
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$';
Пример 3: Только MAC с двоеточиями
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$';
Пример 4: MAC без разделителей + с двоеточиями
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{12}$|^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$';
Пример 5: Универсальный паттерн для большинства случаев
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$|^[0-9a-fA-F]{12}$';
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG
[0-9A-F]{8}$ |
$conf{CPE_MAC_FORMAT} = '
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DSAN12345678, DSANABCDEF12
Прошивка v3.1.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0- |
9A- |
Fa- |
f]{ |
2}([:-][0- |
9A- |
Fa- |
f]{ |
2}){5}$| |
SN: |
^DS[0- |
9]{12}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DS123456789012, DS987654321098
Прошивка v4.0.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[ |
0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^DASAN[A-Z0-9]{10}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: DASANABC1234567, DASAN123XYZ789A
G-Com (GPON оборудование)
Прошивка v1.9.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^GCOM |
============================================================================
ПРАКТИЧЕСКИЕ ПРИМЕРЫ КОМБИНИРОВАННОГО ИСПОЛЬЗОВАНИЯ
============================================================================
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{12}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^HWTC
[0-9A-F]{8}$ |
$conf{CPE_MAC_FORMAT} = 'MAC
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GCOM12345678, GCOMABCDEF12
Прошивка v2.5.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0- |
9A- |
Fa- |
f]{2}([: |
- |
] |
[0- |
9A- |
Fa- |
f]{2}){5}$ |
Пример 3: Только серийные номера
$conf{CPE_MAC_FORMAT} = 'SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN:^[0-9A-F]{16}$';
|SN:^GC[0-9]{10}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GC1234567890, GC9876543210
Прошивка v3.2.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^GCOM[A-Z]{2}[0-9]{8}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: GCOMAB12345678, GCOMXY87654321
Fiberhome (GPON оборудование)
Прошивка v8.1.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^FHTT[0-9A-F]{8}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: FHTT12345678, FHTTABCDEF12
Прошивка v9.0.x
| Блок кода | ||
|---|---|---|
| ||
MAC |
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN
:^[0-9A- |
Fa-f]{ |
4}\.[0-9A-Fa- |
f]{4} |
\.[0-9A- |
Fa-f]{ |
4}$|SN:^FH[A-Z0-9]{12}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: FHABC123DEF456, FH123XYZ789ABC
Raisecom (EPON оборудование)
Прошивка v4.7.x
'; Пример 5: EPON/GEPON среда с новыми вендорами$conf{CPE_MAC_FORMAT} = '
| Блок кода | ||
|---|---|---|
|
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN: |
^RAIS[0-9A-F]{ |
8}$ |
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: RAIS12345678, RAISABCDEF12
Прошивка v5.2.x
| Блок кода | ||
|---|---|---|
| ||
MAC:^[0-9A- |
Fa-f]{ |
$conf{CPE_MAC_FORMAT} = 'MAC:^(
4}\.[0-9A-Fa-f]{ |
4}\.[0-9A-Fa-f]{4}$|SN: |
^RC[ |
A- |
Z0- |
9]{ |
10}$ |
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: RCABC1234567, RC123XYZ789A
ПРИМЕРЫ КОНФИГУРАЦИИ ДЛЯ config.pl
Пример 1: Только стандартные MAC-адреса
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$'; |
Пример 2: Стандартные MAC + Cisco формат
| Блок кода | ||
|---|---|---|
| ||
$conf |
$conf
{CPE_MAC_FORMAT} = ' |
^ |
[0- |
9a- |
fA- |
F]{2}([:\\-\\.] |
?[0- |
9a- |
fA- |
F]{ |
2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$'; |
Пример 3: Только MAC с двоеточиями
| Блок кода | ||
|---|---|---|
| ||
$conf |
$conf
{CPE_MAC_FORMAT} = ' |
^[0- |
9a- |
fA- |
F]{ |
2} |
(:[0- |
9a- |
fA- |
F]{2}){5}$'; |
Пример 4
}\.: MAC без разделителей + с двоеточиями
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = '^[0- |
9a- |
fA- |
F]{ |
12}$| |
^[0- |
9a-fA-F]{ |
2} |
(: |
[0- |
9a-fA-F]{2}){ |
5}$ |
============================================================================
ВАЖНЫЕ ЗАМЕЧАНИЯ
============================================================================
'; |
Пример 5: Универсальный паттерн для большинства случаев
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$|^[0-9a-fA-F]{12}$'; |
Пример 6: Использование префиксов MAC: и SN:
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG[0-9A-F]{8}$'; |
Пример 7: Комбинированный с явным указанием типов
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$|MAC:^[0-9a-fA-F]{12}$|SN:^[A-Z]{2,4}[0-9A-F]{6,12}$'; |
ПРАКТИЧЕСКИЕ ПРИМЕРЫ КОМБИНИРОВАННОГО ИСПОЛЬЗОВАНИЯ
Пример 1: Смешанная среда с оборудованием разных производителей
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{12}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG[0-9A-F]{8}$'; |
Пример 2: Только MAC-адреса (различные форматы)
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$'; |
Пример 3: Только серийные номера
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN:^[0-9A-F]{16}$'; |
Пример 4: Универсальный для большинства случаев
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN:^[0-9A-F]{16}$|SN:^[0-9A-F]{4}:[0-9A-F]{8}$'; |
Пример 5: EPON/GEPON среда с новыми вендорами
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$|SN:^CD[0-9A-F]{12}$|SN:^QT[0-9A-F]{10}$'; |
Пример 6: Полная конфигурация для крупного провайдера
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^HWTC |
1. В Perl необходимо экранировать обратные слеши (\) удваиванием (\\)
2. Символ | используется как разделитель между паттернами
3. Если CPE_MAC соответствует любому паттерну с префиксом MAC: - форматируется как MAC
4. Если CPE_MAC соответствует паттерну с префиксом SN: - остается без изменений
5. Паттерны без префиксов обрабатываются как MAC-адреса (обратная совместимость)
6. Тестируйте регулярные выражения перед использованием в продакшене
7. Учитывайте особенности форматов разных производителей
8. Регулярные выражения чувствительны к регистру, используйте [A-Fa-f] для hex
9. Двоеточия внутри регулярных выражений НЕ влияют на парсинг префиксов
Пример: MAC:^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$
Здесь только первое двоеточие после 'MAC' является разделителем префикса
10. Версии прошивок могут изменять форматы - всегда проверяйте актуальность
11. Для EPON/GEPON оборудования часто используются специфичные форматы
12. Серийные номера могут содержать как буквы, так и цифры
13. При обновлении прошивки оборудования может измениться формат идентификаторов
14. Рекомендуется группировать паттерны по вендорам для удобства сопровождения
============================================================================
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ ДЛЯ СЕРИЙНЫХ НОМЕРОВ
============================================================================
С введением префиксов теперь можно безопасно использовать паттерны серийных номеров
в CPE_MAC_FORMAT с префиксом SN:
Они приведены для справки и понимания форматов серийных номеров
Если серийный номер соответствует любому паттерну из CPE_MAC_FORMAT,
он будет ошибочно обработан как MAC-адрес
Huawei серийные номера:
Формат HWTC + 8 шестнадцатеричных символов
Для использования в CPE_MAC_FORMAT: SN:^HWTC[0-9A-F]{8}$
^HWTC[0-9A-F]{8}$
Примеры: HWTC1D6A1B9D, HWTCABCD1234
Формат 10 цифр + 6 шестнадцатеричных символов
Для использования в CPE_MAC_FORMAT: SN:^[0-9]{10}[A-F0-9]{6}$
^[0-9]{10}[A-F0-9]{6}$
Примеры: 2102311ABC123456, 1234567890ABCDEF
ZTE серийные номера:
Формат ZTEG + 8 символов
Для использования в CPE_MAC_FORMAT: SN:^ZTEG[0-9A-F]{8}$
^ZTEG[0-9A-F]{8}$
Примеры: ZTEG12345678, ZTEGABCD1234
Формат ZTEGC + 7 символов
Для использования в CPE_MAC_FORMAT: SN:^ZTEGC[0-9A-F]{7}$
^ZTEGC[0-9A-F]{7}$
Примеры: ZTEGC1234567, ZTEGCABCDEF1
Nokia/Alcatel серийные номера:
Формат ALCL + 8 символов
Для использования в CPE_MAC_FORMAT: SN:^ALCL[0-9A-F]{8}$
^ALCL[0-9A-F]{8}$
Примеры: ALCL12345678, ALCLABCD1234
Для использования в CPE_MAC_FORMAT: SN:^ISAM
[0-9A-F]{8}$ |
^ISAM
|SN:^ZTEG[0-9A-F]{8}$ |
Примеры: ISAM12345678, ISAMABCD1234 Универсальные форматы серийных номеров:
Буквенный префиксы (2-4 буквы) + цифры/буквы
Для использования в CPE_MAC_FORMAT: SN:^[A-Z]{2,4}
|SN:^BD[0-9A-F]{10}$|SN:^CD[0-9A-F]{ |
12}$ |
^[A-Z]{2,4}[
|SN:^QT[0-9A-F]{10}$|SN:^DSAN[0-9A-F]{8}$|SN:^GCOM[0-9A-F]{8}$'; |
Пример 7: Конфигурация для конкретных прошивок
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{4}[.]([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{2}$|SN:^BDCOM[0-9]{8}$|SN:^CDATA[0-9]{10}$|SN:^QTECH[0-9]{8}$'; |
Пример 8: Смешанная среда с Cisco и новыми вендорами
| Блок кода | ||
|---|---|---|
| ||
$conf{CPE_MAC_FORMAT} = 'MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^FHTT[0-9A-F]{8}$|SN:^RAIS[0-9A-F]{8}$|SN:^FH[A-Z0-9]{12}$|SN:^RC[A-Z0-9]{10}$'; |
Универсальные форматы серийных номеров:
Буквенный префиксы (2-4 буквы) + цифры/буквы
Для использования в CPE_MAC_FORMAT:
| Блок кода | ||
|---|---|---|
| ||
SN:^[A-Z]{2,4}[0-9A-F]{6,12}$ |
Примеры: AB123456, HWTC12345678, ZTEG87654321
Только цифры (8-16 символов) - длинные серийные номера
Для использования в CPE_MAC_FORMAT:
| Блок кода | ||
|---|---|---|
| ||
SN:^[0-9]{8,16}$ |
Примеры: 12345678, 1234567890123456
Смешанный формат: буквы + цифры + буквы
Для использования в CPE_MAC_FORMAT:
| Блок кода | ||
|---|---|---|
| ||
SN:^[A-Z]{2,4}[0-9]{4,8}[A-Z0-9]{2,4}$ |
Примеры: HWTC1234AB, ZTE5678CD12
6,12}$Примеры: AB123456, HWTC12345678, ZTEG87654321
Только цифры (8-16 символов) - длинные серийные номера
Для использования в CPE_MAC_FORMAT: SN:^[0-9]{8,16}$
^[0-9]{8,16}$
Примеры: 12345678, 1234567890123456
Смешанный формат: буквы + цифры + буквы
Для использования в CPE_MAC_FORMAT: SN:^[A-Z]{2,4}[0-9]{4,8}[A-Z0-9]{2,4}$
^[A-Z]{2,4}[0-9]{4,8}[A-Z0-9]{2,4}$
Примеры: HWTC1234AB, ZTE5678CD12
============================================================================
РЕКОМЕНДАЦИИ ПО НАСТРОЙКЕ CPE_MAC_FORMAT
============================================================================
С новой функциональностью префиксов MAC: и SN: рекомендуется:
1. ИСПОЛЬЗУЙТЕ префиксы для явного указания типа данных:
- MAC: для паттернов MAC-адресов
- SN: для паттернов серийных номеров
2. Группируйте паттерны по вендорам для удобства сопровождения
3. Тестируйте паттерны на реальных данных перед внедрением
4. Учитывайте версии прошивок оборудования
РЕКОМЕНДУЕМЫЕ паттерны для MAC-адресов:
- MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$ (стандартный формат)
- MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$ (Cisco формат)
РЕКОМЕНДУЕМЫЕ паттерны для серийных номеров:
- SN:^[A-Z]{2,4}[0-9A-F]{8,12}$ (буквенный префикс + цифры)
- SN:^[A-Z0-9]{8,16}$ (универсальный алфавитно-цифровой)
============================================================================
ПРИМЕРЫ РЕКОМЕНДУЕМОЙ КОНФИГУРАЦИИ С ПРЕФИКСАМИ
============================================================================
Вариант 1: Только MAC-адреса (стандартные форматы)
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}$';
Вариант 2: Только серийные номера (универсальные паттерны)
$conf{CPE_MAC_FORMAT} = 'SN:^[A-Z]{2,4}[0-9A-F]{8,12}$|SN:^[A-Z0-9]{8,16}$';
Вариант 3: Смешанная конфигурация (MAC + серийные номера)
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}$|SN:^[A-Z]{2,4}[0-9A-F]{8,12}$|SN:^[A-Z0-9]{8,16}$';
Вариант 4: Конфигурация для конкретных вендоров
$conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^HW[A-Z0-9]{12}$|SN:^ZTE[A-Z0-9]{8,12}$|SN:^BD[0-9A-F]{10}$';
============================================================================
ДОПОЛНИТЕЛЬНЫЕ ВЕНДОРЫ
============================================================================
BDCOM (EPON оборудование)
Прошивка v2.1.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$
Примеры: MAC: 00:11:22:33:44:55, 00-AA-BB-CC-DD-EE | SN: BD1234567890, BDABCDEF1234
Прошивка v1.8.x
MAC:^([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{4}[.]([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{2}$|SN:^BDCOM[0-9]{8}$
Примеры: MAC: 00.11.2233.44.55.66 | SN: BDCOM12345678, BDCOM87654321
Прошивка v3.0.x (новый формат)
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^BD[A-Z]{2}[0-9]{8}[A-Z]{2}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: BDAA12345678BB, BDXY87654321ZZ
C-Data (EPON/GEPON оборудование)
Прошивка v4.2.x и выше
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^CD[0-9A-F]{12}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CD123456789ABC, CDABC123DEF456
Прошивка v3.5.x
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^CDATA[0-9]{10}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CDATA1234567890, CDATA9876543210
Прошивка v5.0.x (обновленный формат)
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^CD[A-Z0-9]{14}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: CDABC123DEF456GH78, CD12A34B56C78D90EF
Qtech (EPON/GEPON оборудование)
Прошивка v6.1.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^QT[0-9A-F]{10}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QT1234567890, QTABCDEF1234
Прошивка v5.8.x
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^QTECH[0-9]{8}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QTECH12345678, QTECH87654321
Прошивка v7.0.x (новейший формат)
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^QT[A-Z]{3}[0-9]{9}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: QTABC123456789, QTXYZ987654321
Dasan (GPON/EPON оборудование)
Прошивка v2.3.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^DSAN[0-9A-F]{8}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DSAN12345678, DSANABCDEF12
Прошивка v3.1.x
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^DS[0-9]{12}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DS123456789012, DS987654321098
Прошивка v4.0.x
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^DASAN[A-Z0-9]{10}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: DASANABC1234567, DASAN123XYZ789A
G-Com (GPON оборудование)
Прошивка v1.9.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^GCOM[0-9A-F]{8}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GCOM12345678, GCOMABCDEF12
Прошивка v2.5.x
MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^GC[0-9]{10}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GC1234567890, GC9876543210
Прошивка v3.2.x
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^GCOM[A-Z]{2}[0-9]{8}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: GCOMAB12345678, GCOMXY87654321
Fiberhome (GPON оборудование)
Прошивка v8.1.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^FHTT[0-9A-F]{8}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: FHTT12345678, FHTTABCDEF12
Прошивка v9.0.x
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^FH[A-Z0-9]{12}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: FHABC123DEF456, FH123XYZ789ABC
Raisecom (EPON оборудование)
Прошивка v4.7.x
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^RAIS[0-9A-F]{8}$
Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: RAIS12345678, RAISABCDEF12
Прошивка v5.2.x
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^RC[A-Z0-9]{10}$
Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: RCABC1234567, RC123XYZ789A
============================================================================
ТЕСТИРОВАНИЕ ПАТТЕРНОВ
============================================================================
Примеры данных для тестирования:
MAC-адреса (должны соответствовать паттернам MAC:):
- 00:11:22:33:44:55
- 00-11-22-33-44-55
- AA:BB:CC:DD:EE:FF
- 0011.2233.4455 (Cisco формат)
- AABB.CCDD.EEFF
Серийные номера (должны соответствовать паттернам SN:):
- BD1234567890 (BDCOM)
- BDCOM12345678 (BDCOM старый формат)
- BDAA12345678BB (BDCOM новый формат)
- CD123456789ABC (C-Data)
- CDATA1234567890 (C-Data старый формат)
- QT1234567890 (Qtech)
- QTECH12345678 (Qtech старый формат)
- QTABC123456789 (Qtech новый формат)
- DSAN12345678 (Dasan)
- DS123456789012 (Dasan)
- GCOM12345678 (G-Com)
- GC1234567890 (G-Com)
- FHTT12345678 (Fiberhome)
- FH123XYZ789ABC (Fiberhome новый формат)
- RAIS12345678 (Raisecom)
- RCABC1234567 (Raisecom новый формат)
Примеры полных конфигураций для тестирования:
MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$
MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^QTECH[0-9]{8}$
