Страница 1 из 1

mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 1:06:26
savio
Доброго времени суток!

прописал на поднятие и закритие VPN-соединения up-script,down-script скрипты. Узнал что при вызове этих скриптов, mpd передает параметры, такие как, например: (кто знаком с перлом, или как я больше с php то слышал о argv)

Код: Выделить всё

$argv[1] - iface (ng0 например)
$argv[4] - ip (айпишник VPN подключения который выдает mpd )
$argv[5] - login
этих параметров мне было достаточно чтобы как то управлять интернет трафиком
как получить айпишник юзера, который подключается? хочется сделать привязку логина к айпишке юзера в локалке. что б по логину и паролю мог только он подключится и никто другой???

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 9:58:17
hizel
смотря как авторизируете клиентов
если через радиус, то там прописать
если секрет файлом, то там

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 10:36:38
savio
или я плохо ябъяснил или вы не поняли сути вопроса.
да, авторизация чере секрет файл.
в этом секрет файле пишется логин, пароль и айпишка которую выдать ВПН подключению. а нужно определить айпигку юзера в сети, с которой он конектица.

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 11:11:49
hizel
ах да, это же pptp
тогда лучший подсказчик документация
set iface down-script script

Mpd can optionally run a user program every time one of network protocols at the interface is brought up or down. The up-script is called like this:
script interface proto local-ip remote-ip authname [ dns1 server-ip ] [ dns2 server-ip ]
не это?

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 11:28:09
savio
наверное нужно было сразу на примере свой вопрос предоставить :wink:
Итак, есть сервер под FreeBSD на котором запущен mpd. В локалку смотрит интерфейс 192.168.0.1.
Идмн из пользователей с айпишкой 192.168.0.2 конектится к инету через VPN. в mpd.secret имеем

Код: Выделить всё

user    "passwd_user"    192.168.100.30
если он правильно введет логин и пароль то подключится, при этом VPN подключение получит айпишку 192.168.100.30.
up-script'ом я определяю такие данные как логин и айпишку. ищу в БД по логину разрешенную максимальную скорость линка, ну и ipfw add pipe... воплощаю.
аналогично down-script смотрю какая айпишка отключается(в даном случаи 192.168.100.30) и удаляю ранее созданные правила фаервола(что б все было красиво :) )

думаю теперь все наглядно и ясно.

собственно вопрос, как мне в скрипту получить айпишку юзера( в даном случаи 192.168.0.2) в локальной сети? хочу привязать аккаунт к конкретной машине в сети

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 11:31:50
hizel
в $argv[3] не оно? =/
если нет, то в скрипте никак =)

UPD
не проще ли это сделать через RADIUS
там кстати сразу появляются такие приятности как шейпинг ng_car
правила ipfw из БД радиуса?
нетфлов экспорт из каропки

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 11:46:14
savio
hizel писал(а):в $argv[3] не оно? =/
если нет, то в скрипте никак =)
не, не оно. $argv[3] - ip сервера

ок. пасибо. будем разбираться с радиусом :roll:

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 12:26:25
hizel
я не настаиваю
возможно почитав про RADIUS
и его связку с mpd
вам не подойдет ;)

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 12:46:14
schizoid
вот пример как реализовано у меня:
http://forum.lissyara.su/viewtopic.php? ... =75#p34136

Re: mpd и up-script,down-script скрипты

Добавлено: 2008-03-07 12:53:55
Гость
savio писал(а):как мне в скрипту получить айпишку юзера( в даном случаи 192.168.0.2) в локальной сети? хочу привязать аккаунт к конкретной машине в сети
а через ngctl или консоль mpd никак? Например, ngctl msg ng0:inet.in.link0.left.lower getpeername или printf "login\npassword\nshow sessions\n" | nc my.server 5005