mpd4 скинуть клиента

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

mpd4 скинуть клиента

Непрочитанное сообщение RusBiT » 2009-01-22 17:50:46

Подскажите как отключить клиента от mpd сервера, mpd ng10 down , не скидывает, а только блокирует трафик
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Хостинговая компания 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: mpd4 скинуть клиента

Непрочитанное сообщение paradox » 2009-01-22 18:19:28

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

#!/usr/bin/perl
use IO;

# mpd.kill $ip-server $nas-port $ip-client
#

	if ($ARGV[2] eq ''){ die "Usage: mpd.kill nasip nasport userip"; }

 $nasip   = $ARGV[0];
 $nasport = $ARGV[1];
 $userip  = $ARGV[2];
 $nastelnetport = 5005;
 
	$sock = IO::Socket::INET->new(
		PeerAddr => $nasip,
		PeerPort => $nastelnetport,
		Proto => 'tcp') or die "Can not connect to mpd!\n$!";

	$sock->autoflush(1);

	print $sock "link pptp",$nasport,"\n";
	print $sock "close\n"; 
	print $sock "exit\n"; 
	close $sock;
exit 0;
нужное поправите

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: mpd4 скинуть клиента

Непрочитанное сообщение RusBiT » 2009-01-22 18:24:41

Скрипт который ты кинул , он для mpd3 (в нем нету авторизации по телнету) , а также соединение убивается по порту , а не ip
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: mpd4 скинуть клиента

Непрочитанное сообщение RusBiT » 2009-01-23 11:55:03

Подскажите как через консоль mpd зная ip клиента, можно узнать интерфейс.
По идее можно узнать через netstat , у меня есть и pptp и pppoe , которые отображаются как ng
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
uHk
мл. сержант
Сообщения: 134
Зарегистрирован: 2008-05-21 15:16:48
Откуда: Москва
Контактная информация:

Re: mpd4 скинуть клиента

Непрочитанное сообщение uHk » 2009-01-23 15:12:45

а я через вэб-интерфейс скидывал. 5006 - порт
надо сразу брать лошадь за рога

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: mpd4 скинуть клиента

Непрочитанное сообщение rmn » 2009-01-23 17:03:10

RusBiT писал(а):Подскажите как через консоль mpd зная ip клиента, можно узнать интерфейс.
По идее можно узнать через netstat , у меня есть и pptp и pppoe , которые отображаются как ng
Можно сохранять где-нить логин/пароль/интерфейс при подключении клиента и брать инфу оттуда. Я в mysql храню...

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

set iface up-script /usr/local/vpnman/vpnifup.php
set iface down-script /usr/local/vpnman/vpnifdown.php
все, что нужно скрипты получат в параметрах.

----
как вариант:

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

ifconfig | grep -B 1 10.0.1.100 | head -n 1 | awk '{print $1}'

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: mpd4 скинуть клиента

Непрочитанное сообщение RusBiT » 2009-01-23 18:05:21

uHk писал(а):а я через вэб-интерфейс скидывал. 5006 - порт
Вручную скинуть не проблема через консоль. Я хочу в abills при негативном депозите отключать пользователя от сервера.
В данный момент только блокирую трафик при негативном депозите

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

conf{IPN_FW_STOP_RULE}="/usr/local/bin/sudo /sbin/ifconfig `/usr/bin/netstat -rn | grep %IP | awk \'{ print \$6}\'` down";

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

ifconfig | grep -B 1 10.0.1.100 | head -n 1 | awk '{print $1}'
Я получу ng*, а в консоли mpd у меня фигурирует

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

pptp*         pptp*[Initial/DOWN]
pppoe*        pppoe*[Initial/DOWN]
Как вариант можно задать границы в номере интерфейса pppoe или pptp , или же кикать pppoe1 pptp1 :smile:
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

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

Re: mpd4 скинуть клиента

Непрочитанное сообщение paradox » 2009-01-23 18:10:21

Вручную скинуть не проблема через консоль. Я хочу в abills при негативном депозите отключать пользователя от сервера.
В данный момент только блокирую трафик при негативном депозите
обычно биллинги работают по радиусу
а в базе уже лежит статистика о юзере номере интерфейса ng* и айпишнике

выбросте тот биллинг который это неумеет

тот скрипт как раз работает у меня в биллинге

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: mpd4 скинуть клиента

Непрочитанное сообщение RusBiT » 2009-01-23 18:49:33

он работает через radius , через web интерфейс все удачно скидывает, попробую разобраться :smile:
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)