Jump to content

Recommended Posts

  • Replies 176
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Так dhcp будет с радиус-аккаунтинк? :)

---

Я тут подумал... А что по поводу дебиторщиков + whitelist для них? Чтоб те, у кого денег нет - авторизовывались, получали IP, но пользовались только ресурсами указанными в whitelist?

 

почему бы и не радиус-аккаунтинг :)

По дебиторщикам - просто другой профайл выдавайте на них и все :) вроде даже в документации примерно такой пример был для ACL

Posted

Так dhcp будет с радиус-аккаунтинк? :)

---

Я тут подумал... А что по поводу дебиторщиков + whitelist для них? Чтоб те, у кого денег нет - авторизовывались, получали IP, но пользовались только ресурсами указанными в whitelist?

 

почему бы и не радиус-аккаунтинг :)

По дебиторщикам - просто другой профайл выдавайте на них и все :) вроде даже в документации примерно такой пример был для ACL

Яж говорю, тяжело мне буржуйский читать, но прочёл более подробно, аккаунтинг у вас уже реализован :) сорри. Осталось dhcp с радиус авторизацией.

Posted

После вкуривания мануала насколько я могу понять, команды аналога sh run нет. Как в данном случае происходит преемственность в управление брасом? У нас к примеру 3 инженера кто следит за доступом включая барсы.

Posted

После вкуривания мануала насколько я могу понять, команды аналога sh run нет. Как в данном случае происходит преемственность в управление брасом? У нас к примеру 3 инженера кто следит за доступом включая барсы.

 

Почему же? uspe-client dump как раз и есть полный аналог sh run :)

Выделим это в отдельный раздел, чтобы искать не надо было

Posted

Боже, 400 евро за что?

 

Поломать вам малину и выложить в открытый доступ то что написал для себя?

 

Там ровно половина от того что есть у вас и я за это ничего не хочу.

Но проблема всё та же - это НЕ готовое решение.

Хотя и разгребает Q-in-Q без создания сабов, само вколачивает роуты, ойпи и маки в ядро - откуда их цапает всё что надо.

