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

Хочу пользователей, включенных через D-Link DES-3200 и через OLT BDCOM P3310B, пускать через один и тот же BRAS accel-ipoe, но одних в одном влане, а других -- в своём. Но Agent-Remote-Id и Agent-Circuit-Id у них разные (различна как длина, так и структура), а, значит, способ формирования username у них разный.

Так вот вопрос -- как быть с указанием пути к скрипту LUA для формирования username?

Можно ли указать для каждого влана отдельный LUA-скрипт?

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


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

Я бы не отказался от примера скрипта LUA для BDCOM.

 

Agent-Remote-Id = "MAC_OLT" (6 bytes)

 

Agent-Circuit-Id = "vlan-id|epon-port|virtual-port" (2 bytes + 2 bytes + 1 byte)

 

username = "MAC_OLT|vlan-id|virtual-port"

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

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


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

1. можно указывать свою lua функцию на каждом интерфейсе

2. у объекта пакета (аргумент lua функции) имеется функция ifname()

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


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

roysbike,

С ip unnumbered вполне можете выдавать /16.

62 адреса на 10к человек? Чего-то у Вас не так.

62-белых, и /23 сеть разбита для nat

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


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

1. можно указывать свою lua функцию на каждом интерфейсе

2. у объекта пакета (аргумент lua функции) имеется функция ifname()

 

Мне нужно иметь две функции -- dlinkdes3200 и bdcomp3310b.

Я так понял, что аксель с помощью луа может сформировать username, например так:

для dlinkdes3200:

username="c8d3a39b27d20002" (MAC свича и порт номер 2)

для bdcomp3310b:

username="fcfaf7c50d02057f01" (MAC OLT, влан 1407, порт номер 1)

 

Примечание: 1. В OLT порт 1 -- это уже не физический порт, а "виртуальный порт", который соответствует LLID.

2. Номер влан играет роль, так как в моей схеме он по-сути обозначает уникальный номер физического порта -- vlan-per-epon_port.

 

Тогда биллингу надо при первом включении абонента записывать эти данные в нужное поле, когда абонент из гостевого пула попадает на страницу регистрации. А всем неидентифицированным выдавать ай-пи из гостевого пула. Зарегистрировать себя абонент может, если знает логин и пароль к личному кабинету. Я правильно понимаю?

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

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


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

Давно не просматривал форум. Всплывал вопрос по l3 который интересен мне.

тут выше уже обсуждалось, но я так и не понял до конца как оно должно работать

клиенты находятся за каким-то маршрутизатором, который релеит дхцп запросы ?

Именно так

в режиме L2 accel при старте сессии добавляет до клиента маршрут на интерфейс с которого пришел дхцп запрос

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

В случае L3 маршрутизируется в в соответствии с таблицей маршрутизации.

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

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


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

Xeb, вопрос по IPoE , accel работает в режиме L2, клиенту отдаю /30 сеть, на брасе создается vlan с маской /32, возмонжо это как то исправить, чтобы маска была таже что у клиента. Или так задуманно?

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


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

xeb

Обновился до коммита 30397cca6a4472f3087d1071ecc43438e39f705f.

В списке show sessions висят сессии с state finish. Так и должно быть?

При этом на сервере расплодились zombie-процессы:

 

 

#ps aux | grep Z

root 11241 0.0 0.0 0 0 ? Z 11:12 0:00 [ip-up] <defunct>

root 11272 0.0 0.0 0 0 ? Z 11:12 0:00 [ip-up] <defunct>

 

#pstree -p -s 11241

init(1)───accel-pppd(3069)───ip-up(11241)

 

#ps aux | grep Z | wc -l

231

 

 

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


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

Пока нет автоматических тестов, стабилизировать что-то тяжело.

 

Есть базовая концепция как это реализовать - создание 2ух netns и в них запускать сервер и клиент поверх слинкованной пары виртуальных ethernet-интерфейсов (linux veth peer), я проверял это работает и главное не требует виртуалок для запуска тестов, т.е. можно сделать человеческий make test

 

Но тут тянутся зависимости в виде радиуса, dhcp/pppoe/l2tp/pptp клиента, побочных утилит. В разных дистрибутивах это всё отличается

 

Кроме того, не очень понятно на чём это писать - на C значит свести комьюнити к нуля, на bash/perl выглядет громоздко, на php - сочтут быдлокодом. python? или использовать какие-то фреймворки...

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


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

Xeb, вопрос по IPoE , accel работает в режиме L2, клиенту отдаю /30 сеть, на брасе создается vlan с маской /32, возмонжо это как то исправить, чтобы маска была таже что у клиента. Или так задуманно?

ну все таки а почему не использовать аннамберед ? зачем городить огород с /30? люди наоборот рады что есть возможность аннамберед использовать

 

у меня схема следующая:

на лупбеке висит адрес - который является шлюзом для клиентов....

настроено автосоздание вланов но без автоконфигурации - т.е. влан на клиента создается голый без адреса

в этот голый влан аццел крутит адрес по аннамберед /32 ... клиенту отдаю маску большую ... для примера /24

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

все работает отлично.

 

а ну и запущен оспф... так как брасов всяких разных есть много ....

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


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

1.7.4

 

Обновился до 1.7.4 (я так понимаю теперь /lib можно убить, а /lib64 теперь вместо него).

До этого стояла версия 1.7.3 на 64 битной системе.

Однако в логах ошибка так и не пропала.

В связи с чем связано попадание вот этого в лог?

Такая строка падает в лог, если пользователь указал любой несуществующий логин.

 

