Ubuntuにfreeradiusを入れてみる
radiusとは
Remote Authentication Dial-In User Serviceの略。
Radiusサーバー、Radiusクライアント、ユーザーから構成されています。Radiusサーバーがユーザーを認証し、認証成功したユーザーのみを通したりするためのプロトコルです。
Radiusには2つのサービスが備わっています。
また、RadiusクライアントをNAS(network access server)、ユーザーをSupplicantと呼んだりもします。
ubuntuにfreeradiusを入れる
LinuxではRadiusを実現するためにfreeradiusが用意されています。
$ sudo apt-get install freeradius
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-4.15.0-22 linux-headers-4.15.0-22-lowlatency linux-image-4.15.0-22-lowlatency
linux-modules-4.15.0-22-lowlatency
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
freeradius-common freeradius-config freeradius-utils freetds-common libct4 libdbi-perl
libfreeradius3
提案パッケージ:
freeradius-ldap freeradius-postgresql freeradius-mysql freeradius-krb5 snmp libmldbm-perl
libnet-daemon-perl libsql-statement-perl
以下のパッケージが新たにインストールされます:
freeradius freeradius-common freeradius-config freeradius-utils freetds-common libct4 libdbi-perl
libfreeradius3
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 2 個。
/etc/freeradius/3.0/というフォルダが作られ、設定ファイル諸々が入っていました。
- NASの設定は、/etc/freeradius/3.0/clients.conf
- ユーザーの設定は、/etc/freeradius/3.0/users
でできます。この2つのファイルに設定をいれるだけでRadiusとして動きそうです。
/etc/freeradius/3.0/clients.conf
#
# You can now specify one secret for a network of clients.
# When a client request comes in, the BEST match is chosen.
# i.e. The entry from the smallest possible network.
#
#client private-network-1 {
# ipaddr = 192.0.2.0/24
# secret = testing123-1
#}
#client private-network-2 {
# ipaddr = 198.51.100.0/24
# secret = testing123-2
#}
ここでipaddr(スイッチのIPアドレス)とsecretというパスワードを設定します。NAS側でも、radiusサーバーのipと同じsecretパスワードを設定してあげてください。
/etc/freeradius/3.0/users
#
# This is an entry for a user with a space in their name.
# Note the double quotes surrounding the name. If you have
# users with spaces in their names, you must also change
# the "filter_username" policy to allow spaces.
#
# See raddb/policy.d/filter, filter_username {} section.
#
#"John Doe" Cleartext-Password := "hello"
# Reply-Message = "Hello, %{User-Name}"
ユーザーの設定でもCleartext-Passwordというパスワードを設定します。このパスワードが何になるかもNASで設定します。ユーザーのMACアドレスがデフォルトになっているかも。