ppoe + минусовый баланс+личный кабинет
ppoe + минусовый баланс+личный кабинет
Умные люди подскажите может кто знает как сделать такую схему!
используем ppoe радиус
хотелось чтобы когда у абонента нет или отрицательный баланс ppoe соединение подключалось но интернет не работал а при попытке зайти на сайт абонент редиректился на страницу личного кабинета!
используем ppoe радиус
хотелось чтобы когда у абонента нет или отрицательный баланс ppoe соединение подключалось но интернет не работал а при попытке зайти на сайт абонент редиректился на страницу личного кабинета!
у себя настроил такую штуку. Используем коммутируемый доступ версия УТМ 009 (в версиях ниже не работает этот функционал) в ней создаем 2 пула один для не заблокированных абонентов второй для заблокированных далее в настройках радиуса разрешаем авторизовывать заблокированных абонентов и прописываем им пул для заблокированных. На насе(freebsd) для заблокированного пула настраиваем редирект все запросы от абонентов на 80 порта на страницу у вас закончились Деньги и через 60 секунд в личный кабинет, а все остальное блокируем.. если подходить моя схемка пишите расскажу поподробнее ..
большое спасибо да ваша схема подходит сами решили так и сделать! если нетрудно опишите процедуруmrmix25 писал(а):у себя настроил такую штуку. Используем коммутируемый доступ версия УТМ 009 (в версиях ниже не работает этот функционал) в ней создаем 2 пула один для не заблокированных абонентов второй для заблокированных далее в настройках радиуса разрешаем авторизовывать заблокированных абонентов и прописываем им пул для заблокированных. На насе(freebsd) для заблокированного пула настраиваем редирект все запросы от абонентов на 80 порта на страницу у вас закончились Деньги и через 60 секунд в личный кабинет, а все остальное блокируем.. если подходить моя схемка пишите расскажу поподробнее ..
I. Клиент, завернутый в л/к, произвел оплату через карту предоплаты. И....? Только не говрите, что ему придется переподключаться. Дополним ситуацию роутером. Заставлять клиента дергать его по питанию это не дело.mrmix25 писал(а):у себя настроил такую штуку. Используем коммутируемый доступ версия УТМ 009 (в версиях ниже не работает этот функционал) в ней создаем 2 пула один для не заблокированных абонентов второй для заблокированных далее
II. У клиент кончились деньги на л/с, но сессия все еще живая. Как быть?
Все-таки идеологически правильнее будет не менять клиентам адреса. На БРАСе просто создаем заворот на л/к всем адресам. Клиенты, у которых интернет включен/плюсовой баланс, обходят этот заворот через разрешительное правило. Клиенты с отрицательным балансом/выключеным интернетом в разрешенных отсуствуют, и по-умолчанию попадают на редирект.
Никаких двойных пулов, никаких требований по переподключению для клиентов, никаких костылей по принудительному прерыванию сессий клиентов в случае включить/выключить интернет.
Пример.
Создаем правила для заворота:
Код: Выделить всё
-A PREROUTING -t nat -m set --match-set station src -j ACCEPT
-A PREROUTING -t nat -m set --match-set station dst -j ACCEPT
-A PREROUTING -t nat -i ppp+ -p tcp -m tcp --dport 80 -j DNAT --to-destination IP_ADDR_BILLING
Код: Выделить всё
-A FORWARD -i ppp+ -m set --match-set mandatory dst -j ACCEPT
-A FORWARD -i ppp+ -m set --match-set station src -j ACCEPT
-A FORWARD -i ppp+ -j DROP
в set'е station перечисляются IP клиентов. Адреса туда заносит utm_rfw. У нас клиентам назначаются фиксированные адреса, но все должно так же работать и при использовании динамических пулов + utm5_radius
Пул "блокированных адресов" приходится делать, если пользуешь динамические адреса.
Если статика, то все решается тем, что написано в предыдущем сообщении и настройкой utm_radius.
У меня все сделано примерно также: при любой блокировке счета абоненты не блокируются, а редиректятся на заданную страничку, при пополнении счета\разблокировке аккаунта редирект не производится.
А с теми, кто в заблокированном состоянии подключился - да, костыль с реконнектом, так уж биллинг устроен.
Если статика, то все решается тем, что написано в предыдущем сообщении и настройкой utm_radius.
У меня все сделано примерно также: при любой блокировке счета абоненты не блокируются, а редиректятся на заданную страничку, при пополнении счета\разблокировке аккаунта редирект не производится.
А с теми, кто в заблокированном состоянии подключился - да, костыль с реконнектом, так уж биллинг устроен.
taf
Добрый день! У меня UTM core стоит на 1 машине там Debian 7.0 amd64. Сервер впн на другой там Freebsd 9.1 + mpd+pf.
Если бы биллинг был на том же Freebsd я тогда пишу к примеру в pf
где CLIENTS_POOL - подключенные клиенты на мой сервер авторизации. Заворачиваем всех клиентов на нужную мне страничку.
Понимаю что идея состоит в том что файрволл настраивается на той же машине где биллинг? И правила не меняем мы на брасах.
Сначала ставлю в утм радиусе radius_auth_vap=1
Вероятная схема работы:
На той же машине где UTM Core
1)Настраиваем rfw на работу локально.
2)В админке утм Список брандмауэеров пишу ip UTM Core - я так понимаю нужен настроеный rfw - так как там указывается логин.?
3) )В админке утм Правила firewall там что писать надо можно скрин?
4) Вкатываем ваши правила которые вы описали ниже в iptables на тачке с UTM Core.
5) Что то дописывать необходимо в iptables кроме Ваших описаных ниже правил - у меня на машине с билингом iptables не использовался никогда?
6) Поправьте меня - буду признателен!
Добрый день! У меня UTM core стоит на 1 машине там Debian 7.0 amd64. Сервер впн на другой там Freebsd 9.1 + mpd+pf.
Если бы биллинг был на том же Freebsd я тогда пишу к примеру в pf
Код: Выделить всё
rdr inet proto tcp from <CLIENTS_POOL> to any port { 80, 81, 443, 1080, 3128, 8080, 8081 } -> X.X.X.X port X.X.X.X
Понимаю что идея состоит в том что файрволл настраивается на той же машине где биллинг? И правила не меняем мы на брасах.
Сначала ставлю в утм радиусе radius_auth_vap=1
Вероятная схема работы:
На той же машине где UTM Core
1)Настраиваем rfw на работу локально.
2)В админке утм Список брандмауэеров пишу ip UTM Core - я так понимаю нужен настроеный rfw - так как там указывается логин.?
3) )В админке утм Правила firewall там что писать надо можно скрин?
4) Вкатываем ваши правила которые вы описали ниже в iptables на тачке с UTM Core.
5) Что то дописывать необходимо в iptables кроме Ваших описаных ниже правил - у меня на машине с билингом iptables не использовался никогда?
6) Поправьте меня - буду признателен!
Погодите. При динамическом распределнии адресов, после авторизации клиента на него навешивается сервисная связка с текущим IP. Эта связка удаляется при получении Radius-Stop. Все это с применением родного радиуса. В случае использования FreeRADIUS это все приходится проделывать через вызов внешнего скрипта с urfa-client.Manjur писал(а):А с теми, кто в заблокированном состоянии подключился - да, костыль с реконнектом, так уж биллинг устроен.
Эти эволюции utm-rfw видит, и его можно научить на них реагировать.
Нет, неправильно понимаете. У меня пример как раз для случая когда биллинг и BRAS это физически разные машины. Я вряд ли что-то смогу посоветовать для фряхи и ее четырех недо-фильтров, соррь.ZeM писал(а):taf
Понимаю что идея состоит в том что файрволл настраивается на той же машине где биллинг? И правила не меняем мы на брасах.
Сейчас посмотрел у себя. Где-то стоит логин, где-то нет. И там и там работает. Вообще логин-пароль задается в системных пользователях и в конфиге rfw на месте.Сначала ставлю в утм радиусе radius_auth_vap=1
Вероятная схема работы:
На той же машине где UTM Core
1)Настраиваем rfw на работу локально.
2)В админке утм Список брандмауэеров пишу ip UTM Core - я так понимаю нужен настроеный rfw - так как там указывается логин.?
На BRAS'е3) )В админке утм Правила firewall там что писать надо можно скрин?
4) Вкатываем ваши правила которые вы описали ниже в iptables на тачке с UTM Core.
Таки почитайте документацию. В настройках правил файрвола бллинга можно задать реакцию на множество различных действий с клиентом: включение-выключение интернета, добавление-удаление связок и тд.
У меня на действия вида "Включить интернет, Добавление пользователя, Изменение пользователя" назначено правило
Код: Выделить всё
on UID UIP UBITS ULOGIN
Код: Выделить всё
off UID UIP UBITS ULOGIN
Код: Выделить всё
change_in ACCOUNT_ID BANDWIDTH
Код: Выделить всё
change_out ACCOUNT_ID BANDWIDTH
Код: Выделить всё
#!/bin/sh
# Internet
# 1 - on/off
# 2 - UID (Billing)
# 3 - UIP
# 4 - UBITS
# 5 - ULOGIN (PPPoE)
# Turbo
# 1 - change_in/change_out
# 2 - ACCOUNT_ID (Billing)
# 3 - Speed (kbit/s)
if [ "$3" != "0.0.0.0" ]
then
case "$1" in
on)
/sbin/ipset add station ${3}/${4}
;;
off)
/sbin/ipset del station ${3}/${4}
;;
change_in)
CLASS=`grep "^${2} " < shape.db | cut -f2 -d " "`
tc class change dev eth1 parent 1: classid 1:${CLASS} est 1sec 8sec hfsc sc umax 1500b dmax 10ms rate ${3}kbit ul rate ${3}kbit
echo "\n" > /tmp/shape.old
;;
change_out)
CLASS=`grep "^${2} " < shape.db | cut -f2 -d " "`
tc class change dev eth0 parent 1: classid 1:${CLASS} est 1sec 8sec hfsc sc umax 1500b dmax 10ms rate ${3}kbit ul rate ${3}kbit
echo "\n" > /tmp/shape.old
;;
esac
fi
exit 0
taf
Спасибо уже яснее.
Редирект сделать на фре не проблема.
Закидываю с тачки с дебианом ./utm5_rfw
ELF binary type "0" not known.
./utm5_rfw: Exec format error. Binary file not executable.
Видимо надо качать UTM под freebsd разворачивать его и выдергивать utm5_rfw. + rfw5.cfg должны быть одинаковы на брасах и UTM Core в части логина и пароля.
Спасибо уже яснее.
Редирект сделать на фре не проблема.
Код: Выделить всё
sudo_path=/usr/local/bin/sudo
firewall_path=/sbin/pfctl
rfw_name=127.0.0.1
core_host=127.0.0.1
core_port=11758
rfw_login=init
rfw_password=init
log_level=3
log_file_main=/netup/utm5/log/rfw.log
log_file_debug=/netup/utm5/log/rfw.log
log_file_critical=/netup/utm5/log/rfw.log
ELF binary type "0" not known.
./utm5_rfw: Exec format error. Binary file not executable.
Видимо надо качать UTM под freebsd разворачивать его и выдергивать utm5_rfw. + rfw5.cfg должны быть одинаковы на брасах и UTM Core в части логина и пароля.
После оплаты скрипт ребутит клиенту сессию. После оплаты клиенту делать ни чего не надо для включения интернета.....taf писал(а): I. Клиент, завернутый в л/к, произвел оплату через карту предоплаты. И....? Только не говрите, что ему придется переподключаться. Дополним ситуацию роутером. Заставлять клиента дергать его по питанию это не дело.
так как используем только безлимитные тарифы и расчетный период с 1 по 1 + настроил не уходить в минус(тут на форуме есть тема), то после блокировки 1 числа в 0-15 скриптом рвем заблокированные сессииtaf писал(а): II. У клиент кончились деньги на л/с, но сессия все еще живая. Как быть?
я не говорил что у меня единственное правильное решениеtaf писал(а): Все-таки идеологически правильнее будет не менять клиентам адреса. На БРАСе просто создаем заворот на л/к всем адресам. Клиенты, у которых интернет включен/плюсовой баланс, обходят этот заворот через разрешительное правило. Клиенты с отрицательным балансом/выключеным интернетом в разрешенных отсуствуют, и по-умолчанию попадают на редирект.

Повторюсь используем коммутируемый доступ, в УТМ нельзя авторизовываться заблокированным клиентам использующим услугу коммутируемый доступ, есть только один способ их авторизовать = это второй пул по другому ни как!taf писал(а): Никаких двойных пулов, никаких требований по переподключению для клиентов, никаких костылей по принудительному прерыванию сессий клиентов в случае включить/выключить интернет.
Задача от руководства изначально была сделать чтоб клиенты не уходили в минус, то есть блокировать их когда у них не хватает средств для списания на следующий месяц собственно без костыля ни как ...
