mpd5 и reject в up-script

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-05-28 15:09:59

Стоит вопрос о привязке VPN-логина к локальной айпишке (в сети)
в up-script'е я делаю проверку, и вот не знаю как сделать reset текущего подключения.
Помни о смерти, все суета сует....

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5 и reject в up-script

Непрочитанное сообщение paradox » 2009-05-28 15:12:29

кого чего?
через линк даун
гуглим по форуму

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-05-28 15:38:35

попробую обяснить поподробнее

mpd5+freeradius+mysql
1) юзер конектиться к VPN-серверу
2) /usr/local/billing2_vpn/firewall/linkup.php - мой up-script
3) айпишка с которой законектился юзер смотрю в БД таблице radacct полу CalledStationId
4) айпишка с которой должен конектится - в БД моего биллинга.
5) если айпишки не совпадают то сделать разрыв только что установленой сесии.
вот как сделать я не знаю.

P.S. Заметил, что если специально сделать ошибку в up-scripte, то у клиента возникает ошибка 629. в логах mpd

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

...
May 28 15:35:25 bosyak mpd: [B-5] IFACE: No interface to proxy arp on for 192.168.1.22
May 28 15:35:25 bosyak mpd: [B-5] system: command "/usr/local/billing2_vpn/firewall/linkup.php ng3 inet 192.168.0.1/32 192.168.1.22 'mylogin'  " returned 65280
May 28 15:35:25 bosyak mpd: [B-5] IPCP: parameter negotiation failed
May 28 15:35:25 bosyak mpd: [B-5] IPCP: state change Opened --> Stopping
May 28 15:35:25 bosyak mpd: [B-5] IPCP: SendTerminateReq #3
May 28 15:35:25 bosyak mpd: [B-5] IPCP: LayerDown
May 28 15:35:25 bosyak mpd: [B-5] IPCP: rec'd Terminate Ack #3 (Stopping)
...
мне это подошло бы идеально, но как вызвать такую ошибку :) тогда когда мне нужно я не знаю.....
Помни о смерти, все суета сует....

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5 и reject в up-script

Непрочитанное сообщение paradox » 2009-05-28 15:52:34

1) юзер конектиться к VPN-серверу
2) /usr/local/billing2_vpn/firewall/linkup.php - мой up-script
3) айпишка с которой законектился юзер смотрю в БД таблице radacct полу CalledStationId
4) айпишка с которой должен конектится - в БД моего биллинга.
5) если айпишки не совпадают то сделать разрыв только что установленой сесии.
ну полный изврат = ))))
а зачем такое?
не проще блочить аккаунт и все
и он еще на етапе авторизации отфутболит его

а вообще этим как бы радиус занимаеться

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-05-28 16:02:34

так мне ж нужно не всех блочить, а некоторых. часть аккаунтов имеет флаг account_ip_check=true, а часть false.
радиус настолько грамотный что может часть блочить а часть нет?
Помни о смерти, все суета сует....

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5 и reject в up-script

Непрочитанное сообщение paradox » 2009-05-28 16:05:25

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

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-06-01 11:06:14

да-да. радиус очень умный, тока вы не говорите КАК это сделать, я например не знаю как.
может всетаки кто то вкурсе как закрыть сесию из up-script'а?
Помни о смерти, все суета сует....

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5 и reject в up-script

Непрочитанное сообщение paradox » 2009-06-01 11:19:33

теоретически никак
скрипт для этого не предназначен
практически через одно место

как то уже было озвучено на форуме
ищи

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-06-01 11:25:45

у себя на веб-морде биллинга есть функция сброса сесии. использую скрипт, который через консоль mpd это делает, но вот из up-script он не срабатывает почемуто....
Помни о смерти, все суета сует....

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-06-01 11:28:29

думаю стоит использовать вот такое решение http://wiki.bgbilling.ru/index.php/Наст ... reeBSD_MPD
изврат какойто но не более моего :)
Помни о смерти, все суета сует....

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA
Контактная информация:

Re: mpd5 и reject в up-script

Непрочитанное сообщение savio » 2009-06-03 11:15:34

нда.... чего-то не хочет разрывать с up-script'а. скрипт переделал на php. если запускать вручную, то скрипт отрабатывает. с помощью сокетов закрываю соединение через web-интерфейс mpd
а вот при конекте up-script "зависает"

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

# ps ax|grep php
68544  ??  S      0:00,00 sh -c /usr/local/billing2_vpn/firewall/linkup.php ng18 inet XXX.XXX.38.34/32 XXX.XXX.39.16 'msavio'   >/dev/null 2>&1
68546  ??  S      0:00,03 /usr/local/bin/php /usr/local/billing2_vpn/firewall/linkup.php ng18 inet XXX.XXX.38.34/32 XXX.XXX.39.16 msavio
68590  p1  S+     0:00,00 grep php
#
и весит. как только делаю killall php впн соединение разрывается, тоесть скрипт выполняет свой функционал.
почему он зависает?
Помни о смерти, все суета сует....