Перейти к содержимому
Калькуляторы

TheRouter - software router and bras (dpdk based)

В PPPoE планируется поддержка "intermediate agent"?

Хотелось бы видеть в Radius запросах ADSL-Agent-Circuit-Id, ADSL-Agent-Remote-Id.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 минут назад, ~pavel~ сказал:

В PPPoE планируется поддержка "intermediate agent"?

Хотелось бы видеть в Radius запросах ADSL-Agent-Circuit-Id, ADSL-Agent-Remote-Id.

 

Оно есть.

ATTRIBUTE therouter_remote_id  11 string
ATTRIBUTE therouter_circuit_id 12 string

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени.

 

Скажите пожалуйста, а можно ли сделать одно суммарное  ограничение скорости для нескольких Ip адресов. Например для двух ip 3.3.3.5 и 3.3.5.5 скорость канала в 50М, если один качает 45М то  второму остается 5М.

 

Спасибо. 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, haooss сказал:

Доброго времени.

 

Скажите пожалуйста, а можно ли сделать одно суммарное  ограничение скорости для нескольких Ip адресов. Например для двух ip 3.3.3.5 и 3.3.5.5 скорость канала в 50М, если один качает 45М то  второму остается 5М.

 

Спасибо. 

 

 

Сейчас такой фичи нет. HQoS планируется к концу 3 квартала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавил поддержку PPTP ALG в NPF NAT.
git clone -b pptp_alg https://github.com/alexk99/npf

 

Версия TheRouter совместимая c pptp веткой NPF
http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.pppoe_a0.84.tar.gz
http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.intel_westmere.pppoe_a0.84.tar.gz
http://therouter.net/downloads/the_router.6cores.dpdk.17.11.1.pppoe.intel_nehalem.pppoe_a0.84.tar.gz

 

пример, конфига NPF

 

map v3 netmap 10.111.0.0/29

alg "icmp"
alg "pptp"

group default {
  block stateful final on v3 proto 47 all
  pass stateful final on v3 all
}

 

P.S. pppoe в названии версии therouter не означает, что поддерживается только pppoe bras. все ipoe фичи тоже доступны
 
 

Изменено пользователем kisa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте.

 

Подскажите куда смотреть. При старте the_router в лог пишет:

....

ROUTER: Loading the runtime part of configuration file '/etc/router_nat.conf'...
ROUTER: /etc/router_nat.conf:53:37: npf load failed: 22 near '"/etc/npf_nat_test.conf"'
ROUTER: router configuration loaded with errors: num failed commands 1

 

/etc/npf_nat_test.conf выглядит так:

 

map uplink netmap 10.0.100.0/29
group default {
   pass stateful final on uplink all
   pass final on downlink all
}

 

При этом the_router стартует и трафик маршрутизируется, но не НАТится.

 

с npf не связывался, прошу подсказать что не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, к абиллсу кто нибудь прикручивал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

bonding  (LACP) в  the_router есть ? 

 

нужно сделать   две трубы  =  два по 10ГБит/с  интерфейса , чтобы  порядка 15ГБит/с транзитом в одну сторону пропустить

5,5 -7 млн пакетов /сек  простого L3 роутинга какая железка осилит?

+ нужны две BGP сессии по IPv4 и IPv6 протоколу

 

http://therouter.net/  

 

IPv6 (test phase)    -  насколько это готово?

Изменено пользователем QWE

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

Изменено пользователем kisa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 часов назад, QWE сказал:

bonding  (LACP) в  the_router есть ? 

 

нужно сделать   две трубы  =  два по 10ГБит/с  интерфейса , чтобы  порядка 15ГБит/с транзитом в одну сторону пропустить

5,5 -7 млн пакетов /сек  простого L3 роутинга какая железка осилит?

+ нужны две BGP сессии по IPv4 и IPv6 протоколу

 

http://therouter.net/  

 

IPv6 (test phase)    -  насколько это готово?

LACP поддерживается
https://github.com/alexk99/the_router/blob/master/link_bonding.md

 

i7-5820K CPU @ 3.30GHz с картой Intel XL710 40GbE может 23 Mpps.
Какая именно железка нужна для 7Mpps не знаю. Можно только примерно прикинуть, что попроще.

 

Вот тесты производительности раутинга:
https://github.com/alexk99/the_router/blob/master/routing_perf_tests.md
http://therouter.net/images/tests/routing_tests/27_01_2018/router_test_21.01.2018_routing_test1_wo_borders.html

 

IPv6 border в продакшене у небольшого швейцарского датацентра, т.е. у меня отзывов по ipv6 все еще очень мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В одном регионе установил сервер, подтянул около 2к абонентов, получилось следующее:

Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz

 

К сожалению, на этом тестирование закончилось, в связи с моим увольнением из конторы. Дальше проект не стали использовать,

поставили "циску", почему - не могу сказать, хотя по всем показателям, все было просто великолепно.

 

 

По поводу сложностей с интеграцией:

