Ubuntu18.04でFreeRADIUSサーバセットアップ part1

Radiusサーバをセットアップする機会がありましたので、防備録です

今回はこちらの入門ページ(GettingStarted)を参考にCisco CatalystSwitchでRadiusサーバの機能を検証です。

http://wiki.freeradius.org/guide/Getting%20Started

インストールは以下のコマンドです。

$ sudo apt-get install freeradius

バージョン確認コマンドです。

$ freeradius -v
#Ubuntu18.04の場合
radiusd: FreeRADIUS Version 3.0.16,

#Ubuntu16.04の場合
freeradius: FreeRADIUS Version 2.2.8,

Ubuntu16.04では通常のapt-getでのインストールはFreeRADIUS2.xがインストールされるようですので、Ubuntu18.04のほうが良いかもです。2.xは公式サイトに End Of Life と宣言されていますね。

公式サイト

https://freeradius.org/releases/

ただGettingStartedページを(しっかり読まずに)試してもぜんぜんうまくいかず。。検索して各種ページを試すも泥沼に(よくあることですよね。。)。もう一度しっかり読んで次はびっくりするほど簡単にセットアップ終了です。

よく読むとこちらの設定コマンドは、Debian派生システムの場合(Ubuntu)は適宜読み替えてくれ、とちゃんとかいてありますね。。

・radiusd がDebian派生システムでは freeradius

・/etc/raddb がDebian派生システムでは /etc/freeradius

になるってことですね。


Note that in Debian-based systems, the server daemon is called freeradius instead of radiusd The configuration files are also located in /etc/freeradius/ instead of /etc/raddb/. We use radiusd and /etc/raddb/ in this guide, and trust that Debian administrators can translate to their system.

まずはちゃんとサービスとして起動しているか確認です。active (running)な状態を確認です。

$ sudo systemctl status freeradius

設定ファイルはこちらに出来ていました。/etc/freeradius/3.0/

/etc/freeradius/3.0/mods-config/files/authorize を編集します。下のサンプル一行を先頭につけておきます。

testing Cleartext-Password := testing123

radtestコマンドでテストです。

$ radtest testing testing123 127.0.0.1 0 testing123

結果として以下のように出てくれば出だしはOKと思います。

Received Access-Accept Id 135 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

ネットワークから使えるようにする

デフォルトの状態ですとネットワーク上のPCから使えません。この状態ですとRadiusの目的を果たせませんので、いろいろ変更します。

まずはdefaultパスワードtesting123を変えましょう

変更は2箇所です。

・ /etc/freeradius/3.0/mods-config/files/authorize (前述)

・ /etc/freeradius/3.0/clients.conf

client localhost {
        ipaddr = 127.0.0.1
        proto = *
        secret = testing123  ##これ変更!

clients.confにはすでにtesting123がデフォで設定されています。変更ですね

つぎはネットワークからアクセスできるようにclient.confを変更です。192.168.0.0/24からアクセスを許可したい場合は以下のように追加です。

#clisents.conf
client localnet {
        ipaddr = 192.168.0.0/24
        secret = dflkj34ljb4i3
}
#/etc/freeradius/3.0/mods-config/files/authorize
testing Cleartext-Password := testingpw456

これで他のPCからradtestしてみると(radius server ip x.x.x.xとして

$ radtest testing testingpw456 x.x.x.x 0 dflkj34ljb4i3

で認証が成功するはずです。

だめな場合はログ調査です。/var/log/freeradius/radius.log

続きます。