Jump to content
Калькуляторы

TheRouter - software router and bras (dpdk based)

12 hours ago, kisa said:

В TheRouter для IPOE сабов есть dhcp relay. Он делает то, что вам нужно, за исключением добавления option82. Но, это легко добавить. В течении недели сделаю и дам вам знать, как будет готово.

 

Замечательно. 

 

Мы используем UTM5 от нетапа и там уже у каждого клиента есть сервисная связка ip-traffic с установленным вручную ip-адресом.

На данный момент свичи делают option82, а UTM5 отдает нужный ip-адрес.

 

Натолкните на правильный путь. Какие изменения нужно сделать в UTM5, чтобы по радиусу запрашивать тариф, адрес и тд.

 

Откликнитесь у кого UTM5 авторизует по радиусу клиентов.

 

 

Share this post


Link to post
Share on other sites

Добавил radius аккаунтинг (пока поддержка только для pppoe)

Новые настройки.
https://github.com/alexk99/the_router/blob/master/conf_options.md#radius-accounting

Обновление.
http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.pppoe_a0.05.tar.gz

Пример конфига для accounting'а

  sysctl set radius_accounting 1
  sysctl set radius_accounting_interim 1
  sysctl set radius_accounting_interim_interval 30
  radius_client add accounting server 192.168.5.2
  radius_client set accounting secret "secret"
 

Добавил поддержку атрибутов,
WISPr-Bandwidth-Max-Up | WISPr-Bandwidth-Max-Down 
они задают cir в битах ну и направление у них относительно пользователя, а не относительно маршрутизатора
как в моих атрибутах скорости ingress/egress.


Теперь в планах добавить keep alive для pppoe, сейчас его нет. есть только таймеры неактивности сессий.

И потом добавить новый тип инкапсуляции для qinq интерфейса, аля
   encapsulation dot1Q 35 second-dot1q any
 

Edited by kisa

Share this post


Link to post
Share on other sites

new pppoe build is http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.pppoe_a0.08.tar.gz

 

- radius: add new the_router specific radius attributes:
    ATTRIBUTE therouter_remote_id  11 string
    ATTRIBUTE therouter_circuit_id 12 string
    ATTRIBUTE therouter_lladdr     13 string

 

- pppoe: add support of pppoe vendor specific tags: remote-id, circuid-id.
if this tags are present in a pppoe discovery request their values will be 
included into a radius authentication request using the corresponding 
the_router specific radius attiributes

 

- pppoe: add subscriber's link layer address into a radius authentication request

 

- pppoe: use nas-port-id radius attribute instead of nas-port attribute.
format of nas-port-id attribute values is portid/svid.cvid

 

Share this post


Link to post
Share on other sites

Новый билд

http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.pppoe_a0.13.tar.gz

 

pppoe: add sysctl variable "ppp_1session_per_username"

When ppp_1session_per_username is turned on the_router disconnects
new pppoe subscribers that use the username already being used by another session.

When ppp_1session_per_username is turned on pppoe username can be used in CoA.

 

pppoe: add LCP keepalive support

https://github.com/alexk99/the_router/blob/master/conf_options.md#lcp_keepalive_interval

 

pppoe: add support of CoA disconnect using Acct-Session-Id

Edited by kisa

Share this post


Link to post
Share on other sites

http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.pppoe_a0.16.tar.gz

 

vif: add rx, tx byte counters to the output of the command "sh vif counters"
remove from the output of that command dynamic (subscribers) and lo interfaces;

 

pppoe: add rcli command "sh pppoe subsc <user-name>" that outputs the pppoe subscriber
with the given username

 

pppoe: add 'uptime' field to the output of "sh pppoe subsc" command

 

pppoe: increase username length up to 20 characters;
add username the output of "sh pppoe subsc" command;

 

pppoe coa: fix minor bugs, add support WISPr-Bandwidth-Max-Down/WISPr-Bandwidth-Max-Up attributes

 

pppoe: add sysctl variable "ppp_install_subsc_linux_routes"
When enabled the_router will install linux kernel /32 routes for subscribers ip addresses
Linux kernel routes will be installed at 'lo' interface in the namespace TheRouter is running in.
This option allows to announce subscriber's /32 prefixes by using "redisribute kernel" command
in FRR/Quagga bgpd or ospfd daemons.

 

