Raspberry Piの設定【有線LAN(イーサネット)・無線LAN(WiFi)設定】

 今回は「Raspberry Pi」のネットワーク周辺の設定を行います。標準では有線LANのインターフェースのみの実装ですが、私はUSB WiFiも準備しましたので、有線・無線の両方の設定方法に触れたいと思います。

 

 ネットワークの設定は、/etc/network/interfaces ファイルにて行います。デフォルトは次のような中身です。 

f:id:yamaryu0508:20140816180109j:plain

上段は有線LAN(デフォルトはDHCP)、下段に無線LANの設定が記述されています。

 

有線LANのアドレスをDHCPから固定に変更する

 上段の有線LAN部分を次のように変更します。

/etc/network/interfaces の変更】

$ sudo vi /etc/network/interfaces

# (変更箇所のみ記載)
#iface eth0 inet dhcp
iface eth0 inet static

address 192.168.11.5
netmask 255.255.255.0
gateway 192.168.11.254 

f:id:yamaryu0508:20140814230250p:plain

 ここまで、設定出来たらイーサネットインターフェースの再起動を行い、設定を有効かします。

$ sudo ifdown eth0
$ sudo ifup eth0

 

 

 続いて、WiFiの設定です。WiFiの設定については、有線の場合と同じくIPアドレス関係の設定を/etc/network/interfaces で行い/etc/wpa_supplicant/wpa_supplicant.conf で無線部分(SSID)の設定を行います。WiFiについては、DHCPで使う前提で進めていきます。

 

WiFiの設定(前準備:USB-WiFiのハード認識確認) 

 ハードの認識状況についてはdmesg コマンドがありますが、今回はUSBに絞って確認出来るlsusb マンドを使います。

$ lsusb

f:id:yamaryu0508:20140816180644j:plain

 

今回は、BUFFALO製の「WLI-UC-GNM2」をセットしているのですが、型式まで表示され、認識されていることが確認出来ました。

 

WiFiの設定(その1:「/etc/network/interfaces」の変更 

 下段のWiFiの部分を次のように変更します。

/etc/network/interfaces の変更】

$ sudo vi /etc/network/interfaces

# (変更箇所のみ記載)
iface wlan0 inet dhcp
#iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

f:id:yamaryu0508:20140814232821p:plain

WiFiの設定(その2:「/etc/wpa_supplicant/wpa_supplicant.conf」の変更

 下段のWiFiの部分を次のように変更します。

/etc/wpa_supplicant/wpa_supplicant.conf の変更】

WPA2/WPA-PSK方式で、SSIDを「HWD14_E8088BFDAAAC」、パスワードを「82a4jj8he29jfrd」とするとき、次のように記載します。

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

# (変更箇所のみ記載)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="HWD14_E8088BFDAAAC"
proto=WPA2
key_mgmt=WPA-PSK
psk="02a4jj8he29jfrd"
}

f:id:yamaryu0508:20140814233700p:plain

 なお、SSIDのパスフレーズが平文のままでは困る場合には、sudo wpa_passphrase {SSID} {PASSPHRASE} とコマンドで暗号化入力して、平文のコメントアウトされた部分を削除すると良いです。ここでは、詳細を割愛させて頂きます。

 また、WiFiがステルス(ANY接続無効)で設定されている場合には、network{} 中にscan_ssid=1 を追記することで対応できます。

 

WiFiの設定(その3:WiFiインターフェースの再起動と接続確認)

 ここまで、設定出来たらWiFiインターフェースの再起動を行います。

$ sudo ifdown wlan0
$ sudo ifup wlan0

f:id:yamaryu0508:20140817025911p:plain

 接続出来ているかの確認には、Yahoo!にPINGを打ってみる(ping www.yahoo.co.jp)シンプルな方法もいいですが、ここでは、少しコマンドを使った方法をご紹介します。まずは、ifconfig を使ってみましょう。アドレスが引けていれば接続出来ていることになります。

$ ifconfig

f:id:yamaryu0508:20140814234143p:plain

今回は、WiFiインターフェースに相当するwlan0に「192.168.100.103」というIPアドレスが引けており、WiFiに接続出来ていることが確認出来ます。似たようなコマンドでiwconfig というものがありますので、こちらも試してみましょう。

$ iwconfig

f:id:yamaryu0508:20140816192603p:plain

iwconfig では送受信電力といったマニアックな情報まで出してくれます。まnetstat -nrtでルーティングを確認するのも良いと思います。

f:id:yamaryu0508:20140814234720p:plain

 無線LAN(wlan0)経由で、192.168.100.0のネットワークから全てのアドレス(0.0.0.0)への接続が出来ることを指しています。

 

 このような感じでネットワークの基本的な設定はOKです。

 

 

 さて、今回はちょっと欲張りをしてホスト名でリモート接続出来るよう設定してみましょう。これが出来ると、ping raspberrypi.localssh pi@raspberrypi.localというように、アドレスを指定しなくともリモート接続出来るようになります。DHCPとの相性が良く、収容するネットワークの変更の度にアドレスを再設定する面倒が無くなります。なお、MacintoshにはBonjourが標準で入っていますが、Windowsには標準ではインストールされていませんので、Bonjour等のインストールが必要です。

 

ホスト名接続の設定(その1:avahiのインストール

 Bonjour互換のavahiというサービスをインストールします。

$ sudo apt-get update
$ sudo apt-get install avahi-daemon

f:id:yamaryu0508:20140816181205j:plain

 

 

ホスト名接続の設定(その2:/etc/hostnameの変更)

 ホスト名はプロンプトにあるようにデフォルトraspberrypiとなっていますので、重複が無いよう好きなものに変更してください。

f:id:yamaryu0508:20140815000808p:plain

ホスト名接続の設定(その3:/etc/hostsの変更)

 先の/etc/hostnameと同様に、デフォルraspberrypiなっている部分を変更してください。

f:id:yamaryu0508:20140815000936p:plain

これで、ホスト名を使ったリモート接続が可能になります。なお、raspberrypi.localというようにホスト名に「.local」を付ける必要がありますので、ご注意ください。

 

 そんな訳で、今回はネットワークの設定とホスト名に寄るリモート接続を可能にする設定をご紹介しました。次回は言語やタイムゾーンといった基本設定(raspi-configコマンド)を予定しています。(12/13追記)関連して、外部ネットワークからアクセスできる「Weaved」というサービスを設定するトピックを書きましたので、ここまでも十分長めでしたが、合わせて活用頂ければと思います。