2016年4月13日水曜日

Raspberry PiのIPアドレスを固定する

はじめに

本書の9章および10章では、下図のようにRaspberry PiとPC(またはスマートフォン)とをルーター機器に接続したネットワークを構成し、PC(またはスマートフォン)からRaspberry Piにアクセスしました。

その際、Raspberry Piに振られるIPアドレスはルーター機器から自動的に割り当てれるものを利用しました。

例えば、下の図ではRaspberry PiのIPアドレスが「192.168.10.3」、PCのIPアドレスが「192.168.10.2」と示されています。「IPアドレスが自動的に割り当てられる」ということは、このIPアドレスが逆になることや、「192.168.10.4」以降のIPアドレスが割り当てられることもある、ということを意味します。

そのため、10章でRaspberry Piを搭載したキャタピラ式模型を作成した際、どのようなIPアドレスがRaspberry Piに割り当てられたかを知る方法が必要でした。本書ではLCDをキャタピラ式模型に搭載し、そこにIPアドレスを表示することでその問題を解決しました。

しかし、Raspberry PiのIPアドレスがルーターから自動的に割り当てられるものではなく、最初から固定されたものであったら、IPアドレスを知るための工夫は不要になります。

本ページではそれを実現するために必要な予備知識と、具体的な方法について解説します。


どのようなIPアドレスに固定すれば良いかを知ろう

Raspberry PiのIPアドレスを固定したい場合、まずはどのようなIPアドレスを利用してよいのかを知るところから始めます。そのためには、お使いのルーター機器の設定を確認する必要があります。

何故でしょうか。例えば、Raspberry Piに「192.168.10.2」というIPアドレスを固定アドレスとして(勝手に)割り当てたとします。しかし、「192.168.10.2」というIPアドレスはWifiルーターによって管理されていますので、そのIPアドレスがPCに割り当てられることがあり得ます。

すると、ネットワーク内に同じIPアドレスの機器が2台存在することになり、ネットワークが正常に機能しなくなります。

そのため、固定アドレスとして利用するためには、Wifiルーターにより自動的に割り当てられるアドレスを避けなければいけないわけです。

以下、本ページでは、高度な解説をさけるため、家庭用の一般的なルーター機器のデフォルトの設定に基づいて解説を進めます。例としてNECとBuffaloのルーター機器を取り上げます。

学校や職場のような環境の場合、本ページの解説が当てはまらないことがありますので、詳細はネットワーク管理者にお尋ねください。

1. NEC Aterm WG600HPの場合

まず、WifiルーターであるNEC Aterm WG600HPを例に解説します。NEC社のWifiルーターであれば、似た手順で設定を確認できると思います。

まず、上の図のようにRaspberry Piに192.168.10.3のようなIPアドレスが自動的に割り当てられているとします。このアドレスは、メーカーや機種によって異なりますので、適切に読み替えてください。

このとき、実はルーター機器(のLAN側)にもIPアドレスが割り当てられています。多くの家庭用ルーター機器のデフォルト設定では、Raspberry PiのIPアドレスの3つめのピリオドの右側の数値を「1」に置き換えたIPアドレスとなります。すなわち、上図では「192.168.10.1」です。
(繰り返しますが、学校や職場などでは必ずしもそうはなっておりませんのでご注意ください)

そのIPアドレスに対してブラウザでアクセスすると、ルーター機器の設定画面に入ることができます。上図の状況の場合、ブラウザのアドレス欄に「 http://192.168.10.1/ 」を記入します。

NEC Aterm WG600HPの場合、ユーザーadminに対し、購入時の初回設定で決めたパスワードを入力する必要があります。詳細はルーター機器の説明書をご覧ください。本ページでは、ルーター機器の一般的な設定方法についてのご質問には回答できません。

設定画面において、下図のように「詳細設定」→「LAN側設定」のページを見ると、ここで知りたい情報が記されています。

まず、「IPアドレス」欄に「192.168.10.1」と記されています。これがこのルーターのIPアドレスです。機種によって異なることも多いでしょう。

その横に記されている「24」という数字は、「このネットワークでは192.168.10.0~192.168.10.255のIPアドレスが使える」、ということを示すネットマスクと呼ばれる数値に関連するのですが、ここでの解説は省略します。ほとんどの機種で「24」となっているのではないでしょうか。

さらに、赤い四角で囲われた以下の情報に着目してください。
  • アドレス割当パターン:自動指定
  • 割当先頭アドレス:(指定なし)
  • 割当数:32
最初の2つの項目によって「PCやRaspberry Piに割り当てられるIPアドレスは192.168.10.2を先頭とする」ということが示されています。これは、設定ページ上の「?(ヘルプ)」マークをクリックすることでわかります。