Схема подключения абонентов - Q-in-Q, от головного устройства GEPON тянется Outer-VLAN, в котором находятся абоненты.

Биллинг использовался LanBilling, в связи с этим, возникли некоторые трудности.

 

RADIUS-агент биллинга гибок, но не настолько, чтобы переварить кастомные запросы the_router, пришлось написать некую "прослойку", между 

брасом и биллингом, которая делала следующее:

 

1) Брас получает пакет (любой) с парой SVLAN:CVLAN

2) Принимаем от браса RADIUS-запрос, вытаскиваем из него пару SVLAN:CVLAN, преобразуем их в понятный LanBilling формат

3) Биллинг разбирает радиус-запрос и отдает Accept/Reject + IP подсеть, привязанную к абоненту

4) Мой транслятор отправляет эти данные в понятном брасу формате и у него создается интерфейс с установленными параметрами IP/Скорость

 
vlan	    subsc ip	 interface ip         mode	port	ingress_car	egress_car	rx_pkts	tx_pkts	rx_bytes	tx_bytes  rx_rate       tx_rate
59.101	    none 	     100.68.0.17/28         1	1	    102 mbit/s	102 mbit/s	0	          0	       0	       0   10 Mbps     2.4 Mbps


5) Далее, абонент присылает DHCP Request, он попадает на рилей, к нему дописывается (Спасибо автору!) opt82 в зависимости от настроек. В моем случае, всё те же SVLAN/CVLAN, ибо BDCOM в этом плане очень туп.

6) Брас рилеит это все дело опять же в мой сервис, который делает (шо, опять? :))) )  RADIUS-запрос к биллингу, запрашивая параметры DHCP, получает их и выдает из полученной подсети IP-Адрес абоненту, отвечая обратно

 

Все работает :)

 

Да, можно было бы, конечно, использовать какие-то сторонние DHCP, как-то изголяться с радиусом, но мне проще было написать свои RADIS/DHCP сервера, благо, они встроены в сервис, который так или иначе на брасе запускается,

так как еще и SNMP ловит.

 

Что понравилось: работает, просто работает. Автор весьма дружелюбен, отвечает, какие-то нужные штуки реализовал без вопросов.

Что не понравилось: на тот момент (июнь-июль 2019) отсутствовал (не знаю, как сейчас) какой-либо аналог tcpdump. Рекомендовалось поставить порт-мирроринг, но это было в моем случае очень не удобно. 

                                Консольная утилита оставляет желать лучшего. Хотел переписать, но стало уже не нужно. Вернусь к использованию - разберемся.

 

Что совсем не понравилось - закрытый код. Хотя, тут можно понять - денег хочется всем. Когда я пришел и сказал начальству "А дайте мне 50к" - "А зачем?"  - "Ну.. XXX допишут.." - "Е***ся чтоли??!"

По всей видимости, именно поэтому и поставили в итоге циску, там ничего дописывать не надо ))) Очень сложно спорить с начальством, дать денег "каким-то разработчикам" или "купить железку" - тут однозначно железка как-то более ощутима физически.

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

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

 

Как-то так )

 

В остальном проект отличный, рабочий. 

 

 

 

 

Снимок экрана от 2019-08-25 19-38-50.png

Снимок экрана от 2019-08-25 19-40-07.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, TSM сказал:

В одном регионе установил сервер, подтянул около 2к абонентов, получилось следующее:

Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz

 

 

на 2000 абонентов и 2 гигабита трафика, оно просто  for fun что ли?

 

Там и на самой обычной реализации linux ядра нагрузка едва ли бы до 5-10% дотянула.

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

 

такими оптимизациями начинают морочиться когда 50 тысяч абонентов не  влезает.....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за отзыв.
 
Из новых фич:
 
Допилен ipoe влан на группу абонентов.
 
Radius accounting для ipoe.
 
Сейчас работаю над HQoS с использованием nDPI в качестве классификатора трафика для  приоритезации трафика внутри абонентских полос.
 
Новые сборки уже коммерческие.
Цены в личке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 hours ago, LostSoul said:

на 2000 абонентов и 2 гигабита трафика, оно просто  for fun что ли?

 

Там и на самой обычной реализации linux ядра нагрузка едва ли бы до 5-10% дотянула.

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

 

такими оптимизациями начинают морочиться когда 50 тысяч абонентов не  влезает.....

 

Совершенно верно, for fun :) Задача была "вот тебе сервер - сделай с него брас". Можно было по-старинке, скриптиками...

 

Хотелось сделать решение, которое можно было бы ставить в городе для терминации трафика. Как Вы понимаете,  ставить сразу на всех абонентов - как-то такая себе идея. А вот регион с 2-5 тысячами абонентов самое то, чтобы обкатать.

Тут главным было скорее именно то, что это брас, а не "набор скриптов". Хотелось плотной интеграции с биллингом.

 

Но, как я уже сказал - дальше 2К абонентов не выросло, хотя планировалось. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не заметил решения по IPoE : L2 и авторизация по opt82. Планируется ли оно ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 26.09.2019 в 05:33, baronzzz сказал:

