EAP-PEAP認証方式を導入
今回は、ラスベリーパイに導入したOpenWrtとRADIUSサービスを導入し、EAP-PEAP認証でWi-Fi(無線LAN)に接続していきたいと思います。
EAP-PEAP認証とは
Server証明書 + ユーザID / パスワード などを用いる認証方式
構成イメージ図
準備機器
・ノートPC(Windows 10)
・Raspberry Pi 3 model B:OpenWrt
・無線LANアダプタ(WN-G300UA)
・仮想環境 Ubuntu(Ver 20.04):RADIUS Server
※VirtualBoxを使用
・ルータ
・スマートフォン
RADIUS 導入(仮想環境:Ubuntu)
◇ ソフトウェアをインストール
■ アップデート
apt update
■ freeradiusソフトウェアをインストール
apt -y install freeradius
■ バージョン確認(FreeRADIUS Version 3.0.26)
freeradius -v
◇ 各Confファイルのバックアップを取得
■ radiusd.conf / clients.conf ファイルをバックアップ
cd /etc/freeradius/3.0/;ll
cp -p radiusd.conf radiusd.conf_`date "+%Y%m%d"`;ll radiusd*
cp -p clients.conf clients.conf_`date "+%Y%m%d"`;ll clients*
■ authorize ファイルをバックアップ
cd /etc/freeradius/3.0/mods-config/files;ll
cp -p authorize authorize_`date "+%Y%m%d"`;ll authorize*
■ ca.cnf / server.cnf ファイルをバックアップ
cd /etc/freeradius/3.0/certs;ll
cp -p ca.cnf ca.cnf_`date "+%Y%m%d"`;ll ca*
cp -p server.cnf server.cnf_`date "+%Y%m%d"`;ll server*
◇ RADIUSログ設定
cd /etc/freeradius/3.0/;ll
vim radiusd.conf
※viコマンドのブログ:https://note.com/tango9512357/n/n5907577491e5
【Before】
auth = no # 認証時のログ出力設定
auth_badpass = no # 認証失敗時のログ出力
auth_goodpass = no # 認証成功時のログ出力
【After】
auth = yes # 認証時のログ出力設定
auth_badpass = yes # 認証失敗時のログ出力
auth_goodpass = yes # 認証成功時のログ出力
◇ クライアントの通信許可設定
vim clients.conf
<Add>
client TestWiFi {
ipaddr = # 接続許可のIPアドレス(ex:0.0.0.0/0)
secret = # RADIUS Clientとの通信時のパスワード
}
◇ ユーザ名 / パスワード 設定
vim users
※Wi-Fi(無線LAN)接続時に使う
【変更前】
#steve Cleartext-Password := "testng"
【変更後】
steve Cleartext-Password := "testing123"
◇ ca証明書設定
cd /etc/freeradius/3.0/certs;ll
vim ca.cnf
【Before】
default_days = 60
【After】
default_days = 500
◇ サーバー証明書設定
vim server.cnf
【Before】
default_days = 60
【After】
default_days = 500
◇ 証明書作成
make all;ll
◇ RADIUSサービスを起動
■ RADIUSサービスが起動しているか確認
systemctl status freeradius
■ 以下のどれかを実行
起動している場合 :systemctl restart freeradius
起動していない場合:systemctl start freeradius
■ RADIUSサービスが起動しているか確認
systemctl status freeradius
◇ RADIUS ServerのIPアドレスを取得
■ 以下のどれかを実行し、IPアドレスをメモしておく
ifconfig
ip address
OpenWrt 導入(Raspberry Pi)
◇ ソフトウェアをインストール
未導入の場合は、「ラズパイ3にOpenWrtを導入」を参照
◇ ラズベリーパイにSSH接続(既に接続していればSKIP)
■ 無線LANアダプタをラズベリーパイに接続する。
■ TeraTermを開いてログインする。
初期値のIPアドレスは「192.168.1.1」になっている
※ ラズベリーパイを操作できればTeraTermを利用しなくてもよい
◇ 時刻設定
cd /etc/config;ll
vim system
<Before>
config system
option hostname 'OpenWrt'
option timezone 'UTC'
<After>
config system
#option hostname 'OpenWrt'
#option timezone 'UTC'
option hostname 'TestWi-Fi' # 任意のホスト名を記載
option timezone 'JSP-9'
◇ 各Confファイルのバックアップを取得
■ network / system / wireless ファイルをバックアップ
cp -p network network_`date "+%Y%m%d"`;ll network*
cp -p wireless wireless_`date "+%Y%m%d"`;ll wireless*
cp -p dhcp dhcp_`date "+%Y%m%d"`;ll dhcp*
◇ ネットワーク設定
vim network
<Before>
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
<After>
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '' ※自身のPrivate IPaddress
option netmask '255.255.255.0'
option gateway '' ※自身のPrivate IPaddressのGateWay
list dns '' ※自身のPrivate IPaddressのGateWay
【※xxxxxxx】の箇所は、自信のネットワーク環境に合わせて変更が必要
◇ 再起動
reboot
◇ ラズベリーパイにSSH接続
LANケーブルをスイッチングハブと繋ぎなおす。
※GateWayに通信できればルータでもよい
TeraTermを開いて、networkファイル編集時に「option ipaddr」で設定したのIPアドレスにSSH接続する。
※ラズベリーパイを操作できればTeraTermを利用しなくてもよい
◇ パーティション設定
■ 以下のパーテーション設定を参照
https://note.com/tango9512357/n/nf4d81fdb75ee
◇ パッケージをインストール
■ アップデート
opkg update
■ 無線LANアダプタのドライバーをインストール
※ WN-G300UAのチップセットは 8192cu
opkg install kmod-rtl8192cu
opkg list-installed kmod-rtl8192cu
■ IEEE 802.1x/WPA/EAP/RADIUSなどを含んだパッケージをインストール
opkg list-installed wpad*
opkg remove wpad-basic-mbedtls
opkg install wpad
opkg list-installed wpad*
◇ ワイヤレス設定
vim /etc/config/wireless
※pathが usb と記載している方を編集
<Before>
config wifi-device 'radio1'
option type 'mac80211'
option channel '1'
option band '2g'
option htmode 'HT20'
option disabled '1'
<After>
config wifi-device 'radio1'
option type 'mac80211'
option channel '1' #任意のチャネル数を記載
option band '2g'
option htmode 'HT40'
option disabled '0' #0:有効化、1:無効化
option txpower '10'
<Before>
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt'
option encryption 'none'
<After>
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option ifname 'wlan'
option mode 'ap'
option ssid 'TestWi-Fi' # 任意のSSIDを記載
option encryption 'wpa2' # EAP-PEAP認証方式
option auth_server '' # RADIUS ServerのIPアドレス
option auth_secret '' # RADIUS Serverとの通信時のパスワード
◇ 起動時に、自動実行設定
vim /etc/rc.local
<Before>
exit 0
<After>
wifi
exit 0
◇ 再起動
reboot
◇ Wi-Fi(無線LAN)接続確認
■ スマートフォンで接続確認
番外編(DHCP設定)
出先などで別機器に接続して利用する際、手動設定だと再設定が必要な為、あらかじめDHCP設定をしておき、挿し元の機器に割り振られているネットワーク部のIPアドレスを自動で割り振る。
◇ ラズベリーパイにSSH接続
LANケーブルをスイッチングハブと繋ぎなおす。
※GateWayに通信できればルータでもよい
TeraTermを開いて、networkファイル編集時に「option ipaddr」で設定したのIPアドレスにSSH接続する。
※ラズベリーパイを操作できればTeraTermを利用しなくてもよい
◇ ネットワーク設定
cd /etc/config;ll
vim network
<Before>
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.100.173'
option netmask '255.255.255.0'
option gateway '192.168.100.1'
list dns '192.168.100.1'
<After>
config interface 'lan'
option device 'br-lan'
option proto 'dhcp'
◇ 再起動
reboot
◇ RADIUSサーバのIPアドレス変更
■ OpenWrt と RADIUSサーバのIPアドレスを検索
※参考ブログ:プライベートIPaddress 検索
■ ブラウザを開きログイン
※参考ブログ:ブラウザからログインできるかを確認
■ RADIUSサーバのIPアドレス設定を変更
◇ Wi-Fi(無線LAN)接続確認
別機器に接続し、Wi-Fi(無線LAN)が接続でき、問題なくサイト閲覧ができるかを確認する。
※関連資料
・ラズパイ3にOpenWrtを導入
https://note.com/tango9512357/n/nc429ab9c8131
・viコマンド
https://note.com/tango9512357/n/n5907577491e5
・プライベートIPaddress 検索
https://note.com/tango9512357/n/n57147de9edd6