さらに3つ目の項目も合わせると、「PCやRaspberry Piに割り当てられるIPアドレスは192.168.10.2~192.168.10.33の32個」であることがわかります。

以上をまとめると、このネットワークにおけるアドレスの利用のされ方は下図のようになります。 192.168.10.0と192.168.10.255はそれぞれネットワークアドレス、ブロードキャストアドレスと呼ばれる特別なアドレスなので利用できません。また、192.168.10.1はルーターのIPアドレス、192.168.10.2~192.168.10.33はルーターから割り当てられるアドレスなのでやはり利用できません。

その結果、このルーターでは、固定するIPアドレスとして利用可能なのは192.168.10.34以降であることがわかりました。
なお、上のルーターの設定画面で設定を変更すると、ルーターによって割り当てられるIPアドレスの先頭アドレスを後方にずらすことも可能です。そうすると192.168.10.2などの若いIPアドレスを固定IPアドレス用として利用可能になりますが、ルーターの設定変更が必要になりますので、適用は自己責任でお願いします。

2. Buffalo WHR-1166DHP2の場合

次に、BuffaloのWifiルーター WHR-1166DHP2の場合の解説を行います。Buffalo社のルーターならば、似たような手順で設定を確認できるでしょう。

NEC社のWifiルーターで解説したのと同様に、ルーターのIPアドレスを知る必要があります。WHR-1166DHP2の場合、Raspberry PiやPCにはデフォルトで192.168.11.XというIPアドレスが振られていました。そのため、ルーターのIPアドレスは192.168.11.1と考えられます。

そこで、PCのブラウザで、アドレス欄に「 http://192.168.11.1/ 」を記入し、ルーターにアクセスします。

WHR-1166DHP2の場合、ユーザーadminに対し、出荷時のパスワードを入力する必要があります。詳細はルーター機器の説明書をご覧ください。本ページでは、ルーター機器の一般的な設定方法についてのご質問には回答できません。

設定画面において、「詳細設定」→「LAN」→「LAN」と辿ると、下図のように知りたい情報が記されています。

まず、「LAN側IPアドレス」欄に「192.168.11.1」と記されています。これがこのルーターの(LAN側の)IPアドレスです。機種によって異なることも多いでしょう。

その下の「255.255.255.0」という数字はネットマスクと呼ばれ、「このネットワークでは192.168.11.0~192.168.11.255のIPアドレスが使える」、ということを示します。NECのルーターで書かれていた「/24」と同じ意味です。多くのルーターでこの値となっているでしょう。

「割り当てIPアドレス」に書かれているように『「192.168.11.2」から64個』がこのWifiルーターにより自動的に割り当てられるIPアドレスです。

以上をまとめると、このネットワークにおけるアドレスの利用のされ方は下図のようになります。 192.168.11.0と192.168.11.255はそれぞれネットワークアドレス、ブロードキャストアドレスと呼ばれる特別なアドレスなので利用できません。また、192.168.11.1はルーターのIPアドレス、192.168.11.2~192.168.11.65はルーターから割り当てられるアドレスなのでやはり利用できません。

その結果、このルーターでは、固定するIPアドレスとして利用可能なのは192.168.11.66以降であることがわかりました。

IPアドレスを固定する

さて、以上で固定するIPアドレスを決めることができました。ここから、実際に設定を行っていきましょう。NECのルーターの例で示したように、192.168.10.34に固定する場合を例に解説します。

RaspbianのバージョンはJessie系列(NOOBS 1.9.0)とWheezy系列(NOOBS 1.4.1)の両方で動作を確認しました。

まず、ターミナル上で下記のコマンドを実行し、設定ファイル /etc/dhcpcd.conf を管理者権限で編集します。
  • sudo leafpad /etc/dhcpcd.conf
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
  • sudo mousepad /etc/dhcpcd.conf
このファイルの末尾に、下記のような4行を追加します。
interface wlan0
static ip_address=192.168.10.34/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1
これらの行は、環境に応じて変更が必要ですので、順に解説します。
  • 1行目:無線LANについての設定であることを示します。有線LANの場合、「wlan0」を「eth0」に変更してください。
  • 2行目:「192.168.10.34」がRaspberry Piに固定するIPアドレスを表します。
  • 2行目:「/24」はNECのルーターの解説で少し触れたように、利用可能なIPアドレスの範囲を指定するための数値です。多くのルーターのデフォルト状態では、「/24」のままで良いでしょう。
  • 3行目と4行目:ここはルーターのIPアドレスを記します。
以上を記述した後ファイルを保存し、Raspberry Piを再起動してください。指定したIPアドレスが割り当てられていれば成功です。

0 件のコメント:

コメントを投稿