RaspberryPiのIPアドレスを固定する方法
『RPiに割り当てられているIPアドレスが前回と変わってる!リモートで操作できない!!ア”ァ”ァ”!!!』な状況を回避すべく、RPiへ固定のIPアドレスを割り当てる事にしました。
先に結論を
以下の2つの方法でIPアドレスが固定できました。簡単なのは1.の方ですが、使用しているブロードバンドルーターの機種によっては実現できないかもしれません。
わたくしの環境
- 機種: Raspberry Pi 2 Model B
- OS: Raspberry OS (Raspbian)
- IPアドレスの割当方法: ブロードバンドルータ内蔵のDHCPサーバ
- ブロードバンドルーター: WXR-1900DHP3
これまでどうやってIPアドレスを調べていたのか
直接RPiで$ ip a
を実行するか、 もしくはブロードバンドルータの管理画面で、事前に確認しておいた物理アドレスを基に対応するIPアドレスを調べていた。
ダサいぜ!
さて、どうやってIPアドレスを固定しよう
その1 ブロードバンドルータ(DHCPサーバ)の機能を使う
私が使用しているルーターには、機器へ払い出すIPアドレスを固定する機能がある。管理画面はこんなかんじ。
【手動割当に変更】ボタンを押すことで、リクエストの度に同じIPアドレスが割当てられる様になるのです。 これはこれで便利だけど、Linuxを触る以上はなんか黒い画面でカタカタやって設定したい。
その2 設定ファイルの変更する
どの設定ファイルを編集するんだっけ・・・
古い記憶によると/etc/network/interfaces
を編集するんだったような・・・
pi@raspberrypi:/etc/network $ cat interfaces # interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d
man dhcpcd.conf
しろ、と言われてしまった。
素直にマニュアルを見る前に、このconfファイルがどのパッケージ由来なのかを調べてみる。
dpkg -S dhcpcd.conf
によると、dhcpcd5というパッケージ由来の設定ファイルらしい。
パッケージ名から大体想像はつくけども、勉強の為にdpkg -s dhcpcd5
を併せて実行。
以下実行結果から抜粋。
Description: DHCPv4, IPv6RA and DHCPv6 client with IPv4LL support
想像の通り、DHCPのクライアントでした。
dhcpcd.confを編集する
これで、編集するファイルは分かった。ここで、頭を空っぽにしてman dhcpcd.conf
する。
すると、丁度良さそうなサンプルが見つかった。やっぱり頼りになるぜman
。
interface eth0 noipv6rs static ip_address=192.168.0.10/24 static broadcast_address=192.168.0.63 static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 fd51:42f8:caae:d92e::1
これを自分の環境に置き換えてみると、こんな感じ。ブロードキャストアドレスとIPv6の設定はきっと要らないよね。
ちなみにウチのルーターでは、192.168.11.2から64台分のIPアドレスを貸し出している様なので、192.168.11.200にでもしとけば問題は発生しないハズ。
interface eth0 static ip_address=192.168.1.200/24 static routers=192.168.11.1 static domain_name_servers=192.168.11.1
編集内容をしっかり確認して、sudo reboot
を実行。緊張の一瞬。
そして少し時間を空けて、リモート接続に成功!これで一安心。