Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
option82 [2022/10/06 16:37] pautina [Настройка Ubilling и DHCP option 82] |
option82 [2023/07/08 14:11] (поточний) nightfly |
||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| ====== Mini FAQ ====== | ====== Mini FAQ ====== | ||
| - | Q: Что требуется | + | Q: Що потрібно від |
| - | A: Иметь настроенный и работающий dhcp relay с включенной option 82, dhcp snooping не пропускающий | + | A: Мати налаштований і працюючий dhcp relay з увімкненою option 82, dhcp snooping, що не пропускає клієнтські запити |
| - | Q: На каких свичах | + | Q: На яких свічах |
| - | A: На всех - уровня доступа.\\ | + | A: На всіх - рівня доступу.\\ |
| - | Q: У нас тут пол сети на мыльницах, это | + | Q: У нас тут пів мережі |
| - | A: Произошла критическая ошибка - у вас недостаточно денег | + | A: Сталася критична помилка - у вас недостатньо грошей для |
| - | ====== Настройка Ubilling | + | ====== Налаштування |
| - | Для того, | + | Для того, |
| - | 1. Подсеть пользователей | + | 1. Підмережу користувачів |
| - | ^ ID ^ Начальная ІР ^ Последняя ІР ^ Сеть/CIDR ^ Тип | + | ^ ID ^ Початкова ІР ^ Остання ІР ^ Мережа/CIDR ^ Тип |
| | 1 | 172.16.0.0 | | 1 | 172.16.0.0 | ||
| - | 2. / | + | 2. / |
| <file ini rc.conf> | <file ini rc.conf> | ||
| ifconfig_em0=" | ifconfig_em0=" | ||
| Рядок 108: | Рядок 109: | ||
| </ | </ | ||
| - | 4. Шаблон config/ | + | 4. Шаблон config/ |
| - | 5. В конфиге | + | 5. У конфізі |
| - | 6. В OnConnect | + | 6. В OnConnect |
| - | Исходя из всего вышеуказанного, не сложно заключить, что привязка планируется | + | Виходячи з усього вищевказаного, |
| + | ====== Відлагодження scapy====== | ||
| - | ====== Отладка scapy====== | ||
| < | < | ||
| p=" | p=" | ||
| Рядок 125: | Рядок 126: | ||
| </ | </ | ||
| - | в ответ на что мы должны получить | + | у відповідь |
| <file txt dhcpd.log> | <file txt dhcpd.log> | ||
| Рядок 140: | Рядок 141: | ||
| </ | </ | ||
| - | а также при прослушивании при | + | а також під час |
| < | < | ||
| tcpdump -n -i em0 -s 0 -v -vv | tcpdump -n -i em0 -s 0 -v -vv | ||
| </ | </ | ||
| - | мы будем наблюдать прилетающие к нам | + | ми спостерігатимемо |
| < | < | ||
| Рядок 155: | Рядок 157: | ||
| - | ====== Особенности работы на свитчах Zyxel ====== | + | ====== Особливості роботи на комутаторах Zyxel ====== |
| + | GS-4012, GS-3012 взагалі не повертають remote-id. Тому орієнтуватися варто тільки на sub-option 1 (Agent Circuit ID). Тож при побудові шаблону потрібно керуватися ось цим: http:// | ||
| - | GS-4012, GS-3012 вообще не возвращают remote-id. Поэтому ориентироваться стоит только | ||
| {{ : | {{ : | ||
| - | В черновом варианте можно оформить это | + | У чорновому варіанті можна оформити це приблизно так: |
| < | < | ||
| set clremote = binary-to-ascii(10, | set clremote = binary-to-ascii(10, | ||
| set clcircuit = binary-to-ascii(10, | set clcircuit = binary-to-ascii(10, | ||
| </ | </ | ||
| - | а также исправить option82.template в соответствии с этими реалиями | ||
| - | что в результате дает нам | + | а також виправити option82.template відповідно до цих реалій |
| + | |||
| + | що в результаті дає нам | ||
| < | < | ||
| Рядок 178: | Рядок 183: | ||
| - | Пример | + | Приклад |
| < | < | ||
| ip address inband-default 192.168.94.4 255.255.255.0 | ip address inband-default 192.168.94.4 255.255.255.0 | ||
| Рядок 196: | Рядок 201: | ||
| </ | </ | ||
| - | ====== | + | ====== |
| - | Для более удобного вылавливания пар remote-id и circuit-id существует сервис аналогичный [[uhw|UHW]] находящийся в **docs/ | + | |
| + | Для зручнішого виловлювання пар remote-id і circuit-id існує сервіс аналогічний [[uhw|UHW]], | ||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | Для того, щоб користувачі могли змінювати свої пристрої скільки завгодно разів, і не чекати, | ||
| + | |||
| + | < | ||
| + | --- server/ | ||
| + | +++ server/ | ||
| + | @@ -31,6 +31,7 @@ | ||
| + | # | ||
| + | # | ||
| + | +extern int flag_dd_option; | ||
| + | | ||
| + | | ||
| + | | ||
| + | @@ -4900,8 +4901,13 @@ | ||
| + | { | ||
| + | if (LEASE_NOT_EMPTY(pool-> | ||
| + | | ||
| + | - else | ||
| + | + else if (LEASE_NOT_EMPTY(pool-> | ||
| + | | ||
| + | + else if (flag_dd_option) | ||
| + | + { | ||
| + | + candl = LEASE_GET_FIRST(pool-> | ||
| + | + candl -> ends = cur_time; | ||
| + | + } | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | --- server/ | ||
| + | +++ server/ | ||
| + | @@ -57,6 +57,7 @@ | ||
| + | gid_t set_gid = 0; | ||
| + | # | ||
| + | |||
| + | +int flag_dd_option = 0; | ||
| + | | ||
| + | int server_identifier_matched; | ||
| + | |||
| + | @@ -184,6 +185,7 @@ | ||
| + | | ||
| + | # | ||
| + | | ||
| + | + " | ||
| + | | ||
| + | | ||
| + | } | ||
| + | @@ -329,6 +331,8 @@ | ||
| + | | ||
| + | | ||
| + | # | ||
| + | + } else if (!strcmp (argv [i], " | ||
| + | + flag_dd_option = 1; | ||
| + | } else if (!strcmp (argv [i], " | ||
| + | if (++i == argc) | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Після того, як перезібрали пакет та встановили його в системі, | ||
| + | <file ini rc.conf> | ||
| + | dhcpd_flags=" | ||
| + | </ | ||
| + | |||
| + | |||