ダウンロード
ここから落とす。マジで回線遅い。落としたイメージはddコマンド等でSDに焼くのが早い。
初期設定
- piとrootのパスワード変更。特にrootは最初パスワードが設定されてないので
sudo passwd
- キーボードレイアウトの変更
- タイムゾーンの変更(Tokyo)
- update&upgrade
第一戦 ~アクセスポイント構築まで
/etc/network/interfacesにてeth0部分を以下のように変更してIPアドレス固定化。IPアドレス部分はご自由に
iface eth0 inet static address 192.168.101.123 netmask 255.255.255.0 gateway 192.168.101.1 broadcast 192.168.101.255
/etc/sysctl.confにて以下の1行コメントアウト
#net.ipv4.ip_forward=1
hostapdのインストール
sudo apt-get install hostapd
/etc/default/hostapdにてDAEMON_CONFを以下に書き換える
DAEMON_CONF="/etc/hostapd/hostapd.conf"
/etc/hostapd/hostapd.confに以下を記述(新規作成)
interface=wlan0 driver=nl80211 ssid=aaaaaa hw_mode=g channel=2 wpa=2 wpa_passphrase=password wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_pairwise=TKIP
/etc/network/interfacesを再度編集してアクセスポイントのほうも固定化しておく
#allow-hotplug wlan0 #iface wlan0 inet manual #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet dhcp auto wlan0 iface wlan0 inet static address 192.168.123.1 netmask 255.255.255.0 gateway 192.168.101.123
iptablesの設定
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
このままだと再起動すると設定がリセットされてしまうので以下をインストール
sudo apt-get install iptables-persistent
rootで以下を実行
iptables-save > /etc/iptables/rules.v4 service iptables-persistent restart
iptables -Lで確かめると吉
isc-dhcp-serverのインストール
sudo apt-get install isc-dhcp-server
/etc/default/isc-dhcp-serverにて以下の2点を変更
DHCPD_CONF=/etc/dhcp/dhcpd.conf INTERFACES="wlan0"
/etc/dhcp/dhcpd.confも以下のように変更(変更点のみ抜粋)
(コメントで無効化) #option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org; (コメントアウト) authoritative; (追記) subnet 192.168.123.0 netmask 255.255.255.0 { range 192.168.123.100 192.168.123.200; option broadcast-address 192.168.123.255; option routers 192.168.123.1; option domain-name "local"; option domain-name-servers 8.8.8.8; }
ifconfigして以下のようになっていたらいける
eth0 Link encap:Ethernet HWaddr b8:27:eb:cd:6f:44 inet addr:192.168.101.123 Bcast:192.168.101.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:957 errors:0 dropped:0 overruns:0 frame:0 TX packets:634 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:308763 (301.5 KiB) TX bytes:81359 (79.4 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) mon.wlan0 Link encap:UNSPEC HWaddr B0-C7-45-AB-19-5E-00-00-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:287 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:52148 (50.9 KiB) TX bytes:0 (0.0 B) wlan0 Link encap:Ethernet HWaddr b0:c7:45:ab:19:5e inet addr:192.168.123.1 Bcast:192.168.123.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:525 errors:0 dropped:0 overruns:0 frame:0 TX packets:458 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:64401 (62.8 KiB) TX bytes:285758 (279.0 KiB)
DHCPサーバー再起動
sudo service isc-dhcp-server restart
実行してみる
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
これでつながればアクセスポイントの構築までは成功
第二戦 ~認証情報GETまで
CoovaChilliを入れるんだけど、CoovaChilli自体にIPアドレスを割り振る機能があるのでDHCPサーバーを無効化する
sudo service isc-dhcp-server stop
再起動後も起動させなくするには以下を実行
sudo update-rc.d isc-dhcp-server disable
以下のコマンドで確かめると吉
ps ax | grep isc
ダウンロードして解凍
cd /home/pi wget http://coova-chilli.s3.amazonaws.com/coova-chilli-1.3.0.tar.gz tar zxzf coova-chilli-1.3.0.tar.gz
コンパイル&インストール
cd coova-chilli-1.3.0 ./configure --enable-miniportal make sudo make install
wwwディレクトリ以下も必要 configureは不要
cd www make install
/usr/local/etc/chilli/defaultsを変更 変更部分のみ抜粋
HS_WANIF=eth0 HS_LANIF=wlan0 HS_DNS1=8.8.8.8 HS_DNS2=8.8.4.4
サイトを表示させるのに必要
sudo apt-get install haserl
以下を実行。ユーザー名chilliは特に設定なし
sudo echo '/usr/local/lib/' >> /etc/ld.so.conf ldconfig mkdir -p /usr/local/var/ ln -s /var/run /usr/local/var sudo adduser chilli
/etc/network/interfacesでwifi0の構成をかえておかなきゃいけない
auto wlan0 iface wlan0 inet static address 10.1.0.1 netmask 255.255.255.0 gateway 192.168.1.100
実行
sudo /usr/local/etc/init.d/chilli start
FreeRadiusのインストール
sudo apt-get install freeradius
/etc/freeradius/usersを変更してユーザーを全許可にする。Session-Timeoutは通常要らないが検証中は入れておくと吉
DEFAULT Auth-Type := ACCEPT Reply-Message = "Hello, %{User-Name}", Session-Timeout := 60
ちなみに一般的なログイン認証の場合は以下(ユーザー名:pi、パスワード:raspberry)
"pi" Cleartext-Password := "raspberry"
FreeRADIUS再起動して以下を実行してテストしておくと吉
sudo service freeradius restart radtest user1234 pass1234 localhost 1 testing123
https化
CoovaChilliの再コンパイルする必要がある
apt-get install libssl-dev
--with-opensslを付加
./configure --enable-miniportal --with-openssl
あとはmake&make install
/usr/local/etc/chilli/sslkeyに「例の一式」を入れて以下のコマンド実行
openssl rsa -in wifiauth.net.key -out wifiauth.net.key openssl verify -CAfile intermediate.cer wifiauth.net.cer
/usr/local/etc/chilli/defaultsを書き換え。 変更点抜粋
(書き換え) HS_UAMUIPORT=443 HS_UAMFORMAT=https://\$HS_UAMLISTEN/www/login.chi HS_UAMHOMEPAGE=https://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html (追記) # enable ssl redirect HS_UAMUISSL=on HS_REDIRSSL=on HS_SSLKEYFILE=/usr/local/etc/chilli/sslkey/wifiauth.net.key HS_SSLCERTFILE=/usr/local/etc/chilli/sslkey/wifiauth.net.cer
/usr/local/etc/chilli/local.confに以下を追記
sslcafile=/usr/local/etc/chilli/sslkey/intermediate.cer
これなら証明書のエラーも出ないはず?
URL変更
apt-get install bind9
/etc/bind/named.conf.optionsに以下を追記
acl localnet{ 127.0.0.1; 10.1.0.0/16; 192.168.101.0/24; };
/etc/bind/named.conf.default-zonesに以下を追記
zone "wifiauth.net" { type master; file "/etc/bind/db.wifiauth"; };
/etc/bind/db.wifiauthで「localhost」から「wifiauth.net」に変換 以下のようになる
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA wifiauth.net. root.wifiauth.net. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS wifiauth.net. @ IN A 10.1.0.1