s.lobanov Опубликовано 28 января, 2013 · Жалоба Получаем DHCP-запрос с opt82, формируем по нему имя пользователя, получаем от Radius-сервера параметры пользовательского интерфейса, которые направляем на вход собственного скрипта, который выделяет пользователю VLAN, поднимает интерфейс, добавляет ip route bla-bla-bla, прописывает по SNMP QinQ-трансляцию и VLAN на коммутаторе доступа. Я конечно много костылей повидал, но чтобы BRAS конфигурил коммутатор доступа при получении IP-адреса это что-то новенькое, думаю, что такая схема займёт первое место в конкурсе "кто круче сделает через ж...". Ну ведь реально изврат какой-то, а траблшутинг вообще весёлый у этого будет Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 28 января, 2013 (изменено) · Жалоба Можно сделать вызовы пользовательских pre- и post- auth скриптов, а в них исполнять любые желания. Почему бы и нет. Изменено 28 января, 2013 пользователем kayot Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 28 января, 2013 · Жалоба Вопрос. Сейчас у нас трафик на pppoe-bras'ах ограничивается стандартно-красиво, иерархическим классовым шейпером, исход на физическом eth0, вход - mirred на ifb. Можно ли в схеме vlan-per-user шейпить без псевдо-девайсов? Т.е. всех клиентов вида eth.1, eth1.2, eth1.xx шейпить прямо на eth1 указав 4 байта смещения u32 фильтрам? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 29 января, 2013 · Жалоба Можно ли в схеме vlan-per-user шейпить без псевдо-девайсов? Скриптами if-up/if-down можно всё что угодно, на "встроенном шейпере" можно шейпить downstream на ethX.Y.Z и полисить апстрим без ifb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 29 января, 2013 · Жалоба s.lobanov Ну то что можно на абонентских интерфейсах резать понятно. Хотелка повесить шейпер глобально на физические интерфейсы, что б резать разные направления с разной скоростью к примеру. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
purecopper Опубликовано 29 января, 2013 · Жалоба Я конечно много костылей повидал, но чтобы BRAS конфигурил коммутатор доступа при получении IP-адреса это что-то новенькое, думаю, что такая схема займёт первое место в конкурсе "кто круче сделает через ж...". Ну ведь реально изврат какой-то, а траблшутинг вообще весёлый у этого будет Это как вариант. Вызов скриптов позволит исполнить самые смелые желания :) s.lobanov Вы когда-нибудь пытались подружить Vlan-per-user с UTM5? :) Вот там КОСТЫЛИ :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 29 января, 2013 (изменено) · Жалоба Т.е. смысла в такой авторизации нет, придется ставить заглушку выдающую true. можно noauth опцию добавить, чтобы заглушки не городить Noauth нельзя, аккаунтинг не работает. Изменено 31 января, 2013 пользователем kayot Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 30 января, 2013 · Жалоба [ipoe] Нашел баг. Релей для vlan-per-user режима(shared=0, mode=L2) зачем-то всегда отдает клиенту маску /32, независимо от того, что реально дает сервер. Ответ сервера релею: 10.200.0.2.67 > 10.200.0.100.67: Client-IP 194.12.94.21 Your-IP 194.12.94.21 Gateway-IP 10.200.0.100 Client-Ethernet-Address 00:1a:4b:3b:85:d6 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.200.0.2 Lease-Time Option 51, length 4: 60 Subnet-Mask Option 1, length 4: 255.255.255.0 Default-Gateway Option 3, length 4: 194.12.94.21 Domain-Name-Server Option 6, length 8: 91.203.164.1,91.203.164.18 Router-Discovery Option 31, length 1: N Vendor-Option Option 43, length 13: 1.4.0.0.0.2.2.4.0.0.0.0.255 Netbios-Node Option 46, length 1: h-node Agent-Information Option 82, length 23: Circuit-ID SubOption 1, length 9: eth1.2021 Remote-ID SubOption 2, length 10: accel-pppd END Option 255, length 0 Ответ релея клиенту: 10.200.0.100.67 > 194.12.94.21.68: Client-IP 194.12.94.21 Your-IP 194.12.94.21 Client-Ethernet-Address 00:1a:4b:3b:85:d6 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.200.0.100 Lease-Time Option 51, length 4: 60 Subnet-Mask Option 1, length 4: 255.255.255.255 Default-Gateway Option 3, length 4: 194.12.94.21 Domain-Name-Server Option 6, length 8: 91.203.164.1,91.203.164.18 Router-Discovery Option 31, length 1: N Vendor-Option Option 43, length 13: 1.4.0.0.0.2.2.4.0.0.0.0.255 Netbios-Node Option 46, length 1: h-node Agent-Information Option 82, length 23: Circuit-ID SubOption 1, length 9: eth1.2021 Remote-ID SubOption 2, length 10: accel-pppd END Option 255, length 0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 31 января, 2013 · Жалоба [ipoe] Еще один баг(или фича?) В настройках есть lease-time - время лизы которое мы отдаем клиенту max-lease-time - таймаут после которого виртуальная сессия закрывается. Так вот, если второе значение больше(а это логично) и работающий клиент кратковременно отключается, на время больше чем lease-time(теряем IP), но меньше чем max-lease-time(сессия не успела завершиться) - получить IP клиент больше не может, релей полный цикл запроса адреса(discover) от авторизированного клиента не пропускает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 31 января, 2013 · Жалоба kayot А с pppoe без мультилогина фактически тоже самое получаем, это эффект "зависшей" сессии. Просто ставьте lease time поменьше(сравнимый с интервалом между lcp keep-alive) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 31 января, 2013 (изменено) · Жалоба s.lobanov Не совсем. При нормальном завершении pppoe-сессии записи в радиусе обновляются мгновенно, можно включать/выключать хоть 10 раз в секунду. При ненормальном(выдернут кабель) - сессия умрет через lcp timeout, обычно это единицы или десятки секунд. Для ipoe же время лизы значительно больше(5-10 минут, а иногда и час-сутки), можно получить 'висяк' надооолго. По дефолту в accel стоит lease-time=600s, max-lease-time=3600s, если по какой-то причине лиза не была продлена в течении 10 минут(банально ПК ушел в спящий режим), можно остаться без сети на час. Получается Max-lease-time не имеет смысла, нужно ставить ее равной выдаваемой dhcp-сервером лизе. Изменено 31 января, 2013 пользователем kayot Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 31 января, 2013 · Жалоба Для ipoe же время лизы значительно больше(5-10 минут, а иногда и час-сутки), можно получить 'висяк' надооолго. Кто это решил? Есть какие-то rfc или другие рекомендации на эту тему? Ставьте lease-time и max-lease-time маленькие, будет так же как в pppoe lease-time=600s, max-lease-time=3600s, если по какой-то причине лиза не была продлена в течении 10 минут(банально ПК ушел в спящий режим), можно остаться без сети на час. вот это похоже на баг, ЕМНИП, если 2 dhcp-request'а(выступающих в роли keep-alive) не приходит, то надо освобождать лизу Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 31 января, 2013 · Жалоба [ipoe] Нашел баг. Релей для vlan-per-user режима(shared=0, mode=L2) зачем-то всегда отдает клиенту маску /32, независимо от того, что реально дает сервер. Протестировал во всех возможных вариантах - релей запоминает netmask и lease-time по первому пакету при старте сессии, дальнейшие изменениях со стороны dhcp-сервера релей игнорирует и продолжает отдавать старые опции. ip, gw, dns на лету меняются, mask и lease - только при рестарте сессии. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 2 февраля, 2013 · Жалоба ЕМНИП, если 2 dhcp-request'а(выступающих в роли keep-alive) не приходит, то надо освобождать лизу Нет. Если от клиента не было новостей на протяжении max-lease-time - клиент считается дохлым, лиза освобождается. А вот пока лиза жива - на все запросы от клиента (discover/request) - отвечать ип выделенной лизы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 2 февраля, 2013 · Жалоба ЕМНИП, если 2 dhcp-request'а(выступающих в роли keep-alive) не приходит, то надо освобождать лизу Нет. Если от клиента не было новостей на протяжении max-lease-time - клиент считается дохлым, лиза освобождается. А вот пока лиза жива - на все запросы от клиента (discover/request) - отвечать ип выделенной лизы. Так и есть, уже поправлено. Автор очень оперативно устраняет найденные баги! На данный момент модуль выглядит вполне рабочим, осталось разобраться с шейпером(биллинг и так умеет управлять linux-NASами и генерирует красивые конфиги для htb/tc), возможно встроенный не будем использовать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
serulya Опубликовано 3 февраля, 2013 · Жалоба Доброго времени суток. Подскажите, пожалуйста, что необхоимо прописать в iptables чтоб можно было подключаться к машине с accel-ppp (под ubuntu) к PPTP и L2TP? В windows при коннекте сразу выбивает 807 ошибку (при pptp), а при коннекте по l2tp такое чувство, что модуль l2tp_ppp вообще не подгружается (после примерно 20 секунд попытки соединения выбивает 809 ошибку). Заранее спасибо за ответы на нубские вопросы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 3 февраля, 2013 (изменено) · Жалоба Доброго времени суток. Подскажите, пожалуйста, что необхоимо прописать в iptables чтоб можно было подключаться к машине с accel-ppp (под ubuntu) к PPTP и L2TP? В windows при коннекте сразу выбивает 807 ошибку (при pptp), а при коннекте по l2tp такое чувство, что модуль l2tp_ppp вообще не подгружается (после примерно 20 секунд попытки соединения выбивает 809 ошибку). Заранее спасибо за ответы на нубские вопросы. Для начала вообще убить все что там в iptables прописано, т.е. на время избавиться от бреда в виде ufw, если он есть. iptables -F iptables -X iptables -P INPUT ACCEPT Если iptables настраивали бы сами, то вопрос бы не возникал. А потом уже смотреть работает ли на машине установленный accel-ppp (слушает ли порт) и не дергаться с l2tp пока не заработает pptp. Данный совет предполагает, что вы понимаете что делать с accel-ppp и понимаете как нужно настроить конфиг и запустить сервис и т.п. Логи с level 4 или 5 надо включить и смотреть туда для отладки. Изменено 3 февраля, 2013 пользователем replicant Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
serulya Опубликовано 3 февраля, 2013 · Жалоба replicant подскажите, пожалуйста, а как вообще проверить, запущен ли демон pptp? Настраивал как тут http://abills.net.ua/wiki/doku.php/abills:docs:linux:accel_pptp:ru разве что закомментил строчки, отвечающие за pppoe, radius и shaper. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 3 февраля, 2013 · Жалоба replicant подскажите, пожалуйста, а как вообще проверить, запущен ли демон pptp? Настраивал как тут http://abills.net.ua/wiki/doku.php/abills:docs:linux:accel_pptp:ru разве что закомментил строчки, отвечающие за pppoe, radius и shaper. Ну хотя бы по netstat -nap | grep :1723 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
serulya Опубликовано 3 февраля, 2013 · Жалоба replicant нет, не слушает порт. А вот 1701 UDP слушает :( Правда я для проверки поставил xl2tpd, а потом снёс его (проверял порт до того, как снести). Как запустить accel-ppp? P.S. прошу прошения за столь простые и глупые вопросы, просто с линуксом абсолютно не дружен, но желания делать это всё на Windows никакого нет: понимаю, что под linux всё будет не только быстрее, но и безглючно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 3 февраля, 2013 · Жалоба Как запустить accel-ppp? Логи курить... Думать, что не нравится акселю... Править то, что не нравится, и стартовать снова. Благое дело - под *никсами все достаточно многословное, если что-то не нравится - громко и внятно матерится; тихо умирающего софта - единицы (единственое, что встречал такое - postgresql начал загадочно и тихо загибаться в процессе настройки кластера). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 4 февраля, 2013 · Жалоба Как запустить accel-ppp? Читать документацию (в данном случае любую по этой теме) и искать в сети примеры настроек / описания и т.п. Здесь едва ли будут это Вам объяснять. А вот когда запускать его научитесь, тогда приходите с более конкретными вопросами, когда что-то не заработает так как надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
serulya Опубликовано 4 февраля, 2013 · Жалоба replicant NiTr0 доброго Вам времени суток. Accel-ppp заработал (добавил скрипт инициации, прописал в автозагрузку, бутнулся - вуаля; правда до этого прописал нужные правила в iptables). Сейчас аутентификация по chap-sercets, хочу добавить шейпер и авторизацию по radius (собарила сразу с ними, но "до выяснения" закомментил нужные строки). В связи с этим возник ряд вопросов: 1) куда вообще вписывать пары логин-пароль? 2) скорости перед словом integer как рассчитать? допутим нужны числа для 50 Мбит и 100 Мбит 3) я так понял, в версии 1.7.3 раздел [tbf] должен буть полностью закомментирован; а что от этого меняется (что добавить/удалить) в разделах shaper и radius? Заранее большое спасибо за ответы на вновь нубские вопросы :) P.S. большое спасибо, что дали удочку, а не рыбу - хоть немного вник ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xeb Опубликовано 5 февраля, 2013 (изменено) · Жалоба 1) куда вообще вписывать пары логин-пароль? в /etc/ppp/chap-secrets, формат:логин * пароль [*/выделенный_ип] [скорость] 2) скорости перед словом integer как рассчитать? допутим нужны числа для 50 Мбит и 100 Мбит скорости указываются в килобитах:user1 * password1 * 51200 user2 * password2 * 102400 3) я так понял, в версии 1.7.3 раздел [tbf] должен буть полностью закомментирован; а что от этого меняется (что добавить/удалить) в разделах shaper и radius? tbf можно совсем выпилить из конфига, конфига по умолчанию в части shaper вполне достаточно для ознакомленияпо умолчанию на ппп интерфейсы навешивается qdisc tbf и police фильтр в ingress Изменено 5 февраля, 2013 пользователем xeb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
serulya Опубликовано 5 февраля, 2013 · Жалоба xeb спасибо за ответ. В примерее, по которому я настраивал accel-ppp (http://abills.net.ua/wiki/doku.php/abills:docs:linux:accel_pptp:ru), зачем-то скорости указывались и в разеделе Shaper. Мне тоже там указать их? Если да, то каким образом указать 2 скорости? Более того, в указанном примере были закомментирован раздел chap-sercets - мне его раскомментировать? Заранее спасибо за ответы на очередные нубческие вопросы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...