Как разрешить авторизацию при отрицательном балансе?

Технические вопросы по UTM 5.0
Ответить
Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Как разрешить авторизацию при отрицательном балансе?

Сообщение Rico-X »

Задача следующая, необходимо разрешить авторизоваться всем существующим пользователям с любым состоянием баланса. Используется коммутируемый доступ и несколько BRAS Juniper MX80, вариант описанный в документации с пулами не подходит, т.к. заранее не известно на какой из БРАСов попадет абонент и БРАСы сами рулят пулами своих адресов и если на тариф навесить конкретный пул, то попав на брас, где этого пула нет абонент не получит интернет, все IP на брасах белые, так что вариант завести одинаковые пулы на всех брасах тоже не катит.
Как я вижу реализацию, пускаем всех абонентов, но для абонентов с отрицательным балансом дергаем скрипт, который навешивает на него нужные права, делается через freeradius элементарно типа:
если нет бабок, пускать как обычно но навешивать аттребут

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

ERX-Service-Аctivate:1=svc-guest-pppoe"
Если дал денег, то тупо навешивать аттребут

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

ERX-Service-Deactivate:1=svc-guest-pppoe"
не разрывая сессию, собственно вопроса 2:
1) Как разрешить авторизовываться абонентам, не заблокированным вручную с любым состоянием баланса
2) Как определять момент именно такой авторизации и дергать по нему rfw?

maxxsoft
Сообщения: 125
Зарегистрирован: Пт янв 18, 2013 09:23

Сообщение maxxsoft »

По первому вопросу:
в radius5.cfg
закоментировать строку radius_auth_vap, но в этом случае будут авторизовыватся ВСЕ пользователи.

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

maxxsoft писал(а):По первому вопросу:
в radius5.cfg
закоментировать строку radius_auth_vap, но в этом случае будут авторизовыватся ВСЕ пользователи.
Забыл отписаться решил сам.
В общем просто задаем в radius5.cfg
blocked_pool_name=NoMoney
И создаем пул с именем NoMoney (10.200.0.0/19), другие пулы создавать вообще не нужно, все начинает работать (в доке указано что обязателен другой пул для тарифа - это не верно для пулов, которыми рулит сам брас).

Ну и создаем нужные динамические профили, типа (пример для 50 мегабит шейпера)

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

    
svc-pppoe-policer-50m {
        interfaces {
            pp0 {
                unit "$junos-interface-unit" {
                    family inet {
                        filter {
                            input policer-50m;
                            output policer-50m;
                        }
                    }
                }
            }
        }
    }

        filter policer-50m {
            interface-specific;
            term 1 {
                from {
                    destination-address {
                        195.114.6.38/32;
                        195.114.6.6/32;
                    }
                    source-prefix-list {
                        NoMoneyHosts;
                    }
                    protocol [ tcp udp ];
                    destination-port [ 80 53 ];
                }
                then accept;
            }
            term 2 {
                from {
                    source-prefix-list {
                        NoMoneyHosts;
                    }
                    protocol [ tcp udp ];
                    destination-port [ 80 53 ];
                }
                then {
                    routing-instance neg_dep;
                }
            }
            term 3 {
                from {
                    source-prefix-list {
                        NoMoneyHosts;
                    }
                }
                then {
                    discard;
                }
            }
            term default {
                then policer 50m;
            }
        }
   policer 50m {
        if-exceeding {
            bandwidth-limit 50m;
            burst-size-limit 640k;
        }
        then discard;
    }
routing-instances {
    neg_dep {
        instance-type forwarding;
        routing-options {
            static {
                route 0.0.0.0/0 next-hop 195.ХХ.ХХ.38;
            }
        }
    }
}
        pool NoMoney-POOL {
            family inet {
                network 10.200.0.0/19;
                range 1st {
                    low 10.200.0.1;
                    high 10.200.31.254;
                }
                xauth-attributes {
                    primary-dns 195.ХХ.ХХ.38/32;
                    secondary-dns 195.ХХ.ХХ.6/32;
                }
            }
        }
    }
    address-protection;
Так можно проделать на всех брасах с серыми сетями для пула без денег и все работает.

Ответить