Не заметил решения по IPoE : L2 и авторизация по opt82. Планируется ли оно ?

есть две IPoE схемы: влан на абонента, влан на группу абонентов. TheRouter всегда работает по L3 cхеме,

т.е. всегда выступает в качестве маршрутизатора. Работа в режиме прозрачного L2 моста не планируется.

dhcp relay поддерживает вставку opt82 в запросы. что такое авторизация по opt82? авторизация происходит с помощью radius протокола, в запросах на авторизацию вся информация об абоненте (влан, мак и т.д) есть. Сессии инициируются по неклассифицированным пакетам (т.е. по любым неизвестным пакетам). Инициация сессий по dhcp пакетам есть в планах.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@kisa 

Тут имеется в виду авторизация L2 или L3, т.е. в одном влане БРАС и клиент, или кто-то вланы терминирует до БРАСа. Понятно что сам БРАС работает в Л3 режиме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 минут назад, kayot сказал:

Тут имеется в виду авторизация L2 или L3, т.е. в одном влане БРАС и клиент, или кто-то вланы терминирует до БРАСа.

поддерживаются оба варианта

 

11 минут назад, kayot сказал:

Понятно что сам БРАС работает в Л3 режиме.

есть такие, которые работают как прозрачный l2 мост.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлена инициация сессий по dhcp пакетам. Добавлен режим arp security, в котором для каждого l2 connected subscriber создается статическая arp запись. Режимы инициации l2 suscr теперь контролируются через конфиг. Ttl сабскрайберов можно задавать через radius.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скажите пожалуйста

есть ли поддержка unambered vlan для VIF ? если да, то будет ли роутер отвечать на arp reply  своим mac на все arp who-has ?

Есть ли source-check для VIF во избежании подмены ip адресов ?

Eсть ли шейпер для VIF ?

 

 

 

 

Изменено пользователем dios

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 часов назад, dios сказал:

Скажите пожалуйста

есть ли поддержка unambered vlan для VIF ?

ip unnumbered есть.

 

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

пакет (любой), с последующей авторизацией создания нового vif через radius.

это режим IPOE "vlan per subscriber". и это уже не VIF объекты, а subscriber.

 

а есть режим IPOE влан на группу абонентов.

тогда нужные VIF создаются статически командами cli, например, вот так:

 

vif add name subsp0 port 0 type qinq range svid 2000 2100 cvid 2500 2800 flags l2_subs

т.е. описывается диапазон вланов, для которых надо создать интерфейсы на которых буду l2 connected сабы.

 

затем абонентские сессии (самы сабы) на этих VIF уже будут создаваться и авторизовываться динамически с помощью radius. в этом случае инициация создания сабскрайбера возможна по входящим/исходящим неклассифицированным пакетам любого типа, либо по dhcp ack в случае применения dhcp relay.

 

Цитата

 

 

если да, то будет ли роутер отвечать на arp reply  своим mac на все arp who-has ?

proxy arp есть

 

Цитата

Есть ли source-check для VIF во избежании подмены ip адресов ?

если речь а Reverse Path Filtering как в том же линукс.

то пока нет. но сделать не трудно.

 

Цитата

Eсть ли шейпер для VIF ?

шейпер для subscriberов есть. шейпер для vif тоже есть.

 

Изменено пользователем kisa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть howto по IPOE, где все моменты, упомянутые выше, описаны с полными конфигами, схемами и т.п.,

за исключением range vif и других range команд, которые были добавлены совсем недавно.

https://github.com/alexk99/the_router/blob/master/bras/bras_howto_eng.md

 

и есть howto по PPPoE

https://github.com/alexk99/the_router/blob/master/bras/pppoe_bras_howto_eng.md

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 26.09.2019 в 06:33, baronzzz сказал:

Не заметил решения по IPoE : L2 и авторизация по opt82. Планируется ли оно ?

IPOE функция инициации L2 сабов по dhcp доделана. поддержка option82 для dhcp relay есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Proxy arp немного не то. Он подойдет если вся подсеть терминируется на одном роутере. А если подсеть размазана по нескольким роутерам это уже не подходит. 

На циске  например, если указать unnambered в vlan, то она на любой arp who-has из этого vlan отвечает хосту своим маком, тем самым заставляя хост отправить на себя пакет, а далее она уже отроутит по таблице маршрутов. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот вы ровно точно и описали алгоритм работы proxy arp.

 

и если подсеть терминируется на разных раутерах, то proxy arp одного

из них получив запрос, затем убедившись, что у него есть маршрут до ip 

адреса из запроса (это может быть соседний интерфейс к соседнему раутеру, а может быть просто другой интерфейс,

к другому сабу, как в случае когда подсеть используется unnumbered другими vlan per subscriber),

и этот маршрут не ведет обратно в интерфейс откуда получен запрос, ответит на него своим мак.

затем получив трафик на этот мак перенаправит его в другой интерфейс согласно таблице маршрутизации.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.