Страница 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
наверное нужно было сразу на примере свой вопрос предоставить
Итак, есть сервер под FreeBSD на котором запущен mpd. В локалку смотрит интерфейс 192.168.0.1.
Идмн из пользователей с айпишкой 192.168.0.2 конектится к инету через VPN. в mpd.secret имеем
если он правильно введет логин и пароль то подключится, при этом 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 сервера
ок. пасибо. будем разбираться с радиусом
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
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