Raspberry Pi にスタティック IP を割り当てます

胡金庫 2023年1月30日
  1. Raspberry Pi OS のネットワーク構成の基本
  2. dhcpcd コマンドを使用して、スタティック IP アドレスを Raspberry Pi イーサネットインターフェイスに割り当てます
Raspberry Pi にスタティック IP を割り当てます

この記事では、スタティック IP アドレスを Raspberry Pi OS に割り当てるためのいくつかの方法を紹介します。

Raspberry Pi OS のネットワーク構成の基本

通常、ネットワークインターフェイスのスタティック IP アドレスを構成する前に、システムで使用可能なインターフェイスとその名前を確認する必要があります。この場合、最初にイーサネットインターフェイスと IPv4 アドレスに焦点を当てます。

CLI から ip a コマンドを使用して、使用可能なすべてのインターフェースを一覧表示できます。以下に示すように出力が表示されます。各インターフェイスには、loeth0 などの名前が付けられています。eth0 は最初のイーサネットインターフェイスで、現在、IP アドレス(192.168.0.24)が割り当てられています。

標準のネットマスク 255.255.255.0 もあることに注意してください。スタティック IP アドレスを構成するには、次の手順でこのコマンド出力の eth0 部分が基本的に必要であることを忘れないでください。

ip a

サンプル出力:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
---
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:e2:52:1c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.12/24 brd 192.168.0.255 scope global 
---

または、ifconfig コマンドを実行して、システムで現在アクティブなインターフェイスを表示することもできます。出力には、前のコマンドと同様の情報が含まれます。この記事では出力テキストを縮小しており、目前のタスクに関連する部分のみに焦点を当てていることに注意してください。

ifconfig

サンプル出力:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.12  netmask 255.255.255.0  broadcast 172.16.0.255
        inet6 fe80::7df4:d6b9:171:f302  prefixlen 64  scopeid 
---

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
---

dhcpcd コマンドを使用して、スタティック IP アドレスを Raspberry Pi イーサネットインターフェイスに割り当てます

Raspberry Pi OS は、dhcpcd クライアントを利用して、すべてのインターフェイスの TCP / IP を構成します。dhcpcd は、常にバックグラウンドで実行されているデーモンプロセスです。それでも、デーモンプロセスと対話できるコマンドラインツールも示します。

前の出力で見たように、動的割り当てを使用してすでに構成されているため、最初に、eth0 インターフェイスを構成解除する必要があります。ただし、ルーターが DHCP サーバーを実行しているネットワークに Raspberry Pi を接続していない場合は、これが当てはまらない可能性があります。

後者の場合はこの手順をスキップできますが、前のコマンドを使用してイーサネットインターフェイスが最初に設定されていないことを確認してください。

指定されたインターフェイス(例:eth0)は、dhcpcd -k [interface] コマンドを使用するか、dhcpcd --release [interface] を使用して構成を解除できます。

これらのコマンドのいずれかにインターフェイス引数を指定する必要があることに注意してください。指定しないと、実行中のインターフェイスがないため、dhcpcd が終了します。

また、デフォルトの pi ユーザーとしてログインしている場合は、すべての dhcpcd コマンドの特権を昇格させるために、sudo プレフィックスを含める必要があります。

sudo dhcpcd -k eth0

次に、ip a または ifconfig コマンドを実行して、eth0 が構成解除されたことを確認できます。前の操作が成功した場合は、/etc ディレクトリにある dhcpcd.conf ファイルでスタティック IP 構成を指定できます。

このファイルには通常、サンプルのスタティック IP 構成行が含まれているため、これらのコメントを解除してアドレスのみを変更する必要がある場合があります。それ以外の場合は、構成ファイルの最後に次の行を挿入し、ローカルネットワーク設定に基づいてローカルアドレスを指定します。

interface eth0
static ip_address=192.168.0.111/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

コマンド DHCP 構成には、スタティック IP アドレス/ネットマスクに加えて、デフォルトゲートウェイアドレスと DNS サーバーが含まれていることに注意してください。前のスニペットでは、192.168.0.111 スタティック IP アドレスを eth0 インターフェースに割り当てました。ここで、これらの変更をすぐに有効にする必要があるため、次のコマンドを実行します。

sudo dhcpcd -n eth0

このコマンドは、dhcpcd プロセスに構成ファイルを再ロードさせ、eth0 インターフェースを再バインドします。前のコマンドにインターフェース名を指定しない場合、すべてのインターフェースが再バインドされます。

Raspberry PI のスタティック IP アドレスを設定する別のシナリオには、dhcpcd.conf ファイルを変更してからシステムを再起動することが含まれます。これは機能します。それでも、再起動を待つのに時間がかかります。また、SSH またはその他のリモート接続を使用して Raspberry Pi に接続している場合、dhcpcd -k コマンドを使用するとセッションが使用できなくなることに注意してください。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Raspberry Pi

関連記事 - Raspberry Pi IP