nodeny:modules:p5_radius3:start

Це стара версія документу!


p5-radius3

Даний варіант установки не з офіційної документації і розроблений для нашої мережі, але може бути портований і в інші мережі! Він не має MySQL модуля, але є потужний модуль PERL, який дозволяє робити запити до бази набагато зручніше в плані маніпуляцій. На офіційному сайті FreeRadius сказано, що rlm_perl продуктивніше rlm_sql. Використання цього варіанта ви робите на свій страх і ризик :).

pkg install freeradius3 p5-Digest-MD5 p5-Authen-Radius

Після встановлення обов'язково заблокуйте freeradius3, щоб уникнути випадкового оновлення, оскільки злітають прафа на файли налаштувань!

pkg lock freeradius3

Резервна копія оригінальних конфігів

 cp -a /usr/local/etc/raddb/ /usr/local/etc/raddb.orig/

Видалимо зайве

 rm -rf /usr/local/etc/raddb/sites-enabled/*
 rm /usr/local/etc/raddb/mods-enabled/eap

Створимо основний конфіг

 nano /usr/local/etc/raddb/sites-enabled/nodeny

з таким вмістом:

/usr/local/etc/raddb/sites-enabled/nodeny
server nodeny {
    listen {
        type = auth
        ipaddr = *
        port = 1812
        limit {
            max_connections = 64
            lifetime = 0
            idle_timeout = 30
        }
    }
    listen {
        type = acct
        ipaddr = *
        port = 1813
    }
 
#  Authorization.
    authorize {
        #detail
        preprocess
        pap
        chap
        files
        perl
#        if((User-Name =~ /^.*%{Calling-Station-ID}.*$/i)){
#            update control {
#                &Auth-Type = 'Perl'
#            }
#        }
        if (ok || updated) {
            update control {
                Auth-Type := Perl
            }
        }
 
    }
 
#  Authentication.
    authenticate {
        Auth-Type Perl {
            perl
        }
        Auth-Type PAP {
            pap
        }
        Auth-Type CHAP {
            chap
        }
    }
 
#  Pre-accounting.  Decide which accounting type to use.
    preacct {
        acct_unique
        preprocess
    }
 
    accounting {
        attr_filter.accounting_response
        perl
    }
 
    session {
        radutmp
    }
 
# Post-Authentication
    post-auth {
        Post-Auth-Type REJECT {
            attr_filter.access_reject # pppoe
            perl #ipoe
        }
        perl
    }
}

також можна увімкнути сервер статусу командою:

ln -s /usr/local/etc/raddb/sites-available/status /usr/local/etc/raddb/sites-enabled/
echo '' > /usr/local/etc/raddb/clients.conf
nano /usr/local/etc/raddb/clients.conf
client 127.0.0.1 {
    ipaddr = 127.0.0.1
    secret = hardpass5
    shortname=NoDenyDB
    nastype = cisco
}
ln -s /usr/local/etc/raddb/mods-available/perl /usr/local/etc/raddb/mods-enabled/
echo '' > /usr/local/etc/raddb/mods-enabled/perl
nano /usr/local/etc/raddb/mods-enabled/perl
perl {
	filename = /usr/local/nodeny/nod/_radius.pl
}
nano /usr/local/etc/raddb/mods-config/attr_filter/access_reject
DEFAULT
    EAP-Message =* ANY,
    State =* ANY,
    Message-Authenticator =* ANY,
    Error-Cause =* ANY,
    Reply-Message =* ANY,
    MS-CHAP-Error = * ANY,
    Proxy-State =* ANY
nano /usr/local/etc/raddb/mods-config/files/authorize
DEFAULT Auth-Type = Perl
        Fall-Through = yes
sysrc radiusd_enable="YES"
#sysrc radiusd_flags="-d /path/to/raddb"
service radiusd start
radtest [-t chap] login password 127.0.0.1 0 hardpass5
$ apt install libfreeradius3 freeradius-common freeradius-config
$ wget https://networkradius.com/assets/packages/radperf/radperf_2.0.1_amd64.deb
$ dpkg -i radperf_2.0.1_amd64.deb

Prepeare file

Blank lines in the input separate individual packets. e.g.

users.txt
User-Name = "test"
User-Password = "123"

User-Name = "test1"
User-Password = "0007"

User-Name = "test2"
User-Password = "011998"

testing

radperf -s -f ../users.txt -p 800 -a pap 10.3.1.1 auth radiussomething

where users.csv file contains 10000 user names with password, I get this output:

Total succeeded        :  3811
     Total failed      :  6189
     Total no reply    :  0
     Total time (s)    :  10.588
     Packets/s         :  944
     Response times:
< 10 usec  : 0
< 100 usec : 0
< msec     : 0
< 10 msec  : 1
< 0.1s     : 3758
< s        : 5897
< 10s      : 344
< 100s     : 0

ADDS

Цей сайт використовує кукі. Перебуваючи тут, ви погоджуєтеся з їх зберіганням на вашому комп'ютері. Також ви підтверджуєте, що прочитали і зрозуміли нашу Політику конфіденційності. Якщо ви не згодні - покиньте сайт.Більше інформації про куки
  • nodeny/modules/p5_radius3/start.1681600010.txt.gz
  • Востаннє змінено: 15/04/2023 23:06
  • повз Method