Ubuntu 16.04 に FreeRADIUS 3 をインストールする。

約1年ぶりの投稿になってしまった。

うちのPCがすべてWindows 10 Proになり、既知の問題であるWPA2 Enterpriseで無線LANを接続しようとしても失敗してしまう事象が発生するようになった。
有線LANを使えばどうにでもなるのでしばらく放置していたが、新しい無線APを購入することにしたので届くまでには何とかしたいと思いはじめて対処を開始した。

Windows 10 Proの既知の問題として、EAPで使用する暗号化プロトコルがTLS1.2になったことにより、それに対応していないRADIUSサーバではWPA2 Enterprise認証がうまくいかなくなる、ということだった。
うちで稼働していたRADIUSサーバはUbuntu 16.04標準のFreeRADIUS2.xだったが、すでにFreeRADIUS2.xは開発が終わっており、Ubuntu 16.04標準パッケージのままでは問題を回避するFIXがあまり期待できそうにないということで、Ubuntu非公式のPPAとして配布されているFreeRADIUS3.xを使って何とかできないか、と思い至った。

# add-apt-repository ppa:freeradius/stable-3.0
***************************************************************************
Check http://packages.networkradius.com/ first. If it has newer or
same version package, use that.

This ppa is an unofficial repository that will be deprected when FR’s
official one contains up-to-date packages.
***************************************************************************

Freeradius 3.0.x unofficial builds for Ubuntu.

This ppa is for freeradius version v3.0.x. See https://launchpad.net/~freeradius for list of all available version.

Freeradius 3.x configuration files are incompatible with 2.x. If you have old 2.x packages installed, remove them first (e.g. BACKUP /etc/freeradius somewhere safe, THEN run “apt-get purge libfreeradius2 freeradius-common; rm -rf /etc/freeradius”).

If you want an environment closer to Ubuntu’s existing package, use ppa:freeradius/stable instead.
More info: https://launchpad.net/~freeradius/+archive/ubuntu/stable-3.0
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp0uk_r3ki/secring.gpg’ created
gpg: keyring `/tmp/tmp0uk_r3ki/pubring.gpg’ created
gpg: requesting key E9139F48 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp0uk_r3ki/trustdb.gpg: trustdb created
gpg: key E9139F48: public key “Launchpad PPA for Freeradius Build” imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

# aptitude update
Hit http://jp.archive.ubuntu.com/ubuntu xenial InRelease
Get: 1 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Hit http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
Get: 2 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [452 kB]
Hit http://repo.mysql.com/apt/ubuntu xenial InRelease
Get: 3 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get: 4 http://ppa.launchpad.net/freeradius/stable-3.0/ubuntu xenial InRelease [17.6 kB]
Get: 5 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [444 kB]
Get: 6 http://ppa.launchpad.net/freeradius/stable-3.0/ubuntu xenial/main amd64 Packages [4,332 B]
Get: 7 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [6,568 B]
Get: 8 http://jp.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [6,568 B]
Get: 9 http://jp.archive.ubuntu.com/ubuntu xenial-updates/restricted i386 Packages [6,564 B]
Get: 10 http://jp.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,020 B]
Get: 11 http://jp.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [378 kB]
Get: 12 http://security.ubuntu.com/ubuntu xenial-security/restricted i386 Packages [6,564 B]
Get: 13 http://ppa.launchpad.net/freeradius/stable-3.0/ubuntu xenial/main i386 Packages [4,320 B]
Get: 14 http://jp.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [373 kB]
Get: 15 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,020 B]
Get: 16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2,744 B]
Get: 17 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [2,908 B]
Get: 18 http://ppa.launchpad.net/freeradius/stable-3.0/ubuntu xenial/main Translation-en [1,524 B]
Get: 19 http://jp.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [7,376 B]
Get: 20 http://jp.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [6,160 B]
Fetched 1,929 kB in 4s (405 kB/s)

Current status: 53 (+5) upgradable, 419 (+14) new.

# aptitude install freeradius freeradius-common freeradius-krb5 freeradius-utils libfreeradius3

インストールするところは何と言うことはなかったが、FreeRADIUSがちゃんと起動するところまで持って行くのに一苦労した。
Ubuntu 16.04標準のFreeRADIUS2.xではinitスクリプトで起動停止の制御をしていたので問題がなかったようだが、PPAのFreeRADIUS3.xでは完全なSystemdの定義が用意されており、サーバを再起動した後にPIDファイルが格納される領域(tmpfs)が消失して基に戻らないのでFreeRADIUSが自動起動してくれない、という問題が生じた。
そのため、起動時にtmpfs上に必要なディレクトリを作成してくれる設定を用意する必要があった。

# vi /usr/lib/tmpfiles.d/freeradius.conf
—–
d /var/run/freeradius 0755 freerad freerad
d /var/run/freeradius/tmp 0755 freerad freerad
—–

設定はFreeRADIUS2.xの内容を移植することで最低限ネットワーク機器でのRADIUS認証は動くようになった。
ただ、無線LANのWPA2 Enterprise認証がうまくいくようにはまだなっていないので、継続調査。


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す