[2014-05-29 13:34:27]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:34:29]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:34:29]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:34:30]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:34]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:36]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:34:37]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:34:37]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:34:37]:  warn: ppp170: mschap-v2: user not found
[2014-05-29 13:34:42]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:44]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:34:44]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:34:44]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:34:47]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:49]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:34:51]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:51]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:34:52]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:34:56]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:34:56]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:34:58]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:34:58]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:34:59]:  warn: ppp170: mschap-v2: user not found
[2014-05-29 13:35:03]:  warn: ppp161: mschap-v2: user not found
[2014-05-29 13:35:05]:  warn: ppp166: mschap-v2: user not found
[2014-05-29 13:35:05]:  warn: ppp167: mschap-v2: user not found
[2014-05-29 13:35:06]:  warn: ppp168: mschap-v2: user not found
[2014-05-29 13:35:06]:  warn: ppp161: mschap-v2: user not found

При этом авторизация у правильных проходит нормально и такой строки они не создают.

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

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

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


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

При этом авторизация у правильных проходит нормально и такой строки они не создают.

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

У вас же наверное [ppp] verbose=1 стоит. Уберите с конфига verbose=1 или закомментируйте в accel-pppd/auth/auth_mschap_v2.c строку 459

passwd = pwdb_get_passwd(&ad->ppp->ses, name);
if (!passwd) {
if (conf_ppp_verbose)
	//log_ppp_warn("mschap-v2: user not found\n");
chap_send_failure(ad, conf_msg_failure, conf_msg_failure2);
return -1;
}

 

или уровень лога инфо поставьте

 

passwd = pwdb_get_passwd(&ad->ppp->ses, name);
if (!passwd) {
if (conf_ppp_verbose)
	log_ppp_info2("mschap-v2: user not found\n");
chap_send_failure(ad, conf_msg_failure, conf_msg_failure2);
return -1;
}

 

После пересобирите

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

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


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

Xeb, вопрос по IPoE , accel работает в режиме L2, клиенту отдаю /30 сеть, на брасе создается vlan с маской /32, возмонжо это как то исправить, чтобы маска была таже что у клиента. Или так задуманно?

ну все таки а почему не использовать аннамберед ? зачем городить огород с /30? люди наоборот рады что есть возможность аннамберед использовать

 

у меня схема следующая:

на лупбеке висит адрес - который является шлюзом для клиентов....

настроено автосоздание вланов но без автоконфигурации - т.е. влан на клиента создается голый без адреса

в этот голый влан аццел крутит адрес по аннамберед /32 ... клиенту отдаю маску большую ... для примера /24

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

все работает отлично.

 

а ну и запущен оспф... так как брасов всяких разных есть много ....

эта схема работает для одного блока IP или для нескольких?

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


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

ichthyandr

А какая разница? Я вешаю из каждого блока 1 ip на loopback, и выдаю его как шлюз клиенту. Т.е. для клиентов с IP из разных блоков выдается разная маска и шлюз.

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


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

Добрый день,

используем сервер Debian 6 с accel-ppp 1.7.4, в качестве авторизации - Radius от Lanbilling на соседнем сервере. Задействован встроенный в accel-ppp шейпер, работает изменение скорости по времени, скорости клиентов в мир - до 10Мбит/20Мбит (день/ночь).

Сейчас есть такая задача - разрешить клиентам обращение в сеть дружественного провайдера (подсеть с белыми ИП) на скорости 100Мбит (либо вообще без ограничений, на клиентских портах все-равно 100Мбит).

Можно ли это реализовать на стандартном функционале accel-ppp?

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

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


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

нет

это значит, что на встроенном шейпере такое сделать невозможно?

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


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

это значит, что на встроенном шейпере такое сделать невозможно?

 

Тут неоднократно говорилось, что на Си реализовать добавления правил для каждого по вкусу не так так просто да и не имеет смысла, используйте ip-up и ip-change скрипты для установки шейпера.

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


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

ichthyandr

А какая разница? Я вешаю из каждого блока 1 ip на loopback, и выдаю его как шлюз клиенту. Т.е. для клиентов с IP из разных блоков выдается разная маска и шлюз.

понял, спасибо. планирую попробовать L2-connected vlan на абонента, белые ip, авторизация радиусом.

еще вопрос про л4-редирект. Хочется реализовать такую штуку:

1. нет денег - редирект на ЛК

2. сменился мак в c-vlan - редирект на страничку авторизации ( имя/пароль )

делал кто подобное?

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


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

У нас реализована так:

1. нет денег - редирект на ЛК

Биллинг выдаёт ip из пула 172.20.0.1/24, default GW редирект на страницу ЛК

 

2. сменился мак в c-vlan - редирект на страничку авторизации ( имя/пароль )

Биллинг выдаёт ip из пула 172.31.0.1/24, default GW редирект на страничку авторизации ( имя/пароль ), если прошёл авторизацию то запись mac c-vlan в биллинге, сброс сессии и полетели.

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

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


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

У нас реализована так:

1. нет денег - редирект на ЛК

Биллинг выдаёт ip из пула 172.20.0.1/24, default GW редирект на страницу ЛК

 

2. сменился мак в c-vlan - редирект на страничку авторизации ( имя/пароль )

Биллинг выдаёт ip из пула 172.31.0.1/24, default GW редирект на страничку авторизации ( имя/пароль ), если прошёл авторизацию то запись mac c-vlan в биллинге, сброс сессии и полетели.

понял, спасиб )

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


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

Join the conversation

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

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

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

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

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

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

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