CentOS7.4 FreeRADIUSサーバーのインストール

シェアする

認証サーバーとしてRADIUSサーバーというものがあります。今回、ある事情があって、RADIUSサーバーを使わなければならなくなりましたので、CentOSのパッケージにある「FreeRADIUS」のインストールをしてみます。

ちょっとづつ、CentOS7.3からCentOS7.4に、順次、アップデート中です。
今回は、新規サーバーですので、CentOS7.4です。

FreeRADIUSのパッケージ群とインストール

CentOSのパッケージとして存在するFreeRADIUSのパッケージ群と、最低限のものをインストールします。
なお、今後、環境を用意していく上で、追加でパッケージをインストールしていくことになると思います。

# yum list | grep freeradius
freeradius.x86_64                         3.0.13-8.el7_4               updates
freeradius-devel.i686                     3.0.13-8.el7_4               updates
freeradius-devel.x86_64                   3.0.13-8.el7_4               updates
freeradius-doc.x86_64                     3.0.13-8.el7_4               updates
freeradius-krb5.x86_64                    3.0.13-8.el7_4               updates
freeradius-ldap.x86_64                    3.0.13-8.el7_4               updates
freeradius-mysql.x86_64                   3.0.13-8.el7_4               updates
freeradius-perl.x86_64                    3.0.13-8.el7_4               updates
freeradius-postgresql.x86_64              3.0.13-8.el7_4               updates
freeradius-python.x86_64                  3.0.13-8.el7_4               updates
freeradius-sqlite.x86_64                  3.0.13-8.el7_4               updates
freeradius-unixODBC.x86_64                3.0.13-8.el7_4               updates
freeradius-utils.x86_64                   3.0.13-8.el7_4               updates
# yum info freeradius
   :(省略)
Available Packages
Name        : freeradius
Arch        : x86_64
Version     : 3.0.13
Release     : 8.el7_4
Size        : 1.1 M
Repo        : updates/7/x86_64
Summary     : High-performance and highly configurable free RADIUS server
   :(省略)
# yum info freeradius-utils
   :(省略)
Available Packages
Name        : freeradius-utils
Arch        : x86_64
Version     : 3.0.13
Release     : 8.el7_4
Size        : 221 k
Repo        : updates/7/x86_64
Summary     : FreeRADIUS utilities
   :(省略)
# yum -y install freeradius freeradius-utils
   :(省略)
Installed:
  freeradius.x86_64 0:3.0.13-8.el7_4
  freeradius-utils.x86_64 0:3.0.13-8.el7_4
 
Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7
  apr-util.x86_64 0:1.5.2-6.el7
  boost-system.x86_64 0:1.53.0-27.el7
  boost-thread.x86_64 0:1.53.0-27.el7
  libtalloc.x86_64 0:2.1.9-1.el7
  log4cxx.x86_64 0:0.10.0-16.el7
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
  perl-DBI.x86_64 0:1.627-4.el7
  perl-Data-Dumper.x86_64 0:2.145-3.el7
  perl-IO-Compress.noarch 0:2.061-2.el7
  perl-Net-Daemon.noarch 0:0.48-5.el7
  perl-PlRPC.noarch 0:0.2020-14.el7
  tncfhh.x86_64 0:0.8.3-16.el7
  tncfhh-libs.x86_64 0:0.8.3-16.el7
  tncfhh-utils.x86_64 0:0.8.3-16.el7
  xerces-c.x86_64 0:3.1.1-8.el7_2
 
Complete!

FreeRADIUSの設定と確認

今回は、最低限の設定を行ない、動作の確認までを行ないます。

# cd /etc/raddb
# cp -p radiusd.conf radiusd.conf.original
# vim radiusd.conf
   :(省略)
log {
   :(省略)
#  Log authentication requests to the log file.
#
#  allowed values: {no, yes}
#
auth = yes  <= 認証可否のログ出力
 
#  Log passwords with the authentication requests.
#  auth_badpass  - logs password if it's rejected
#  auth_goodpass - logs password if it's correct
#
#  allowed values: {no, yes}
#
auth_badpass = yes  <= 認証の失敗をログ出力
auth_goodpass = yes <= 認証の成功をログ出力
   :(省略)
# cd /etc/raddb/mods-config/files
# cp -p authorize authorize.original
# vim authorize
   :(省略)
testuser Cleartext-Password:="testpass"
# cat /etc/raddb/clients.conf
   :(省略)
client localhost {
   :(省略)
  secret = testing123
   :(省略)
# systemctl start radiusd
# systemctl status radiusd
* radiusd.service - FreeRADIUS high performance RADIUS server.
   Loaded: loaded (/usr/lib/systemd/system/radiusd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-11-08 02:17:38 JST; 8min ago
   :(省略)
# radtest -4 testuser testpass localhost 1812 testing123
Sent Access-Request Id 112 from 0.0.0.0:56165 to 127.0.0.1:1812 length 78
        User-Name = "testuser"
        User-Password = "testpass"
        NAS-IP-Address = 192.168.1.92
        NAS-Port = 1812
        Message-Authenticator = 0x00
        Cleartext-Password = "testpass"
Received Access-Accept Id 112 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

とりあえず、簡単なローカル環境を作成して、RADIUSサーバーでの動作確認ができました。