Jump to content
Local
DemonidZe

ubilling+dhcp+options82

Recommended Posts

Добрый день всем. Предлагаю обсудить кто как прикручивал к убилингу дхп с оптионс 82, всмысле чтоб конфиг писался автомат как для обычного IP+MAC.я вот думаю доработать модуль свичи, логика такая добавляешь свичь вписываешь мак и колво портов и пристегиваешь к ниму улицы которые он обслуживает, при регистрации абона в его карточке добавить поле где можно выбрать номер порта со свича который обслуживает его улицу.(В итоге у нас есть два нужных нам параметра ПОРТ И МАКС которые надо передать в конфиг дхп) Плюс мы получим еще и собранную базу свичей и узеров по партам. Или другой вариант в карточке пользователя в поле мак адрес юзверя вписывать мак свича и добавить кастомное поле в котором указывать его порт. только надо еще доработать механику создания конфика дхп чтоб могла брать инфу из доп поля.

Критика и предложения приветствуются.

Share this post


Link to post
Share on other sites

Добрый день всем.

Добрый

 

Предлагаю обсудить кто как прикручивал к убилингу дхп с оптионс 82

Никто

 

всмысле чтоб конфиг писался автомат как для обычного IP+MAC.

Наличие соответствующего типа сети ни на что не намекает?

 

я вот думаю доработать модуль свичи

Вперед, только это не обязательно если хорошо подумать.

 

доработать механику создания конфика дхп чтоб могла брать инфу из доп поля.

Зачем вся эта шизофрения?

 

Смотрите дефайн handle_dhcp_rebuild_option82($netid,$confname) - по нему должно быть понятно как оно должно работать.

В общих чертах - в `nethosts`  `option` должны храниться Remote ID и Circuit ID в ормате "remote.id|circuit.id". Откуда они там должны появиться - уже не их проблема.

В оригинале предполагалось написание штуковины типа UHW, для цепляния абонентом самостоятельно этих вещей туда. Как всегда реализация не дописана по причинам "у закащика внезапно появилось осознание того, что половина его свичей не поддерживает Option 82" и "Ой внезапно кончились деньги".

 

А вобще все довольно просто, как-бы можете просветиться: http://xgu.ru/wiki/%D0%9E%D0%BF%D1%86%D0%B8%D1%8F_82_DHCP

Edited by nightfly

Share this post


Link to post
Share on other sites

Наличие соответствующего типа сети ни на что не намекает?

Намекает, но хочется чтоб полностью работало.

вперед, только это не обязательно если хорошо подумать.

ну я се навоял что то похожее по свичам, только из-за не умения прикрутить это к фрамверку работает отдельно

Зачем вся эта шизофрения?

ну да прсихонул немного не спорю ))))

Смотрите дефайн handle_dhcp_rebuild_option82($netid,$confname)

не подскажете где это лежит?

Share this post


Link to post
Share on other sites

не подскажете где это лежит?

 

api.networking

Share this post


Link to post
Share on other sites

 

не подскажете где это лежит?

 

api.networking

спасибо. покопаюсь мож что получится, если что можно будет обратиться чтоб завернуть все что получится во фрамверк?

Share this post


Link to post
Share on other sites

Подскажите, как связать свитч huawei s2326tp-ei с ubilling-ом.

Свитч передает следующие параметры : 

 

