LoginSignup
9

More than 3 years have passed since last update.

Raspberry PiをRADIUSサーバにしてWi-FiアクセスポイントにWPA2エンタープライズによるユーザ認証をさせる

Last updated at Posted at 2019-12-21

経緯

Wi-Fi接続にてユーザ単位の認証を行い、端末側もネットワークの正当性を確認できるようにするため、WPA2エンタープライズ(WPA2-EAP)の環境を整備した際の記録です。

WPA2-EAPの認証方式には複数ありますが、ここでは普及度の高いPEAPを用いました。認証方式について詳しくは、以下のページが参考になります。

筆者の環境

  • Raspberry Pi
    • Raspberry Pi 3 Model B Rev 1.2
    • Raspbian GNU/Linux 9.4 (stretch)
  • Wi-Fiアクセスポイント
    • TP-LINK Archer C9 (ブリッジモード)
  • Wi-Fiクライアント
    • macOS Catalina
    • iOS 13
    • Android 10

freeradius の設定

Raspberry PI の Wi-Fi をオフにする場合は、以下のコマンドを実行します。

sudo iwconfig wlan0 txpower off

RADIUSサーバのfreeradiusをインストールします。

sudo apt-get install freeradius
sudo systemctl enable freeradius

EAPで用いるプロトコルを、以下の通り設定します。

/etc/freeradius/3.0/mods-available/eap
eap {
  ...
  default_eap_type = peap
  ...
}

ログ(/var/log/freeradius/radius.log)に認証の結果が表示されるように、以下の通り設定します。

/etc/freeradius/3.0/radiusd.conf
log {
  ...
  auth = yes
  ...
}

RADIUSクライアント(ここではWi-Fiアクセスポイント)からのアクセスを許可するため、設定ファイルに以下を追加します。

/etc/freeradius/3.0/clients.conf
client private-network {
        ipaddr = 192.168.0.0/24 # RADIUSクライアントのアドレス、もしくはネットワーク
        secret = somerandomtext # 任意のランダムな文字列
}

認証するユーザアカウントを、以下のように設定します。DEFAULTより上に記載するよう注意してください。Cleartext-Password は平文による記載となるので望ましくはありませんが、取り急ぎ動作確認のために指定しています。

/etc/freeradius/3.0/mods-available/files
yourusername  Cleartext-Password := "yourpassword"

freeradiusを再起動します。

sudo systemctl restart freeradius

Wi-Fiアクセスポイントの設定

Wi-Fiアクセスポイントに以下の設定をします。

  • セキュリティ
    • WPA2-エンタープライズ AES
  • RADIUSサーバIP
    • Raspberry PiのIPアドレス
  • RADIUSポート
    • 1812
  • RADIUSパスワード
    • /etc/freeradius/3.0/clients.confに設定したsecret

以上で、WPA2エンタープライズによるWi-Fi接続ができるようになりました。

MACアドレスによる認証を行いたい場合

以下のページに参考になる情報があります。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9