かめねこ広告

raspberry Pi3に複数のwifiへ自動接続してもらう

ネットワーク設定ファイルを作成する

raspbianのネットワーク設定は上述した通り/etc/network/interfaces.dから読み込まれるので設定ファイルを放り込んでみましょう。
/etc/network/interfaces には

Include files from /etc/network/interfaces.d:

source-directory /etc/network/interfaces.d
このようにinterfaces.dからインクルードされますって書いているので間違いないと思います。
詳しくはgoogle先生に聞いてください。(自信ない)

かめねこ的には希望通りの動作をしてくれるので問題ないでしょう、interfaces.dの直下にwlan.confファイルを作成して設定を書きます。

interfaces.d直下に設定ファイルを作成

それでは作成して書いていきましょう。
同じくviかnanoを使用して作成するのでお好きなエディタでどうぞ。
nanoで作成して編集する

sudo nano /etc/network/interfaces.d/wlan.conf

viで作成して編集する

sudo vi /etc/network/interfaces.d/wlan.conf

そして下記をコピペしてwpa_supplicant.confで決めたそれぞれの識別子を書きましょう。
例:iface 識別子 inet dhcp
となっている場所の識別子を変更します、かめねこは接続先を3個作成しているので3個書いていますが必要数を下に追加してください、もちろん少ない場合は消すか#でコメントアウトします。

auto lo
iface lo inet loopback
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

#ここから複数の接続先の個別設定
#wpa_supplicant.confの識別子を書くよ
# iface 識別子 inet dhcp
#固定IPの場合はstaticにして下に設定を書くよ
#接続先1
iface mobile inet dhcp
#接続先2
iface office inet dhcp
#接続先3
iface home inet dhcp

wlan.confに書いている内容はちょっと忘れてしまうというダメっぷりを発揮していますが、その気になれば調べる事にしてサラッと流します。
とりあえず問題もなく接続できているので良しとします。
書き終わったら保存して再起動してみたりして Wi-Fiの接続実験をしましょう。

sudo reboot

複数のWi-Fiを固定IPで接続する場合

固定IPを設定する場合は識別子毎に設定できます。
例えば識別子”home”のWi-Fiに接続している時は固定IPで運用する場合
dhcpからstaticに変更して設定を追記する事で可能になるはずです。
例:iface home inet static

#dhcpからstaticに変更して設定を追加する
iface home inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

このように記述するとaddressで指定した固定IPで接続できます。
もちろんgatewayやnetmaskは環境に応じて変えてください。
かめねこはdhcpで使っているので詳しくはgoogle先生にお任せします。
お手上げ

wpa_passphraseを使用する場合

これを使用することでwpa_supplicant.confに記述するパスフレーズを256bitのキーで記述する事ができます。
キーを作成したいWi-Fiの”SSID”と”パスフレーズ”を引数として渡すと256bitキーを作成してくれます、要はジェネレーターですね。

Macからraspberry Piにログインする

ssh pi@raspberrypi.local

パスワードを暗号化する

wpa_passphrase SSID パスフレーズ

SSIDとパスフレーズ部分を書き換えて上記コマンドを実行します。
すると下記のサンプルのような感じでnetwork{}を書き出してくれるので、上記で作成したwpa_supplicant.confに書いたSSIDのpsk=部分を出力されたランダムな文字列に書き換えます。
※wpa_passphraseで出力されている#で始まるpsk部分ではなく下から2行目です。
もちろんリダイレクトする事で任意のファイルに書き出すこともできます。

pi@raspberrypi:~ $ wpa_passphrase test-SSID test-password
network={
ssid="test-SSID"
#psk="test-password"
# ↑これではなく↓これに書き換えます
psk=d33460da494ecf98c7d2377352cfe1d1cd3606c835a109faa309b279ff44c963
}

おしまい

wpa_passphraseはSSIDとパスフレーズを同じファイルに平文で保存するなんてセキュリティー的に危険だよね、って事なんでしょうか。
でも、そもそもwpa_supplicant.confを見られている時点でセキュリティ的にダメだと思うわけですよ。
いや、もしかしたらルーターとの接続認証時に256bitキーを送信してるのかな?まさかねぇ?
この辺はもう少し調べてみる必要が有りますね。 かめねこ

コメント