martini Опубликовано 8 июня, 2015 · Жалоба так а что там с IP-unnumbered QinQ и дхцп ? какие то релизные даты есть ?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 8 июня, 2015 · Жалоба дописали, уже тестируем, исправляем. Дату релиза еще не намечали, но первую альфу хотим уже через пару-тройку недель выпустить. Сам IP-unnumbered уже работает, но ARP/DHCP пока что еще не стабильны. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 2 июля, 2015 (изменено) · Жалоба Есть ли возможность 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 стабильности на какой-нибуть более развитый софт после тестирования было бы совсем не жалко потратиться. Изменено 2 июля, 2015 пользователем Wingman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 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 и тп), так что вполне можно использовать для референса. Уже знаем где можем улучшить, так что думаю это даже не предел Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 4 июля, 2015 · Жалоба Есть ли возможность nat 1-в-1 по ответу радиуса? С добавлением роутов в блекхол, чтобы бёрд/квага могла их анонсить? (По аналогии с lISG) По маршрутам - в следующей версии маршруты будут создаваться в случае использования qinq/ip-unnumbered. Но и для обычного рутинга в 15.2 мы нашли решение (костыль? :) : - можно настроить прием аккаунтинг-пакетов от софта на роут-сервере и обрабатывать их скриптом - добавляя/удаляя маршруты. Структура UDP-пакета не сложная и разобрать ее тем же perl-ом - в несколько строчек можно. Единственное, что нужно учесть - когда огромный поток клиентов перепрыгивает на другой брас - может не выдержать RX-буфер и какие-то пакеты потеряются. Но и это можно решить используя несколько таких роут-серверов - пакеты будут кидаться всем по очереди. Как уже писал, можно доработать что-то в 15.2, чтобы создавать/удалять маршруты вместе с сессиями. Тогда надо будет знать как их лучше обновлять, чтобы еще и форвардингу не мешать. Есть какие-то предпочтения? Как у себя в сети это решаете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 4 июля, 2015 · Жалоба Как уже писал, можно доработать что-то в 15.2, чтобы создавать/удалять маршруты вместе с сессиями. Тогда надо будет знать как их лучше обновлять, чтобы еще и форвардингу не мешать. Есть какие-то предпочтения? Как у себя в сети это решаете? Всё делает lISG. При старте сессии - добавляет маршрут, при стопе - гасит Кстати, а как у вас "заканчиваются" ipoe-сессии? В lisg есть настраиваемый таймаут, по окончании которого при отсутствии трафика сессия считается завершенной, плюс - настраиваемый таймаут безусловного завершения сессии - т.е., например, раз в сутки она гасится и авторизовывается заново Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 4 июля, 2015 · Жалоба Когда уже релиз будет? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 5 июля, 2015 · Жалоба Кстати, а как у вас "заканчиваются" ipoe-сессии? В lisg есть настраиваемый таймаут, по окончании которого при отсутствии трафика сессия считается завершенной, плюс - настраиваемый таймаут безусловного завершения сессии - т.е., например, раз в сутки она гасится и авторизовывается заново Точно так же делаем. Есть idle_timeout и max_duration сессии и их так же можно менять. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 5 июля, 2015 · Жалоба Когда уже релиз будет? Очень стараемся по-скорее. Мы пока еще в глухом дебаге, как только исправим панику в паре мест - будем собирать альфу. Для продакшна альфа не пойдет точно, но на потрогать должно быть достаточно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 6 июля, 2015 · Жалоба Когда уже релиз будет? Очень стараемся по-скорее. Мы пока еще в глухом дебаге, как только исправим панику в паре мест - будем собирать альфу. Для продакшна альфа не пойдет точно, но на потрогать должно быть достаточно Да мы уже напробовались и фидбеков накидали в свое время ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 6 июля, 2015 · Жалоба Новый релиз очень объемный (по объему нового кода), стараемся стабильнее сделать. Надеюсь альфу/бету пройдем быстро :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 26 июля, 2015 (изменено) · Жалоба Наконец-то можем поделиться первой альфой следующей версии нашего софта. Постепенно исправляем ошибки до релиза, но уже сейчас основной функционал довольно стабилен. Качать тут : 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 релей в этой альфе мало тестировался и пока рассматривается как не рабочий. Поправим к следующей альфе Изменено 26 июля, 2015 пользователем arni Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 6 августа, 2015 (изменено) · Жалоба Выпустили 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-релей еще допиливаем. Изменено 6 августа, 2015 пользователем arni Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 7 августа, 2015 · Жалоба Выпустили 3-ю альфу. Поправили матчинг интерфейсов, дамп топологии, и создание сессий. качать тут : http://www.uplink-spe.com/downloads/alpha_builds/ PS. DHCP-релей еще допиливаем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 2 октября, 2015 (изменено) · Жалоба Продукт хоть развивается? А то последний альфа от 7 августа.. Изменено 3 октября, 2015 пользователем SyJet Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 3 октября, 2015 · Жалоба Да, конечно :) добавляем IPv6 в QinQ/Unnumbered и исправляем DHCP-релей - выпустим еще хотя бы одну альфу и тогда доберемся до беты! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 20 октября, 2015 · Жалоба В открытом доступе теперь доступны XML-файлы для KLISH (командная оболочка для Cisco-подобной консоли). https://github.com/uplink-spe/uplink-cli Реализовано пока еще не все, но постараемся к релизу 15.8 сделать все команды (15.2 и 15.8)! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 27 октября, 2015 (изменено) · Жалоба При конфигурации QinQ/vlan-per-user возможно ли в одном клиентском влане иметь две абонентских сессии? Такое встречается частенько, к сожалению: например, юзер + STB, или юзер с несколькими компами, категорически не приемлящий роутеры Насколько оно стабильно на данный момент? :) p.s. Уже собрался было пощупать, как обнаружил (ну туплю, да), что ядро строго ограничено, да ещё и 3.13. Вроде как в последних ядрах очень заметно переработали сетевую подсистему, сделав её заметно шустрее... И сборки под убунту и центось ;( Нет чтоб под дебиан и генту :)) Кстати, может быть, имеет смысл открыть сурцы клиента? Без модулей там врядли что-то особенно важное для конкурентов будет, зато модули зависят только от версии ядра, а бинарники можно было бы собрать на любой системе Изменено 27 октября, 2015 пользователем Wingman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 28 октября, 2015 (изменено) · Жалоба При конфигурации QinQ/vlan-per-user возможно ли в одном клиентском влане иметь две абонентских сессии? Такое встречается частенько, к сожалению: например, юзер + STB, или юзер с несколькими компами, категорически не приемлящий роутеры Насколько оно стабильно на данный момент? :) Да, конечно можно! Работает вполне стабильно, у нас осталось только DHCP-релей доделать. QinQ отвечает только за сетевой уровень, сессии создаются потом - так что можно хоть все сессии держать в одном QinQ влане :) (правда, маршруты на QinQ сабинтерфесе все в одном списке, так что лучше держать их количество в разумных пределах) Или даже объединить в одной master-сессии разные IP-адреса из разных QinQ вланов :) p.s. Уже собрался было пощупать, как обнаружил (ну туплю, да), что ядро строго ограничено, да ещё и 3.13. Вроде как в последних ядрах очень заметно переработали сетевую подсистему, сделав её заметно шустрее... И сборки под убунту и центось ;( Нет чтоб под дебиан и генту :)) Кстати, может быть, имеет смысл открыть сурцы клиента? Без модулей там врядли что-то особенно важное для конкурентов будет, зато модули зависят только от версии ядра, а бинарники можно было бы собрать на любой системе Да, уже давно не выпускали новых билдов :/ можем собрать под свежее ядро или другую систему если есть интерес! У нас чаще просят компилять под их кастомное ядро, так что особо не гоняемся за свежими апдейтами и разными дистрами) стараемся перед билдом обновиться до свежей версии из стандартных репозиториев чтобы было проще с демо-версией. Скоро соберем образ виртуалки для демо, будет еще легче играться ;) А про открытие клиента - скорее всего мы его заменим. В его рамках нам уже тесновато, так что подумываем сделать KLISH для консоли и HTTP API - и сразу открытыми их делать. Но пока что "руки не доходят посмотреть" :) пока просто собираем бинарники под нужную ос Изменено 28 октября, 2015 пользователем arni Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 28 октября, 2015 · Жалоба :) самая нужная ОС это leaf для меня. Можно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 28 октября, 2015 · Жалоба :) самая нужная ОС это leaf для меня. Можно? Конечно! все что нам нужно это иметь devel-версию их ядра (kernel-devel пакет) чтобы мы могли скомпилять (если у вас кастом). Я так понимаю с LEAF проще согласовать версию - и мы соберем под их стоковое ядро. Присылайте, сделаем! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 28 октября, 2015 · Жалоба Конечно! все что нам нужно это иметь devel-версию их ядра (kernel-devel пакет) чтобы мы могли скомпилять (если у вас кастом). ядро - ванильное, с минимумом патчей. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 4 ноября, 2015 (изменено) · Жалоба Выпустили багфикс-релиз 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 Изменено 6 ноября, 2015 пользователем arni Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
crank Опубликовано 6 ноября, 2015 (изменено) · Жалоба Не могу никак разобраться с настройкой 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? Изменено 6 ноября, 2015 пользователем crank Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...