Jump to content

purestg2


Recommended Posts

продолжим тему, вчера почему-то такой интерфейс выпал

 

переименовываю интерфейсы, т.к. шейпер включается в OnConnect и ему нужно знать имя интерфейса

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

 

ip a | grep '$IP/32' | cut -f 11 -d " "
?
Link to post
Share on other sites
  • Replies 396
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Релиз 2.4: https://github.com/lion-simba/purestg2/releases/tag/2.4   PS. Проект переехал на github.

Вот это не имеет отношения к биллингу. Думаю гугл сможет подсказать, от чего это и как с этим бороться.     git на то и git, что из него можно взять любую версию. Вот здесь: https://github.com/l

Предположительно пофиксил. В git.   И начал пилить доставку calling number'а (MAC-адреса) в старгейзер, а также аутентификацию по нему.

Я для этого использую опцию purestg2 'pppunitsave'. А в OnConnect через sgconf добываю сохраненное значение. Насколько это эффективно не берусь судить, т. к. у меня клиентская база очень маленькая.

Link to post
Share on other sites

привязывает ли pppunitsave к номеру интерфейса? или он каждый раз обновляется и сделано просто для связки вышеупомянутой?

 

судя по эксперименту нет, а можно сделать чтобы привязывало? =)

Edited by yKpon
Link to post
Share on other sites

привязывает ли pppunitsave к номеру интерфейса? или он каждый раз обновляется и сделано просто для связки вышеупомянутой?

Каждый раз обновляется.

 

судя по эксперименту нет, а можно сделать чтобы привязывало? =)

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

Link to post
Share on other sites

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

Edited by yKpon
Link to post
Share on other sites

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

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

Link to post
Share on other sites

просто для удобства, те которые привязаны к номеру чтобы выдавался определённый, в принципе если это сложная задача будет оно этого не стоит =)

Link to post
Share on other sites

просто для удобства, те которые привязаны к номеру чтобы выдавался определённый, в принципе если это сложная задача будет оно этого не стоит =)

Нет, отнюдь не сложная. :)

 

Просто пытаюсь понять use case'ы для неё. Типа, среди всех пользователей есть некоторые (и их немного), которых хотелось бы посадить на отдельный интерфейс с определенным номером, чтобы... зачем? :)

Link to post
Share on other sites

чтобы нумеровать выдирая значения из IP :)

Так может тогда именно такую опцию и завести? Чтобы для номера интерфейса брался последний (предпоследний) октет IP-адреса. Интересно, есть ли ограничение на номер интерфейса?

Link to post
Share on other sites

да я уже думаю не стоит оно того =) проще ip a | grep $IP и видеть интерфейс

Совсем по-хорошему, надо таки реализовать мою давнюю хотелку в самом stg - чтобы можно было настраивать список параметров, передаваемых в OnConnect/OnDisconnect.

Link to post
Share on other sites

 

 

да я уже думаю не стоит оно того =) проще ip a | grep $IP и видеть интерфейс

Совсем по-хорошему, надо таки реализовать мою давнюю хотелку в самом stg - чтобы можно было настраивать список параметров, передаваемых в OnConnect/OnDisconnect.

 

 

Скоро будет.
Link to post
Share on other sites
  • 3 months later...

хотя и считаю это не правильно но всё же

вижу в логах

Jul 24 16:03:26 skyprox pppd[25290]: peer from calling number 00:E0:42:B8:02:14 authorized

авторизация через pppoe, возможно ли сделать привязку к mac адресу как сделана привязка к ip-адресу для vpn?

желательно чтобы это было тоже поле, у меня в userdata0 хранятся и маки и ip

Edited by yKpon
Link to post
Share on other sites
  • 2 weeks later...

вижу в логах

Jul 24 16:03:26 skyprox pppd[25290]: peer from calling number 00:E0:42:B8:02:14 authorized

авторизация через pppoe, возможно ли сделать привязку к mac адресу как сделана привязка к ip-адресу для vpn?

Поглядел. Возможно.

 

Там, кстати, не обязательно MAC будет. Зависит от канального уровня, что там будет.

Link to post
Share on other sites

 

вижу в логах

Jul 24 16:03:26 skyprox pppd[25290]: peer from calling number 00:E0:42:B8:02:14 authorized

авторизация через pppoe, возможно ли сделать привязку к mac адресу как сделана привязка к ip-адресу для vpn?

Поглядел. Возможно.

 

Там, кстати, не обязательно MAC будет. Зависит от канального уровня, что там будет.

 

а что если не мак? =)

Link to post
Share on other sites

 

Там, кстати, не обязательно MAC будет. Зависит от канального уровня, что там будет.

 

а что если не мак? =)

 

Там произвольная строка. Например, это может быть номер телефона, ip-адрес или вовсе пустая строка.

В твоем случае MAC подставляет туда PPPoE сервер, которым ты пользуешься. Сменишь сервер - строка может содержать что-то другое или отсутствовать вовсе.

Link to post
Share on other sites

проверил, мак сообщает pppoe который ядерный с опцией -k

прописал MAC в userdata0 - авторизует, прописал любой другой тоже авторизует

Link to post
Share on other sites

прописал MAC в userdata0 - авторизует, прописал любой другой тоже авторизует

Естественно. :) Сейчас этот 'calling number' никак не учитывается при авторизации. Дописывать надобно. По образу и подобию ipparam.

Link to post
Share on other sites

Алексей, а можно будет сделать одно поле и для ipparam и для нового так сказать macparam?

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

Link to post
Share on other sites

ещё одна не большая мысль вслух :)

 

на каждом vlan-е запущен свой pppoe-server c параметром -L от 10.0.0.254, 253, 252 и т.д.

 

было бы не плохо привязать учётку для авторизации только на своём сервере

Link to post
Share on other sites
  • 1 month later...

Было бы хорошо если можно было связывать purestg2 со stargazer не только через сокет, но и по tcp.

Я вот разнес у себя mysql, stargazer и ubilling по разным контейнерам openvz, дабы в перспективе можно было безболезненно перенести любую часть системы на другую физическую машину. 

И вот в моем случае, pppd отделен от stargazer, находится на другой машине и purestg2 не сможет их связать.

 

Пока наверно придется переносить stargazer на NAS, к pppd :(

Edited by timba
Link to post
Share on other sites

Было бы хорошо если можно было связывать purestg2 со stargazer не только через сокет, но и по tcp.

Да, было бы хорошо. :)

 

В принципе, запилить-то не сложно, API tcp-сокетов не шибко от локальных отличается. Только вот придется тут уже подумать о правильности порядка байт в данных, передаваемых по сети, он вполне может не совпадать на машине, где стоит stg и где pppd. И ещё встает вопрос аутентификации. Хотя, этот вопрос можно в лучших традициях unix-way отдать на откуп SSH-туннелю. :) А ещё... надо будет configure скрипт допиливать, чтобы можно было собирать отдельно pppd-плагин и отдельно std-плагин.

 

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

Edited by Alexey Osipov
Link to post
Share on other sites

Если захотите сами реализовать - пожалуйста, ссылка на исходники в первом посте. При этом меня можно мучить вопросами в ЛС и по джабберу.

 

Попробую.

Правда я больше по bash и python, но авось получится и на cpp. Последний раз на нем давненько писал :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...