Jump to content

Recommended Posts

Posted

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

 

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

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

 

ip a | grep '$IP/32' | cut -f 11 -d " "
?
Posted

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

Posted (edited)

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

 

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

Edited by yKpon
Posted

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

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

 

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

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

Posted (edited)

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

Edited by yKpon
Posted

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

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

Posted

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

Posted

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

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

 

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

Posted

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

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

Posted (edited)

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

Edited by yKpon
Posted

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

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

Posted

 

 

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

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

 

 

Скоро будет.
  • 3 months later...
Posted (edited)

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

вижу в логах

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
  • 2 weeks later...
Posted

вижу в логах

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

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

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

 

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

Posted

 

вижу в логах

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

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

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

 

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

 

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

Posted

 

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

 

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

 

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

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

Posted

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

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

Posted

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

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

Posted

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

Posted

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

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

Posted

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

 

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

 

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

  • 1 month later...
Posted (edited)

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

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

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

 

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

Edited by timba
Posted (edited)

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

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

 

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

 

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

Edited by Alexey Osipov
Posted

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

 

Попробую.

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

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...