Help us understand the problem. What is going on with this article?

Raspberry Pi に固定IPアドレスを割り当てる方法(Raspbian Jessie)

More than 3 years have passed since last update.

今回やりたいこと

有線LAN接続した Raspberry Pi に、固定IPアドレスを割り当てる

ルーターのDHCPアドレス範囲を確認する

まずはルーターの管理画面にアクセスして、DHCPサーバーのアドレス範囲を確認します。
管理画面への初期ログイン情報は、ルーターの説明書などに記載してあります。

私の環境では、以下の設定になっていました。

開始アドレス:192.168.0.10
終了アドレス:192.168.0.254

固定IPを割り振る場合、このアドレス範囲外にする必要があるため、今回は 192.168.0.2 を設定してみます。(192.168.0.1はルーターのIPアドレス)

Raspberry Pi にログイン

前回の記事でSSH接続できるように対応したので、同じようにリモートPCからログインします。

MBP:.ssh suzy$ ssh pi@192.168.0.16
pi@192.168.0.16's password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Dec 23 23:17:20 2015
pi@raspberrypi ~ $ 

設定ファイルを編集する

固定IPを設定するには /etc/network/interfaces ファイルを変更するとの情報をWebで得たので、まずはファイルの中身を確認してみました。初期状態は以下のようになっています。

# Please note that this file is written to be used with dhcpcd.
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'.

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

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

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

何やら上のコメントが気になります...「固定IPの設定をするなら、/etc/dhcpcd.confの内容と、man dhcpcd.confコマンドの実行結果を参考にしてね!」といった感じでしょうか。

Web上の情報は、前バージョンの Raspbian Wheezy についての記載が多かったようで、Raspbian Jessie で固定IPを変更する場合は/etc/dhcpcd.confというファイルを編集します。

さっそく man dhcpcd.conf を実行。固定IPの設定方法を発見!

static value
             Configures a static value.  If you set ip_address then dhcpcd will not
             attempt to obtain a lease and just use the value for the address with an
             infinite lease time.

             Here is an example which configures a static address, routes and dns.
                   interface eth0
                   static ip_address=192.168.0.10/24
                   static routers=192.168.0.1
                   static domain_name_servers=192.168.0.1

上記を参考に /etc/dhcpcd.confを編集します。以下を追記しました。

interface eth0
static ip_address=192.168.0.2/24
static routers=192.168.0.1
static domain_name_servers=220.152.38.233

ルータやDNSサーバの設定値は、ご自身の環境に合わせて変更してください。

Raspberry Pi を再起動して、設定内容の反映を確認する

pi@raspberrypi ~ $ sudo shutdown -r now

先ほど設定したIPアドレスでSSH接続できれば、完了です。

MBP:.ssh suzy$ ssh pi@192.168.0.2
The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.
ECDSA key fingerprint is SHA256:S5qREIPX0e81RujvdUyFmrUpVG+Uqa64SuGGffWJCGc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.2' (ECDSA) to the list of known hosts.
pi@192.168.0.2's password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Dec 29 14:17:18 2015
pi@raspberrypi ~ $ 

ログインできたーー!
念のため Raspberry Pi 側でも確認、問題なさそうです。

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:73:f8:3b  
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe73:f83b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:147 errors:0 dropped:0 overruns:0 frame:0
          TX packets:150 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18196 (17.7 KiB)  TX bytes:19893 (19.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)

次にやりたいこと

本来は湿度計を作る計画なので、次は湿度センサーを使って、部屋の温度・湿度を取得するサンプルプログラムを作成してみます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした