Перейти до

Ubilling+Mikrotik PPP отключение юзеров и кабинет пользователя


Рекомендованные сообщения

Ситуация такая - есть   Ubilling+Mikrotik, там работают ppp пользователи и когда они уходят в минус их учетка на микротике  уходит в disable (соотв пользователь не проходит авторизацию и курит бамбук).

При этом хочется использовать кабинет пользователя для юзеров ушедших в минус - с какой стороны зайти (учитывая что используется только ppp)?

По форуму нашел только решения использующие dhcp ...

upd: есть ли возможность делать чтото с пользователем кроме отключения - менять пакет и тд?

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

 

 

с какой стороны зайти

Попробуйте radius. Всем пользователям давать access-accept. В качестве address-list давать состояние абонент. И рулить правилами фафервала в кабинет или на страницу напоминалку 

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

 

с какой стороны зайти

Попробуйте radius. Всем пользователям давать access-accept. В качестве address-list давать состояние абонент. И рулить правилами фафервала в кабинет или на страницу напоминалку 

 

 

Ну radius це зрозуміло, а чи ніхто не реалізовував без radius?

Ссылка на сообщение
Поделиться на других сайтах
При этом хочется использовать кабинет пользователя для юзеров ушедших в минус - с какой стороны зайти (учитывая что используется только ppp)? По форуму нашел только решения использующие dhcp ...

Значит или  возможно вы единственный у кого остались продвинутые пользователи  для PPP !  У меня например мало кто знает о существовании настроек сетевых адаптеров

 

 

 

При этом хочется использовать кабинет пользователя для юзеров ушедших в минус

Важность этой функции такова, что без нее биллинг вообще не нужен , имхо пришла пора поработать микротику свитчем

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Может учетке ставить другой профиль с другим пулом ? Но прийдется рвать коннект при переходе через 0.

Весь вопрос как это автоматизировать? Если есть возможность менять пакет на другой при переходе через 0 (не руками) то остальное не так страшно.

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

 

когда они уходят в минус их учетка на микротике  уходит в disable

Это автоматизированно ? Как ?

 

Это работает по умолчанию (инструкции на сайте - работа с микротиком через апи)

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

PPP непотрібно відключати.

Користувачам потрібно зробити 2 ексес ліста: один з доступом до інтернету, другий без.

І окремо прописати правило для доступу усім до білінгу незалежно в якому вони ексес листі.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Вся логика находится в файле mikrotik.drv, функция ppp. Можете переделать чтобы вместо enable/disable менять профиль.

    $template['disabled']  = ( isset( $template['disabled'] ) && ENVIRONMENT != 'OnConnect' ) ? 'yes' : 'no';

строку нашел, подскажите пожалуйста как сменить профиль к примеру (либо подсеть, либо еще с какой стороны зайти чтоб зацепится и начать делать)

этож придется костыль прямо сюда вписывать с конечными данными в виде сети ...? 

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

Выше в строке выставляется профиль

 

$template['profile']   = !empty( $profile ) ? $profile[0]['name'] : $template['profile'];
 
берется из базы, если есть, иначе default из темплейта
для каждого профиля создайте парный, с суффиксом '-blocked', строку
 
$template['disabled']  = ( isset( $template['disabled'] ) && ENVIRONMENT != 'OnConnect' ) ? 'yes' : 'no';
 
комментируйте, и добавьте новую
 
if( ENVIRONMENT == 'OnDisconnect' ) { $template['profile']  .= '-blocked'; }
 
тут же можно добавить команду на разрыв pppoe сессии