Share this post


Link to post
Share on other sites

DHCP сервер, управляемый RADIUS, либо напрямую работающий с SQL имеется / планируется?

Share this post


Link to post
Share on other sites
18 минут назад, andryas сказал:

DHCP сервер, управляемый RADIUS, либо напрямую работающий с SQL имеется / планируется?

нет/нет

Share this post


Link to post
Share on other sites

планов по смене квагги на bird не имеете?

Share this post


Link to post
Share on other sites
22 минуты назад, nixx сказал:

планов по смене квагги на bird не имеете?

пока нет, т.к. Quagga/FRR в большинстве случаев достаточно.

под какой-то конкретный проект с внедрением можно было бы обсудить отдельно.

Share this post


Link to post
Share on other sites

Запустили два сервера под управлением TheRouter в продакшн.

25K сессий.

первый сервер ash1 - PPPoE cервер.
второй сервер ash2 - NAT.
результаты во вложении

 

Конфигурация cерверов
   проц Intel Xeon E3-1285Lv3 3.10GHz, 4 Core
   память 32GB
   сетевухи Intel XL710-QDA2

Rate limiter режет ровно по тарифу, burst отрабатывает.

P.S. трафик небольшой из-за ограничений интернет тарифов.

pppoe_nat_11_04_2019_6.png

Share this post


Link to post
Share on other sites
11 минут назад, pppoetest сказал:

cpu load где

это DPDK без применения power management схем, cpu 100% всегда

Share this post


Link to post
Share on other sites

А шейпер умеет разную скорость на разные подсети?

Share this post


Link to post
Share on other sites
1 час назад, Sacrament сказал:

А шейпер умеет разную скорость на разные подсети?

Не умеет.

Share this post


Link to post
Share on other sites

Судя по описанию, это то во что должен был превратиться accel-pppd.

Очень интересно, будем пробовать.

Share this post


Link to post
Share on other sites
В 13.04.2019 в 18:14, dursun266 сказал:

Не умеет.

Печалька, а какой-нить скрипт по подключению, отключению, СоА умеет как ассель?

Share this post


Link to post
Share on other sites
1 час назад, Sacrament сказал:

Печалька, а какой-нить скрипт по подключению, отключению, СоА умеет как ассель?

COA умеет без скрипта, кроме on/off есть еще speed change.

Share this post


Link to post
Share on other sites
В 15.04.2019 в 05:10, Sacrament сказал:

Печалька, а какой-нить скрипт по подключению, отключению, СоА умеет как ассель?

а зачем скрипты?

Share this post


Link to post
Share on other sites
11 часов назад, kisa сказал:

а зачем скрипты?

Эта фича из accel-ppp. Изначально вопрос про разную скорость на разные подсети.

Из accel'я запускается скрипт с tc с нужными настройками htb.

 

Share this post


Link to post
Share on other sites
2 часа назад, dursun266 сказал:

Эта фича из accel-ppp. Изначально вопрос про разную скорость на разные подсети.

Из accel'я запускается скрипт с tc с нужными настройками htb.

 

это фича из pppd :) зачем она в линуксе я понять могу, в контексте therouter я не вижу пока зачем она может быть нужна.

Share this post


Link to post
Share on other sites
5 часов назад, kisa сказал:

это фича из pppd :) зачем она в линуксе я понять могу, в контексте therouter я не вижу пока зачем она может быть нужна.

Нету смысла резать скорость до кэшей различных и пирингов 

Share this post


Link to post
Share on other sites
58 минут назад, zhenya` сказал:

Нету смысла резать скорость до кэшей различных и пирингов 

Я о скриптах, а не о шейпере с разными направлениями, который однозначно нужная фича

Share this post


Link to post
Share on other sites
9 часов назад, kisa сказал:

Я о скриптах, а не о шейпере с разными направлениями, который однозначно нужная фича

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

А так если такой шейпер будет сразу встроен, то конечно скрипты не нужны.

Share this post


Link to post
Share on other sites
6 часов назад, Sacrament сказал:

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

А так если такой шейпер будет сразу встроен, то конечно скрипты не нужны.

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

Edited by kisa

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