ubuntu:pptpd + chap + скрипты | Крымский форум

ubuntu:pptpd + chap + скрипты

  • Добро пожаловать на форум! Рады видеть вас здесь! Зарегистрируйтесь или Войдите в аккаунт, чтобы иметь полный доступ к площадке!

svip

Местный житель
Ветеран
Сообщения
1,535
Реакции
9
Репутация
13
стоит ubuntu 7.10, поднят vpn (ppp0) по которому сервак получет интернет. настроен pptpd без шифрования.
Нужно при подключении клиента выполнить определенный скрипт, но в скрипте нужно использовать логин клиента. как его получить. куда ложить скрипт для выполнения?

Все это нужно для использования htb шейпера. каждому клиенту нужно отрезать определенное кол-во канала. но неизвестно заранее на какой ppp он соедениться. как тут быть?

или может кто посоветует хороший FREE биллинг?
Смотрел:
1) radius+abills (проблемы с модулем radius-a возникли если отключать шифрование, да и шейпер непонятно как работает)
2) traffpro - понравился, но во FREE нет шейпера (и веб-морда с ошибками)
3) squid + куча всего (долго и нужно настраивать).
 
Цитата(svip @ 10 Марта, 2009, 22:34)
Нужно при подключении клиента выполнить определенный скрипт, но в скрипте нужно использовать логин клиента. как его получить. куда ложить скрипт для выполнения?

Не знаю как на клиентской, но должно быть так же это из /etc/ppp/ip-up серверной стороны
Код

# First setup all variables passed on from
#-----------------------------------------------
interface=$1
device=$2
speed=$3
localIP=$4
remoteIP=$5
ipparam=$6

$PEERNAME - имя пользователя


Цитата(svip @ 10 Марта, 2009, 22:34)
но неизвестно заранее на какой ppp он соедениться. как тут быть?

Самый простой способ идентификации в таком случае это по ip когда каждому клиенту присвоен ip в файле chap-secrets ну или использовать патчик который привязывает логин к ppp соединению.
 
Отлично, а что за патч.?

Если я правильно понял то скрипт нужно писать в самом /etc/ppp/ip-up или можно класть в /etc/ppp/ip-up.d/ ???

и еще вопрос. всем нужно управлять через веб морду. Вижу два варианта.
1) скрипт работает с фалами и рестартует сервера
2) скрипт работает напрямую с серверами (или точнее сервера работают с базой данных).

Какой вариант лучше? для первого впринцыпе все понятно, но как быть со вторым? например. как прикрутить вытаскивание логина пароля и айпи для chap авторизации? или ширину канала для htb скрипта?
 
Цитата(svip @ 10 Марта, 2009, 22:58)
нужно писать в самом /etc/ppp/ip-up или можно класть в /etc/ppp/ip-up.d/

пох переменные передаются скрипту ip-up и всем скриптам в ip-up.d/

Цитата(svip @ 10 Марта, 2009, 22:58)
Какой вариант лучше? для первого впринцыпе все понятно, но как быть со вторым? например. как прикрутить вытаскивание логина пароля и айпи для chap авторизации? или ширину канала для htb скрипта?


не проще ли действительно взять готовый биллинг типа stargazer ? http://stargazer.dp.ua/ ?

Цитата(svip @ 10 Марта, 2009, 22:58)
и еще вопрос. всем нужно управлять через веб морду. Вижу два варианта.
1) скрипт работает с фалами и рестартует сервера
2) скрипт работает напрямую с серверами (или точнее сервера работают с базой данных).


Какие сервера? Какие файлы?

Обычно делают так. Вебадминка работает с базой данных пишет туда данные и считывает оттуда.
В тоже время демон тоже работает с базой данной и управляет фаерволлом(забирает из него данные по трафику и при небходимости отключает-включает им клиента).
 
svip
храни в базе пользователей, идентифицируй их как хочешь, по логину, ипу или как угодно, но при построени биллинга не надо забывать, что одному клиенту может быть присвоено 2 логина, 4 ипа, и уцча всего остального.
 
