Кик сессии

Технические вопросы по UTM 5.0
Ответить
Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Кик сессии

Сообщение Cramac »

Всем привет. Подскажите, как можно отправить запрос радиусу на дроп сессии.

Я так полагаю надо отправить радиусу такое:
http://wiki.freeradius.org/protocol/Dis ... t-Requests

Может кто делал нечто подобное, как реализовать?

Nik0n
Сообщения: 77
Зарегистрирован: Пн сен 14, 2009 13:53
Откуда: Екатеринбург
Контактная информация:

Re: Кик сессии

Сообщение Nik0n »

Cramac писал(а): Может кто делал нечто подобное, как реализовать?
Как-то так :)

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

# Make PoD Packet
my $radius = new Authen::Radius(Host => $rad_sessions->{$id}->nas_ip}.':'.$rad_sessions->{$id}->{das_port}, Secret => $rad_sessions->{$id}->{dac_secret}, LocalAddr => $dac_bind_host, Debug=>0);
$radius->clear_attributes();
$radius->add_attributes(
                { Name => 'Framed-IP-Address', Value => $rad_sessions->{$id}->{ipv4} },
                { Name => 'Acct-Session-Id', Value => $rad_sessions->{$id}->{acct_session_id} },
                { Name => 'User-Name', Value => $rad_sessions->{$id}->{ipv4} }
        );
# Send Packet and get reply
$radius->send_packet(DISCONNECT_REQUEST) and my $reply = $radius->recv_packet;
        if ($reply==41) {
                tolog('INFO: Sending Disconnect-Request for '.$rad_sessions->{$id}->{ipv4}.' Disconnect-ACK(41)');
        } else {
                $reply = 'No Response' if !$reply;
                $reply = 'Disconnect-NAK(42)' if $reply==42;
                tolog('ERROR: Sending Disconnect-Request to '.$rad_sessions->{$id}->{nas_ip}.':'.$rad_sessions->{$id}->{das_port}." reply is $reply");
        }
Нужные/ненужные атрибуты зависят от модели/производителя NAS.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

В 5.3-001 и далее Disconnect-Message поддерживается средствами биллинга.

Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Сообщение Cramac »

спасибо, но у нас 5.2.1-005

Ответить