DHCP-Relay-Agent-Information:0x(01)(06)[0-9a-f]{4}([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(08)[0-9a-f]{4}([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,MAC;

 

 

 конфиг свитча:

!Software Version V100R006C05
 sysname Quidway
#
 vlan batch 100 800
#
multicast drop-unknown
#
 bpdu disable
#
dhcp enable
dhcp snooping enable
dhcp option82 format extend
#
 http server load flash:/s2300ei-v100r006c05.web.zip
#
vlan 100
 description ManageSw
vlan 800
 description client_huawei_test
 dhcp snooping enable
 dhcp snooping trusted interface GigabitEthernet0/0/1
 dhcp option82 rebuild enable interface Ethernet 0/0/1 to 0/0/24
#

Share this post


Link to post
Share on other sites

Т.к как свитч не может DHCP-relay то релеим там, где терминируем вланы. Я использовал Cisco^

 

CISCO:


 ip dhcp snooping vlan 800

interface Vlan800
 description TEST_Huawei
 ip unnumbered Loopback50
 ip helper-address 172.16.250.200
 ip policy route-map BRAS3
end

Share this post


Link to post
Share on other sites

коллективный разум отдыхает ?

Share this post


Link to post
Share on other sites

коллективный разум отдыхает ?

Задайте конкретный вопрос, тогда вам возможно ответят. Пока вопросов я не вижу.

Share this post


Link to post
Share on other sites

 

коллективный разум отдыхает ?

Задайте конкретный вопрос, тогда вам возможно ответят. Пока вопросов я не вижу.

 

 

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

 

Remote-ID  и Circuit-ID  

 

В "Черной магии" я нашел кнопку, но редактирование не активно.

Edited by loki

Share this post


Link to post
Share on other sites

Что бы в черной магии был активен список для установки нового значения, нужно правильно настроить логирование dhcp (http://wiki.ubilling.net.ua/doku.php?id=option82)

значения в список попадают путем парсинга лога.

Share this post


Link to post
Share on other sites

Что бы в черной магии был активен список для установки нового значения, нужно правильно настроить логирование dhcp (http://wiki.ubilling.net.ua/doku.php?id=option82)

значения в список попадают путем парсинга лога.

 

Спасибо!

 

А шаблон, который в  config/dhcp/global.template он, как я понял, универсален ? Т.е класы будут заполняться сами по себе "сырыми" значениями ?

 

П.С У кого-то уже такая схема в продакте работает ?

Share this post


Link to post
Share on other sites
glogal.template это заголовок. Итоговый файл один - конфиг dhcp сервера, он будет сгенерирован так:

Сначала развернется glogal.template, внутри него развернутся шаблоны subnets, а внутри каждого subnets уже разворачиваются либо option82 шаблоны, либо обычные, где уже вы прибиваете пользователя по маку/опции82 и прочее.

 

В продакшене, я собираю опцию 82 руками (да, у меня одна модель коммутатора на всю сеть), поэтому я могу заранее сгенерировать это значение, и прибить пользователя.

Share this post


Link to post
Share on other sites

От свитча (HuaweiS2300EI) приходит следующее:

… 10.202.0.254.67 > 172.16.250.200.67: [udp sum ok] BOOTP/DHCP, Request from 54:e6:fc:81:01:48, length 353, hops 1, xid 0x636b812e, secs 3, Flags [none] (0x0000)
          Gateway-IP 10.202.0.254
          Client-Ethernet-Address 54:e6:fc:81:01:48
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            Parameter-Request Option 55, length 19:  
              Subnet-Mask, BR, Default-Gateway, Classless-Static-Route
              MTU, Hostname, Domain-Name, Option 119
              Domain-Name-Server, YD, YS, Option 87
              Option 85, Option 86, Netbios-Name-Server, WDD
              Netbios-Node, Netbios-Scope, NTP
            Agent-Information Option 82, length 51:  
              Circuit-ID SubOption 1, length 41: Ethernet0/0/24:800.4096 Quidway/0/0/0/0/0
              Remote-ID SubOption 2, length 6: LM-1l^?M-)M-^K
            END Option 255, length 0
            PAD Option 0, length 0, occurs 35

Видно, что  41 байт значений Circuit-ID, но если урезать до 18, получим красивое: Ethernet0/0/24:800 (номер порта +  влан). Как это сделать правильно ?

А вот в Remote-ID какая-то кака вида: LM-1l^?M-)M-^K  (непонятен формат).

Share this post


Link to post
Share on other sites

 
В продакшене, я собираю опцию 82 руками (да, у меня одна модель коммутатора на всю сеть), поэтому я могу заранее сгенерировать это значение, и прибить пользователя.

 

 

Т.е процесс добовления юзера у Вас начинаеться с редактирования ручками конфига (заполнения класса для абона) ?

Share this post


Link to post
Share on other sites

 

 
В продакшене, я собираю опцию 82 руками (да, у меня одна модель коммутатора на всю сеть), поэтому я могу заранее сгенерировать это значение, и прибить пользователя.

 

 

Т.е процесс добовления юзера у Вас начинаеться с редактирования ручками конфига (заполнения класса для абона) ?

 

Не совсем, у меня влан на коммутатор, каждому абоненту я прибиваю связку vlan + port, так гаранитруется уникальность. В самомо ubilling'e выставляю порт и нужный влан, далее генерируется конфиг, и все.

Share this post


Link to post
Share on other sites

У вас Remote-ID SubOption 2, length 6: LM-1l^?M-)M-^K, скорей всего мак адрес коммутатора, надо только сконвертировать

Share this post


Link to post
Share on other sites

В общем на сервер приходит:

 

05:48:39.736690 IP (tos 0x0, ttl 255, id 162, offset 0, flags [none], proto UDP (17), length 348)
   
 10.123.0.1.bootps > 192.168.168.10.bootps: [udp sum ok] BOOTP/DHCP, Request from 48:5b:39:76:a8:8e (oui Unknown), length 320, hops 1, xid 0xefb7e7c, secs 3328, Flags [Broadcast] (0x8000)
          Gateway-IP 10.123.0.1
          Client-Ethernet-Address 48:5b:39:76:a8:8e (oui Unknown)
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            NOAUTO Option 116, length 1: Y
            Client-ID Option 61, length 7: ether 48:5b:39:76:a8:8e
            Hostname Option 12, length 5: "wks-1"
            Vendor-Class Option 60, length 8: "MSFT 5.0"
            Parameter-Request Option 55, length 11:
              Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server
              Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery
              Static-Route, Classless-Static-Route-Microsoft, Vendor-Option
            Vendor-Option Option 43, length 2: 220.0
            Agent-Information Option 82, length 18:
              Circuit-ID SubOption 1, length 6: ^@^D^A,^@^A
              Remote-ID SubOption 2, length 8: ^@^FM-^@M-{^FM-P
            END Option 255, length 0
            PAD Option 0, length 0, occurs 10

Сервер настроен как описано в вики. В биллинге связок не видно, и в логе пусто.  Если отсылать пакет без 82 опции, в лог юзера данные попадают.

Edited by loki

Share this post


Link to post
Share on other sites

dhcpdump вижу, логи isc-dhcp-server покажите, и его конфиг

Share this post


Link to post
Share on other sites

Конфиг DHCP сервера:
http://pastebin.com/zb4xq4W0

Настройки CISCO:
http://pastebin.com/MBA8Gdt3

Настройки свитча доступа:
http://pastebin.com/Msn9ZpEy
 

 

http://piclod.com/s/1908  - модуль онлайн

http://piclod.com/s/1909 - сети DHCP

http://piclod.com/s/1910

 

В логах DHCP сервера пусто.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×