мониторит клиентов arping`ом, авторизирует по произвольному пакету, имеет белые списки сайтов (доступных при блокировки).

Встроенный dhcp сервер. пилю балансировку/резервирование.

Вчера доделал аналог бриджа для менеджмент влана - нужyо если коммутатор агрегации не умеет selective QinQ ;(

ещё всякая чепуха по мелочи. ;)

Идей много. Но это побочная деятельность в свободное время, начинавшаяся как хобби.

 

P. S.: Да-да это всё модуль ядра. user-space прокси осталась только для связи с биллингом ;) Хотя по сути можно просто генерить текстовичок который будет перечитываться модулем. Сам иду в торону TCP сессии между модулем и биллингом.

 

Любопытно. Выкладывайте, коль можете...

Если это проект, можно отдельной темой форума.

Posted

Никогда не делал ;)

Надо подумать как лучше.

Как проект это не оформлено - немного лишнего в коде, коментарии не в utf8, что-то забито статикой ;(

tar.bz2 выкладывать как-то не очень ;(

то-ли на гитхабе регаться толи что...

Я подумаю.

 

P.S. Надо ещё как-то вырезать специфичный для биллинга костыль ;)

В принципе за недельку две - оформить можно

Posted

Никогда не делал ;)

Надо подумать как лучше.

Как проект это не оформлено - немного лишнего в коде, коментарии не в utf8, что-то забито статикой ;(

tar.bz2 выкладывать как-то не очень ;(

то-ли на гитхабе регаться толи что...

Я подумаю.

 

P.S. Надо ещё как-то вырезать специфичный для биллинга костыль ;)

В принципе за недельку две - оформить можно

Ждем-с!

Posted (edited)

2arni Ну Вы то конечно, будет что подсмотреть ;)

 

martini, bomberman, KaraVan:

 

Ну как хотите, немного почикал, но вроде даже компиляется после этого.

форум не дал выкладывать файл как есть - пришлось дописать расширение ;)

В нескольких местах ойпи и порты забиты статиком - прошу учесть, грепается по слову todo

 

Если суметь засунуть туда конфиг то заработает ;)

конфиг суётся через проксю, её придётся точить напильником под ваши нужды ;)

 

P.S. Замечания, пожелания, здоровая критика приветствуются.

term.tar.bz2.txt

Edited by VVSina
Posted

Благодарствуем, будем есть посмотреть :)

 

Нам точно будет интересно подглядеть, как лучше DHCP разгребать и как с ARP пакетами работаете (как раз начали разрабатывать обработку ARP).

с разгребанием qinq трафика придумать что-то новое сложно (если не патчить ядро), но тоже глянем!

Posted

;)

хех, интересно, что тогда у вас есть на самом деле, arp это первое что надо после того как сумели принять пакет, а вы его только начали делать.

Posted

Не обязательно, на статических арпах можно все сделать.

у нас тесты q-in-q сабов сейчас так и бегают :P

Posted

2 VVSina - еще бы пример конфига, и мало-мальски что за что отвечает )

Ну и номер кошелька или куда бабулесы засылать обещанные )

Posted (edited)

конфиг льётся с биллинга через проксю, она подключается по tcp и полученный ответ без разбора пересовывает в netlink сокет - поэтому я и сказал что нужен напильник

конфиг описан структурой term_session_info см. term-nms-proxy/nl.h terminator/term.h

 

но перед заливкой самих сессий, надо влить подсети - см. struct term_subnet in term-nms-proxy/nl.h

 

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

P. S. : можно сделать какой-нибудь cmd или подсмотреть vtysh у зебры. Мне принципе незачем, но если сильно надо и будет время или заинтересуете можно и по колдовать ;)

 

что за что отвечает, эм... мне начать обзорную лекцию или будут конкретные наводки?

 

да кстати, кошелёк на paypal: мой ник гав-гав гмаил ком

Edited by VVSina
Posted

В качестве апдейта по статусу разработки :

 

Q-in-Q терминирование - сделано

Обработка ARP-пакетов - сделано

Обработка DHCP - еще делаем (пока будет нужен релей)

 

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

 

topology interface unnumbered eth1 double1q
ipunnumbered route eth1 10.20 10.10.20.1 00:11:22:33:44:55
ipunnumbered route eth1 10.21 10.10.21.0/29 11:22:33:44:55:66

 

команда ipunnumbered show eth1 выводит следующее:

Current IP unnumbered interfaces on eth1 :
Sub-Interface               Route               Age    ARP (pkts/drp/limit) DHCP (pkts/drp/limit)
eth1.10.20                  10.10.20.11/32      30092                8/2/0               0/0/0
eth1.10.21                  10.10.20.21/32      30092                0/0/0               0/0/0

 

маршруты выглядят так :

10.10.20.0/24 dev eth1  proto kernel  scope link  src 10.10.20.254 
10.10.20.11 dev uspe0  scope link 
10.10.20.21 dev uspe0  scope link 
10.10.20.32/29 dev uspe0  scope link 

 

Драфт опций для управления :

ipunnumbered map <ifname> <s_vlan>[.<c_vlan>] <prefix> [<mac_addr>] 		Add IP Unnumbered Vlan/QinQ mapping
ipunnumbered map remove <ifname> <s_vlan>[.<c_vlan>] 				Remove IP Unnumbered Vlan/QinQ mapping
ipunnumbered map flush <ifname> 						Remove all IP Unnumbered Vlan/QinQ mappings on interface
ipunnumbered map list [<ifname>]						Display IP Unnumbered Vlan/QinQ mappings
ipunnumbered map lookup <ifname> <ip_addr>					Lookup IP Unnumbered Vlan/QinQ entries
ipunnumbered show <ifname> [<s_vlan>[.<c_vlan>]]				Display IP Unnumbered Vlan/QinQ entries
ipunnumbered detail <ifname> <s_vlan>[.<c_vlan>]				Display IP Unnumbered Vlan/QinQ entry
ipunnumbered clear <ifname> [<s_vlan>[.<c_vlan>]]				Clear IP Unnumbered Vlan/QinQ entries
ipunnumbered route <ifname> <s_vlan>[.<c_vlan>] <prefix> [<mac_addr>]		Create or add route to ip unnumbered interface
ipunnumbered set <ifname> <flags>						Set Unnumbered interface settings
ipunnumbered dump								Dump config

 

 

комментарии :

  • делаем сейчас чтобы мак-адрес в добавлении маршрута был не нужен (будет добавляться при первом пакете от клиента)
  • маршруты добавляются/удаляются автоматом
  • обработка ARP - внутри софта, системную ARP-таблицу не меняем.
  • тестовую версию не выкладываем, т.к. не готово к использованию - определенный функционал приходится добавлять,чтобы DHCP заработал без костылей типа дополнительных скриптов
  • управление на уровне каждого сабинтерфеса будет (не сделали еще на уровне uspe-client)
  • ipunnumbered map будет использоваться для списка клиентов, чтобы не бегать лишний раз к Радиусу и не держать все сабы активными

 

Поправьте нас, если начали копать не туда :)

Posted

Столкнулись с трудностями в реализации "прозрачной работы" DHCP, поэтому нам все-же придется делать сейчас свой DHCP-релей в ядре, чтобы не городить кучу костылей.

Будем делать примерно так :

 

dhcp-relay <ifname> [source <ipaddr>] remote <ip-addr:port> opt82 <drop|keep|replace>
dhcp-relay <ifname> [source <ipaddr>] remote none

 

при этом, dhcp-reply пакеты будут фильтроваться, если приходят с subscriber-интерфесов.

PS <ifname> - физический интерфейс, но на уровне сабов можно будет отключить прием DHCP-пакетов

 

дайте знать, если что-то упустили

Posted

а зачем <ifname> ? нужно то указать адрес дхцп сервера, и адрес от которого будет пересылка, все остальное субскрайберы.

Posted

можно будет на разные DHCP-сервера отправлять запросы с каждого интерфеса. далеко не всегда надо, но бывает полезно. Да хоть для тестов например :)

Posted

больше сотни физических интерфейсов? :)

релей подключать будем на физический интерфейс и сразу для всех сабинтерфейсов. Но можно будет отключить на отдельных сабах/вланах.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...