А ip у пользователей постоянные (прописанные в secret'e), или выдаются из пула микротиком ?

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Выше в строке выставляется профиль

 

$template['profile']   = !empty( $profile ) ? $profile[0]['name'] : $template['profile'];
 
берется из базы, если есть, иначе default из темплейта
для каждого профиля создайте парный, с суффиксом '-blocked', строку
 
$template['disabled']  = ( isset( $template['disabled'] ) && ENVIRONMENT != 'OnConnect' ) ? 'yes' : 'no';
 
комментируйте, и добавьте новую
 
if( ENVIRONMENT == 'OnDisconnect' ) { $template['profile']  .= '-blocked'; }
 
тут же можно добавить команду на разрыв pppoe сессии

А ip у пользователей постоянные (прописанные в secret'e), или выдаются из пула микротиком ?

ip отдается биллингом по апи, мне кажется что смена подсети путь более интересный

ну и по терминологии, в морде биллинга есть понятие тарифа и есть сети, что подразумевается под профилем?

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

Профиль - это термин микротика, для каждого secret он прописан, конфигурится в закладке profile. Среди прочих настроек можно выставить пул адресов. Но, похоже, вам предложенная схема не подойдет, поскольку ip выдается с биллинга.

Думаю проще будет сделать address list на микротике, например с названием inet.allow, и по событиям OnConnect/OnDisconnect добавлять/удалять ip клиента в этот список. В файерволе настроить доступ в интернет только для ip с этого списка, остальных перебрасывать на заглушку биллинга.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Профиль - это термин микротика, для каждого secret он прописан, конфигурится в закладке profile. Среди прочих настроек можно выставить пул адресов. Но, похоже, вам предложенная схема не подойдет, поскольку ip выдается с биллинга.

Думаю проще будет сделать address list на микротике, например с названием inet.allow, и по событиям OnConnect/OnDisconnect добавлять/удалять ip клиента в этот список. В файерволе настроить доступ в интернет только для ip с этого списка, остальных перебрасывать на заглушку биллинга.

Вот это и хочу, но в моем понимании сеть дожна отдаваться биллингом, а как отправить юзера с такой сетью в ... это уже задача попроще

как отдать юзеру нужную сеть вместо отключения учетки ?

какой кусок кода скармливает микротику новую сеть для учетки юзера, когда это делается штатно - меняеш сеть с морды биллинга?

Відредаговано garik_ziv
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Покажите настройки рабочей учетки на микротике, одну строку с вывода команды ppp secret export

 [adminroot@MikroTikNAS3] > ppp secret export

# nov/03/2016 08:37:00 by RouterOS 6.37.1
# software id = zzzzzzz
#
/ppp secret
add name=aaaaaa password=zzzzzz remote-address=10.10.16.12
add name=ssssss password=xxxxxx remote-address=10.10.16.4
Відредаговано garik_ziv
Ссылка на сообщение
Поделиться на других сайтах

Ип для пользователей выставляет биллинг, схема с таблицей в файерволе будет работать. Даже коннект рвать не нужно. В функции ppp для параметра disabled уберите условие, он должен быть всегда 'no'. Добавьте там же команды микротика для внесения/удаления ип пользователя в таблицу в зависимости от события OnConnect или OnDisconnect.

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

Ип для пользователей выставляет биллинг, схема с таблицей в файерволе будет работать. Даже коннект рвать не нужно. В функции ppp для параметра disabled уберите условие, он должен быть всегда 'no'. Добавьте там же команды микротика для внесения/удаления ип пользователя в таблицу в зависимости от события OnConnect или OnDisconnect.

Не могли бы ткнуть пальцем в кусок кода, который отрабатывает при изменении ип клиента в биллинге, я могу завести нужную сеть (172...) и вместо disable  скормить это микротику, соотв в учетке на микротике появится другой ип, которы можно рулить по другому ...

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

Я не пользуюсь этим биллингом и не смогу сходу указать нужное место. Я предложил рабочее решение, дописать всего 10-20 строк кода в одном месте.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Выше в строке выставляется профиль

 

$template['profile']   = !empty( $profile ) ? $profile[0]['name'] : $template['profile'];
 
берется из базы, если есть, иначе default из темплейта
для каждого профиля создайте парный, с суффиксом '-blocked', строку
 
$template['disabled']  = ( isset( $template['disabled'] ) && ENVIRONMENT != 'OnConnect' ) ? 'yes' : 'no';
 
комментируйте, и добавьте новую
 
if( ENVIRONMENT == 'OnDisconnect' ) { $template['profile']  .= '-blocked'; }
 
тут же можно добавить команду на разрыв pppoe сессии

А ip у пользователей постоянные (прописанные в secret'e), или выдаются из пула микротиком 

 
                                if( ENVIRONMENT == 'OnDisconnect' ) { $template['remote-address'] = str_replace("10.10", "172.16", $template['remote-address']);}
                                else $template['remote-address'] = str_replace("172.16", "10.10", $template['remote-address']);
грубо конечно, но то что уже получилось...
Відредаговано garik_ziv
Ссылка на сообщение
Поделиться на других сайтах

Тоже вариант. Но ип меняется не у пользователя, а у соответствующей записи secret. Чтобы сменить ип пользователю необходимо со стороны микротика разорвать соединение, а со стороны пользователя восстановить, тогда будет выдан новый ип. Оставлять старый не ок, у меня роутеры сутками на ппп висят. После пополнения счета опять придется рвать коннект. И это все ради изменения ип, по которому в файерволе будет построена фильтрация должников. Для разрыва сессии надо на микротик отправить команду, т.е. дописать несколько строк в программе.

 

Не понимаю почему вы не хотите реализовать вариант с таблицей в файерволе. Дописать несколько строк для отправки команды микротику и клиенту интернет будет открываться/закрываться мгновенно и незаметно.

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

Тоже вариант. Но ип меняется не у пользователя, а у соответствующей записи secret. Чтобы сменить ип пользователю необходимо со стороны микротика разорвать соединение, а со стороны пользователя восстановить, тогда будет выдан новый ип. Оставлять старый не ок, у меня роутеры сутками на ппп висят. После пополнения счета опять придется рвать коннект. И это все ради изменения ип, по которому в файерволе будет построена фильтрация должников. Для разрыва сессии надо на микротик отправить команду, т.е. дописать несколько строк в программе.

 

Не понимаю почему вы не хотите реализовать вариант с таблицей в файерволе. Дописать несколько строк для отправки команды микротику и клиенту интернет будет открываться/закрываться мгновенно и незаметно.

обкатал вариант подобный тому что пользовали ранее вручную (без биллинга), есть работающий инструмент, теперь можно не спеша разобраться теперь с таким вариантом как вы говорите

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

 

 

теперь можно не спеша разобраться теперь с таким вариантом как вы говорите

 

Ну ведь есть же уже готовый инструмент. Radius. Раскатайте на виртуалке, оттестируйте и переводите пользователей. 

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...