FreeRadius filter_username

Мне нужно настроить фильтр на радиус, чтобы разрешить соединение только с именем пользователя, содержащим слово «тест».

Настройте блок:

filter_private  {
            if (User-Name =~ /^(?!test).*$/) {
                    update reply {
                            Reply-Message += "Rejected: Username rejected, because not test"
                    }
                    reject
            }
    }

Но позволяет абсолютно любое имя пользователя.


person malt_dp    schedule 28.11.2018    source источник


Ответы (1)


Основываясь на документации, я думаю, вам нужно отрицать логику:

if (User-Name !~ /^(?!test).*$/) {
    # etc.
}

Кроме того, приведенное выше регулярное выражение, вероятно (в зависимости от вашего локального механизма регулярных выражений), позволяет именам пользователей начинаться с test (из-за ^), а не любое имя пользователя, содержащее test. Для последнего вам нужно будет изменить логику, чтобы она была:

if (User-Name !~ /.*test.*/) {
    # etc.
}
person John Cummings    schedule 28.11.2018