Пэтро
Смотрел stargazer, но под бубунту 8.4 компильнуть его не удалось. (install: невозможно выполнить stat для 'stargazer': No such file or directory) что только не делал, никак не идет.
 
svip
на local.com.ua целое стало разработчиков бродит.
 
Pretender
да. видел. напишу им. щас еще смотрю в сторону tbilling.org.
 
svip
Я могу сделать тебе нибсу, или абилл но только при одном условии. Сейчас я разрабатываю одну штуку для разделения трафа, и мне нужно ее гдето тестировать. Если устраивает - в личку.
 
exn
да я сам пока на локальном серваке все пробую (два компа подключены). Реальный сервак еще даже не куплен
smile.gif
 
Pretender
а какие еще данные можно получить кроме этих? например пароль от пользователя.?
 
svip
от ppp больше ничего вроде не вытянешь, хотя честно с паролем я не эксперементировал.
 
Я когдато писал вот это.

[attachmentid=9848]


Для конкретного случая подходит 100%
 

Вложения

  • eacc_0.1.tar.gz
    3.6 KB · Просмотры: 8
exn
оооо. Типа этого я уже начал писать
smile.gif
Скажи нужно pppd пересобирать? с поддержкаой mppc? если я правильно понял нужен патч, но нигде не могу его скачать.
 
Я уже не помню ничего, делал несколько лет назад. Это чтото типа биллинга для слабой машины. Там нет поддержки mppe, не нужны mysql и прочее, все в sqlite3 (читай README файлик).

Главное что реализованы pap,chap,mschap и mschap-v2 авторизации.

Все что нужно это dev пакеты для pppd и sqlite3. Потом просто в конфиге пишеш plugin eacc.so и там пару опций от этого плагина, кажется dbfile и script. Все есть в readme, ставиться в 5 минут.
 
понял. перепешу под mysql и буду пользоваться. спасибо огромное.
smile.gif
 
Смотрел так же параллельно фрирадиускрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипт. Перечитал кучу доков, поднял. Но так толком и не понял зачем он нужен? юзаетскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптя как модуль для авторизации pppd. читает данные из базы, файлов и тд. Запускрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткает внешние скрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипты. ВСЕ???? так этот же функционал можно реализовать одним скрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптиком. Зачем держать запущенный процескрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипт? Или я так и не нашел нормального объяскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптнения и опискрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптания его функционала. Кто "в курскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипте" подскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткажите. Так же вопроскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипт про SQUID. Прокскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипти- то понятно, логи скрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптоздает - хорошо. Порт 80 и 21 только - плохо. Ескрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптть что то аналогичное для мониторинга трафика пользователей по вскрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткрипткриптем портам?
 
Народ подскажите где почитать про параметр Framed-.... для freeradius? особенно интересует Framed-routing
Перерыл весь гугл, но толком описания не нашел.
 
документация с офф сайта. Мне кажеться что ее там предостаточно чтобы разобраться с радиусом вплоть до самых мелочей.
 
exn
Спасибо. изучаю. хотелось бы на родном языке почитать. Дело быстрее пойдет.

В общем радиус поднят успешно с sql авторизацией. Но повились другие приколы из области фантастики. с киентских машин некоторые сайты вообще не работают. например nivea.com. Даже не пингуются. или mail.ru грузится, как будто сидит клиент на древнем модеме. Остальные сайты - норма (300-400 кб.с). Прокси никакой не стоит. траф пока никуда не заворачивал. На серваке все грузитсяи пингуется нормально.

Как решить?

из iptables только открыт пор для входящих vpn и маскарад

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ! eth0 -j MASQUERADE


(eth0 - смотрит в сетку, eth1 - к провайдеру, ppp0 - vpn допровайдера, ppp1-pppN - тунели клиентов).

Причем если в iptables юзать только первый маскарад (должно по идее работать) - то клиенты не получают нет, если юзать второй - все работает. Добился опытным путем, хотя недогоняю почему так "-o ! eth0", а вооще нужно дать прямойдоступ только к некоторым сетям, а все остальное переправлять с pppN на ppp0. Может кто подскажет рациональное решение?
 
Назад
Сверху