martini Posted June 8, 2015 Posted June 8, 2015 так а что там с IP-unnumbered QinQ и дхцп ? какие то релизные даты есть ?? Вставить ник Quote
arni Posted June 8, 2015 Author Posted June 8, 2015 дописали, уже тестируем, исправляем. Дату релиза еще не намечали, но первую альфу хотим уже через пару-тройку недель выпустить. Сам IP-unnumbered уже работает, но ARP/DHCP пока что еще не стабильны. Вставить ник Quote
arni Posted June 8, 2015 Author Posted June 8, 2015 Новый багфикс-релиз нашего софта (15.2.5). На этот раз исправлений много : Исправлена маска при добавлении IP адресов в LIST_ADD (для IPv4) Улучшен перформанс обработки добавления/удаления адресов в ACL (IPv4, IPv6, Hostlist) добавлена возможность уничтожить только один ACL (был только flush, который сам ACL не удалял) исправлен баг с выводом uptime исправлен неверный byte-order в ACL (IPv4) оптимизировано и исправлено отрицание match-правил в некоторых правилах исправлен dump временных записей в ACL (IPv4) качать как всегда тут : http://www.uplink-spe.com/downloads/ uplink-spe_15.2.5_centos7-3.10.0-229.1.2.el7.x86_64.tar.gz uplink-spe_15.2.5_ubuntu1504-3.19.0-15-generic.tar.gz Вставить ник Quote
Wingman Posted July 2, 2015 Posted July 2, 2015 (edited) Есть ли возможность nat 1-в-1 по ответу радиуса? С добавлением роутов в блекхол, чтобы бёрд/квага могла их анонсить? (По аналогии с lISG) Есть ли возможность (профилями, присылаемыми радиусом?) сделать два типа редиректа по ответу радиуса: 1) "абонент не найден", и редиректить на страницу для ввода логина и пароля и последующей обработки скриптами 2) стандартную страничку "нет денег" ? Есть ли возможность терминации Q-in-Q-in-Q? Очень странная хотелка, да :) Но очень сильно облегчила бы жизнь: каждому порту свитча можно было бы присваивать ВСЕГДА vlan id 1-24 или 1-48, заворачивать во vlan-на-свитч, а уже его заворачивать во vlan-на-район/город. Ну а на брасе - разворачивать в обратном порядке, и слать в радиус три vlan id Есть ли защита релея от dhcp-флуда? Есть ли CoA? Есть ли/планируется ли поддержка временных интервалов и, в зависимости от них, скоростей для тарифов/профилей? У вас все тесты синтетические "часок погонять трафик на столе", или тестируете хоть на какой-нибуть мало-мальски нагруженной реальной сети? Когда альфа планируется? :) ------ Сейчас в хвост и в гриву пользуем lISG, но потихоньку думаем об альтернативе. lISG великолепно показал себя железобетонной простотой и стабильностью, но на будущее - думаем о внедрении qinq и ipv6, которых в нём не предвидится ;( При сопоставимой с lisg стабильности на какой-нибуть более развитый софт после тестирования было бы совсем не жалко потратиться. Edited July 2, 2015 by Wingman Вставить ник Quote
arni Posted July 2, 2015 Author Posted July 2, 2015 Есть ли возможность nat 1-в-1 по ответу радиуса? С добавлением роутов в блекхол, чтобы бёрд/квага могла их анонсить? (По аналогии с lISG) Nat 1-в-1 - можно. просто на клиента выдавайте пул портов в 2^16 С маршрутами - нет, не делали такое. Можно как костыль мониторить список текущих сессий и обновлять соответственно маршруты. Если реально нужная фича - можно и плугин какой написать Есть ли возможность (профилями, присылаемыми радиусом?) сделать два типа редиректа по ответу радиуса: 1) "абонент не найден", и редиректить на страницу для ввода логина и пароля и последующей обработки скриптами 2) стандартную страничку "нет денег" ? Конечно! Радиус должен кидать на разные профили, а там уже TPROXY по вкусу :) Есть ли возможность терминации Q-in-Q-in-Q? Очень странная хотелка, да :) Но очень сильно облегчила бы жизнь: каждому порту свитча можно было бы присваивать ВСЕГДА vlan id 1-24 или 1-48, заворачивать во vlan-на-свитч, а уже его заворачивать во vlan-на-район/город. Ну а на брасе - разворачивать в обратном порядке, и слать в радиус три vlan id Ой... На 100% сейчас не скажу, но можно попробовать поднять QinQ на VLAN интерфейсе. Системе должно быть пофигу, а мы не требуем чтобы интерфейс был физическим. Перед выпуском тестовой версии попробуем, посмотрим как будет работать :) Есть ли защита релея от dhcp-флуда? Да. А так же ARP процесса тоже. Делаем на уровне саб-интерфейса. Можно выставить дефалтовый pps на DHCP и/или ARP пакеты, который будет выдаваться на все новые сабы + можно изменить/отключить на живом сабе. Есть ли CoA? Да. фактически radius-proxy делает session update <ip> .... Есть ли/планируется ли поддержка временных интервалов и, в зависимости от них, скоростей для тарифов/профилей? Уже есть в 15.2 : match time from <hh:mm> to <hh:mm> on [Mon,Tue,Wed,...] У вас все тесты синтетические "часок погонять трафик на столе", или тестируете хоть на какой-нибуть мало-мальски нагруженной реальной сети? И так и так. Пока в разработке - тестируем синтетически. Потом на зеркалированой копии трафика живых клиентов. Потом в live :) Когда альфа планируется? :) Вот-вот будет. Допиливаем DHCP - много процессинга пакетов, который нужно сделать аккуратно и не отправлять систему в панику. Очень стараемся по-скорее, но все же приоритет на надежность - все-таки это ядро.. как процесс не перезапустить :( ------ Сейчас в хвост и в гриву пользуем lISG, но потихоньку думаем об альтернативе. lISG великолепно показал себя железобетонной простотой и стабильностью, но на будущее - думаем о внедрении qinq и ipv6, которых в нём не предвидится ;( При сопоставимой с lisg стабильности на какой-нибуть более развитый софт после тестирования было бы совсем не жалко потратиться. 15.2 достаточно стабилен уже, правда в нем нет qinq :/ Для тестов он вполне близок по функционалу к следующей версии - мы старые функции не меняли, только добавляем новый функционал. Так что можно даже начать с использования 15.2 и миграцию на следующую версию, когда она себя тоже зарекомендует как стабильная. Первые альфы беты конечно не для продакшна, но релизы доведем до стабильного качества Кстати, недавно получили бенчмарки на i7-4770 CPU @ 3.40GHz + Intel x520-DA2 на реальном трафике и наконец знаем где потолок на таком железе - 1.9Mpps и 14.5Gbit/s (по данным софта, а мы считаем длину пакета из заголовка IP). С учетом тэгов - чуть больше 15Gbit/s. На этом трафике кончается эффективность кэша и CPU начинает подползать с 60%. Данные собрали, красивые графики сделаем для sales позже :) Все тесты делали с реальной конфигурацией (разные зарезки/переадресации Tproxy и тп), так что вполне можно использовать для референса. Уже знаем где можем улучшить, так что думаю это даже не предел Вставить ник Quote
arni Posted July 4, 2015 Author Posted July 4, 2015 Есть ли возможность nat 1-в-1 по ответу радиуса? С добавлением роутов в блекхол, чтобы бёрд/квага могла их анонсить? (По аналогии с lISG) По маршрутам - в следующей версии маршруты будут создаваться в случае использования qinq/ip-unnumbered. Но и для обычного рутинга в 15.2 мы нашли решение (костыль? :) : - можно настроить прием аккаунтинг-пакетов от софта на роут-сервере и обрабатывать их скриптом - добавляя/удаляя маршруты. Структура UDP-пакета не сложная и разобрать ее тем же perl-ом - в несколько строчек можно. Единственное, что нужно учесть - когда огромный поток клиентов перепрыгивает на другой брас - может не выдержать RX-буфер и какие-то пакеты потеряются. Но и это можно решить используя несколько таких роут-серверов - пакеты будут кидаться всем по очереди. Как уже писал, можно доработать что-то в 15.2, чтобы создавать/удалять маршруты вместе с сессиями. Тогда надо будет знать как их лучше обновлять, чтобы еще и форвардингу не мешать. Есть какие-то предпочтения? Как у себя в сети это решаете? Вставить ник Quote
Wingman Posted July 4, 2015 Posted July 4, 2015 Как уже писал, можно доработать что-то в 15.2, чтобы создавать/удалять маршруты вместе с сессиями. Тогда надо будет знать как их лучше обновлять, чтобы еще и форвардингу не мешать. Есть какие-то предпочтения? Как у себя в сети это решаете? Всё делает lISG. При старте сессии - добавляет маршрут, при стопе - гасит Кстати, а как у вас "заканчиваются" ipoe-сессии? В lisg есть настраиваемый таймаут, по окончании которого при отсутствии трафика сессия считается завершенной, плюс - настраиваемый таймаут безусловного завершения сессии - т.е., например, раз в сутки она гасится и авторизовывается заново Вставить ник Quote
arni Posted July 5, 2015 Author Posted July 5, 2015 Кстати, а как у вас "заканчиваются" ipoe-сессии? В lisg есть настраиваемый таймаут, по окончании которого при отсутствии трафика сессия считается завершенной, плюс - настраиваемый таймаут безусловного завершения сессии - т.е., например, раз в сутки она гасится и авторизовывается заново Точно так же делаем. Есть idle_timeout и max_duration сессии и их так же можно менять. Вставить ник Quote
arni Posted July 5, 2015 Author Posted July 5, 2015 Когда уже релиз будет? Очень стараемся по-скорее. Мы пока еще в глухом дебаге, как только исправим панику в паре мест - будем собирать альфу. Для продакшна альфа не пойдет точно, но на потрогать должно быть достаточно Вставить ник Quote
SyJet Posted July 6, 2015 Posted July 6, 2015 Когда уже релиз будет? Очень стараемся по-скорее. Мы пока еще в глухом дебаге, как только исправим панику в паре мест - будем собирать альфу. Для продакшна альфа не пойдет точно, но на потрогать должно быть достаточно Да мы уже напробовались и фидбеков накидали в свое время ;) Вставить ник Quote
arni Posted July 6, 2015 Author Posted July 6, 2015 Новый релиз очень объемный (по объему нового кода), стараемся стабильнее сделать. Надеюсь альфу/бету пройдем быстро :) Вставить ник Quote
arni Posted July 26, 2015 Author Posted July 26, 2015 (edited) Наконец-то можем поделиться первой альфой следующей версии нашего софта. Постепенно исправляем ошибки до релиза, но уже сейчас основной функционал довольно стабилен. Качать тут : http://www.uplink-spe.com/downloads/alpha_builds/uplink-spe_15.8alpha1_ubuntu1504-3.19.0-15-generic.tar.gz Документация (дорабатывается) тут : http://www.uplink-spe.com/docs/15.8/ Поскольку это только альфа, для продакшна еще сыровата и может паниковать. Новшества : Терминирование QinQ и Dot1Q + IP-Unnumbered Встроенный DHCP-сервер (для статических и динамических лиз) Встроенный DHCP-релей Встроенный DHCP-Radius релей Как и ранее, весь функционал в модуле ядра. Сущействующий функционал не меняли, все багфиксы из 15.2 портируются в 15.8. Будем рады вашим коментариям и критике! PS. DHCP-релей и DHCP-Radius релей в этой альфе мало тестировался и пока рассматривается как не рабочий. Поправим к следующей альфе Edited July 26, 2015 by arni Вставить ник Quote
arni Posted August 6, 2015 Author Posted August 6, 2015 (edited) Выпустили 2-ю альфу. Исправили пару мелких багов и неверную инициализацию саб-интерфейса из qinqmap. Так же обновили ядро до 3.19.0-25-generic качать тут : http://www.uplink-spe.com/downloads/alpha_builds/uplink-spe_15.8alpha2_ubuntu1504-3.19.0-25-generic.tar.gz PS. DHCP-релей еще допиливаем. Edited August 6, 2015 by arni Вставить ник Quote
arni Posted August 7, 2015 Author Posted August 7, 2015 Выпустили 3-ю альфу. Поправили матчинг интерфейсов, дамп топологии, и создание сессий. качать тут : http://www.uplink-spe.com/downloads/alpha_builds/ PS. DHCP-релей еще допиливаем. Вставить ник Quote
SyJet Posted October 2, 2015 Posted October 2, 2015 (edited) Продукт хоть развивается? А то последний альфа от 7 августа.. Edited October 3, 2015 by SyJet Вставить ник Quote
arni Posted October 3, 2015 Author Posted October 3, 2015 Да, конечно :) добавляем IPv6 в QinQ/Unnumbered и исправляем DHCP-релей - выпустим еще хотя бы одну альфу и тогда доберемся до беты! Вставить ник Quote
arni Posted October 20, 2015 Author Posted October 20, 2015 В открытом доступе теперь доступны XML-файлы для KLISH (командная оболочка для Cisco-подобной консоли). https://github.com/uplink-spe/uplink-cli Реализовано пока еще не все, но постараемся к релизу 15.8 сделать все команды (15.2 и 15.8)! Вставить ник Quote
Wingman Posted October 27, 2015 Posted October 27, 2015 (edited) При конфигурации QinQ/vlan-per-user возможно ли в одном клиентском влане иметь две абонентских сессии? Такое встречается частенько, к сожалению: например, юзер + STB, или юзер с несколькими компами, категорически не приемлящий роутеры Насколько оно стабильно на данный момент? :) p.s. Уже собрался было пощупать, как обнаружил (ну туплю, да), что ядро строго ограничено, да ещё и 3.13. Вроде как в последних ядрах очень заметно переработали сетевую подсистему, сделав её заметно шустрее... И сборки под убунту и центось ;( Нет чтоб под дебиан и генту :)) Кстати, может быть, имеет смысл открыть сурцы клиента? Без модулей там врядли что-то особенно важное для конкурентов будет, зато модули зависят только от версии ядра, а бинарники можно было бы собрать на любой системе Edited October 27, 2015 by Wingman Вставить ник Quote
arni Posted October 28, 2015 Author Posted October 28, 2015 (edited) При конфигурации QinQ/vlan-per-user возможно ли в одном клиентском влане иметь две абонентских сессии? Такое встречается частенько, к сожалению: например, юзер + STB, или юзер с несколькими компами, категорически не приемлящий роутеры Насколько оно стабильно на данный момент? :) Да, конечно можно! Работает вполне стабильно, у нас осталось только DHCP-релей доделать. QinQ отвечает только за сетевой уровень, сессии создаются потом - так что можно хоть все сессии держать в одном QinQ влане :) (правда, маршруты на QinQ сабинтерфесе все в одном списке, так что лучше держать их количество в разумных пределах) Или даже объединить в одной master-сессии разные IP-адреса из разных QinQ вланов :) p.s. Уже собрался было пощупать, как обнаружил (ну туплю, да), что ядро строго ограничено, да ещё и 3.13. Вроде как в последних ядрах очень заметно переработали сетевую подсистему, сделав её заметно шустрее... И сборки под убунту и центось ;( Нет чтоб под дебиан и генту :)) Кстати, может быть, имеет смысл открыть сурцы клиента? Без модулей там врядли что-то особенно важное для конкурентов будет, зато модули зависят только от версии ядра, а бинарники можно было бы собрать на любой системе Да, уже давно не выпускали новых билдов :/ можем собрать под свежее ядро или другую систему если есть интерес! У нас чаще просят компилять под их кастомное ядро, так что особо не гоняемся за свежими апдейтами и разными дистрами) стараемся перед билдом обновиться до свежей версии из стандартных репозиториев чтобы было проще с демо-версией. Скоро соберем образ виртуалки для демо, будет еще легче играться ;) А про открытие клиента - скорее всего мы его заменим. В его рамках нам уже тесновато, так что подумываем сделать KLISH для консоли и HTTP API - и сразу открытыми их делать. Но пока что "руки не доходят посмотреть" :) пока просто собираем бинарники под нужную ос Edited October 28, 2015 by arni Вставить ник Quote
SyJet Posted October 28, 2015 Posted October 28, 2015 :) самая нужная ОС это leaf для меня. Можно? Вставить ник Quote
arni Posted October 28, 2015 Author Posted October 28, 2015 :) самая нужная ОС это leaf для меня. Можно? Конечно! все что нам нужно это иметь devel-версию их ядра (kernel-devel пакет) чтобы мы могли скомпилять (если у вас кастом). Я так понимаю с LEAF проще согласовать версию - и мы соберем под их стоковое ядро. Присылайте, сделаем! Вставить ник Quote
NiTr0 Posted October 28, 2015 Posted October 28, 2015 Конечно! все что нам нужно это иметь devel-версию их ядра (kernel-devel пакет) чтобы мы могли скомпилять (если у вас кастом). ядро - ванильное, с минимумом патчей. Вставить ник Quote
arni Posted November 4, 2015 Author Posted November 4, 2015 (edited) Выпустили багфикс-релиз 15.2.6 (пока только для Ubuntu 15.10): http://www.uplink-spe.com/downloads/uplink-spe_15.2.6_ubuntu1510-4.2.0-16-generic.tar.gz поддержка ядер 4.2 несколько оптимизаций освобождения памяти для управляющих соединений (TCP/UDP сокеты) чистка кода для большей совместимости с версией 15.8 Изменения все внутренние, для упрощения поддержки. Из новых фич только поддержка более свежих ядер. UPD: добавили сборку для Centos 7 : http://www.uplink-spe.com/downloads/uplink-spe_15.2.6_centos7-3.10.0-229.20.1.el7.x86_64.tar.gz UPD2: добавили сборку для Fedora 23 : http://www.uplink-spe.com/downloads/uplink-spe_15.2.6_fedora23-4.2.5-300.fc23.x86_64.tar.gz Edited November 6, 2015 by arni Вставить ник Quote
crank Posted November 6, 2015 Posted November 6, 2015 (edited) Не могу никак разобраться с настройкой SNAT. Похоже что-то не то делаю в профиле. Вот на этом тестирую Система Ubuntu 15.10. Установлена последняя версия USPE. Linux uspe 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux filename: /lib/modules/4.2.0-16-generic/extra/ebt_USPE.ko version: 15.2.6 description: Xtables: USPE User service policy engine author: Uplink SIA <arni@uplink.lv> license: Proprietary srcversion: 9C37B25DE9832D624676A69 depends: vermagic: 4.2.0-16-generic SMP mod_unload modversions parm: max_profiles:Maximal Profile/Policer count (default - 128) (uint) parm: before_iptables:Packet hook (0 - in POST_ROUTING, 1 - in PRE_ROUTING (default)) (uint) parm: mgm_port:Management port to use (default - 44044) (uint) parm: licence_key:Licence key (charp) parm: customer_id:Customer ID (uint) parm: no_anon_stats:Don't send anonymous stats to Uplink (Default - 0) (uint) Конфиг: # System # sys dump system unmatched-action accept # ACL # ACL6 # Host ACL # Profiles profile create 1 name INET profile add 1 action SNAT4 1 profile commit # Policers # policer 1 (INET) policer create 1 name INET policer add 1 action ACCEPT policer commit # Map map add 172.16.0.0/24 1 1 # HTTP-redirects # AAA # Topology topology interface l3 internet eno16777728 ip topology interface l3 subscriber eno33554952 ip topology vfilter 0 # NAT4 nat create 1 slot-size 2 name POOL nat add private 1 172.16.0.0/24 nat add public 1 10.1.0.105/32 nat commit # Done Сессия видна root@uspe:~# uspe-client session show all IP Age Policy IN pkts/Drop IN bytes/Drop OUT pkts/Drop OUT Bytes/Drop Flags 172.16.0.2 14 1/1 0/0 0/0 2/2 120/120 AUC---4----- Session flags key: ----------------------------------------------------------------- A - Approved U - Up, Online C - Counters Enabled S - Slave M - MAC filter present 2 - QinQ session 4 - IPv4 based session 6 - IPv6 based session I - Interface based session N - SNAT4 active n - SNAT4 static ports present Q - Has quota active Здесь нет почему-то флага, что SNAT4 активирован для данной сессии. Подскажите как правильно настроить работу SNAT? Edited November 6, 2015 by crank Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.