固定IPをラズパイに設定するには、通常ラズパイの中にある設定ファイルを変更しなければなりません。一度だけ変える分にはそれほど手間にはなりませんが、頻繁に変更する必要があったり環境が変わったりした場合に、ラズパイとネットワークをつなげてから変更しないといけないため、手間がかかります。
そのような手間を軽減するため、LTEPi for D向けのセットアップしたラズパイでは、SDカードに固定IPの設定をお使いにパソコンから保存することによって固定IPを設定できる方法を提供しています。ただし、2017年1月30日以降にセットアップされた場合か、それ以降にバージョンアップを行われた場合に利用できる方法ですので、もしそれ以前にセットアップされた場合で以下の方法をお試しになりたい時は、ltepi2-serviceのバージョンアップをまずは行ってください。
ご注意 この方法は、すべてのラズパイに適用できる方法ではありません。LTEPi for D向けのセットアップをされていない通常のラズパイについては、固定IPをラズパイに設定を参照して実現してください。
LTEPi for D向けのセットアップしたラズパイに、固定IPを設定するには、以下の手順を実施します。
- 固定IPの設定を決めて、その設定をJSONファイル形式で保存します
- JSONファイルを、LTEPi for D向けのセットアップしたラズパイのSDカードに保存します
- そのSDカードを使って、ラズパイを起動します
もしすでに、/etc/dhcpcd.conf
ファイルに固定IPを指定されている場合は、それらを削除してください。具体的には、以下の指定が入っていると正しく設定されません。
interface eth0
static ip_address=
で始まる設定static routers=
で始まる設定static domain_name_servers=
で始まる設定
ご注意 この手順は、dhcpcd
サービスを利用する前提で記載されています。networking
サービスを利用する場合の手順については、記載していません。
それでは、詳細を見ていきましょう。
まずは固定IPの設定を決めましょう。それは、オフィスや学校であらかじめ決められた値かもしれませんし、ご自身で決める値かもしれません。ここでは仮に、以下の値とします。
- 有線LANに固定IPを設定する
- 固定IPのアドレスは
192.168.137.200
とする - そのアドレスのサブネットマスク(ネットマスク)は
255.255.255.0
とする - デフォルトゲートウェイは
192.168.137.1
とする - DNSは
192.168.137.1
とする
これを以下のような形でJSON形式のファイルにします。
この作業は、SDカードにアクセス可能なパソコンで行います。テキストエディターなどで以下のファイルを作成しましょう。
{
"interface":"eth0",
"ip_address":"192.168.137.200/24",
"routers":"192.168.137.1",
"domain_name_servers":"192.168.137.1"
}
項目の意味は以下の通りです。
interface
... IPアドレスを指定するネットワークインタフェース名を指定します。eth0
は、有線LANを表します。Raspbian Stretchからはenx001122aabbcc
のような文字列(001122aabbcc
は、etherのMACアドレス)になります。ifconfig
を実施して、正しい名称を指定してください。ip_address
... IPアドレスと、ネットマスクを指定します。ネットマスクはスラッシュとともにビット表示の数値を指定します。どのように変換するかは、「ネットマスク ビット指定計算」で検索してみてください。この例では、ネットマスクは255.255.255.0
であるため、24
と変換しますrouters
... デフォルトゲートウェイを指定します。特に定めていない場合は、空欄(""
)にしましょうdomain_name_servers
... DNSを指定します。特に定めていない場合は、空欄(""
)にしましょう
ご注意 上記すべての項目を指定してください。対応する値がないときは空欄にしましょう。項目が足りていないと設定を行いません。
もし、routers
とdomain_name_servers
に対応する値がないときは、以下のようになります。
{
"interface":"eth0",
"ip_address":"192.168.137.200/24",
"routers":"",
"domain_name_servers":""
}
ファイル名は、boot-ip.json
とします。このファイル名には、一定の名前付けルールがあります。ファイル名をつけるときは、以下のルールに合うものを名付けるようにしてください。
boot-ip.json
またはboot-ip.<任意の名前>.json
(例えば、boot-ip.my-office.json
といった形です。名前には、半角アルファベット、半角数字、半角ハイフン-
、半角アンダースコア_
以外は使わないようにしましょう)
続いて、作成したファイルをLTEPi for D向けのセットアップをしたラズパイのSDカードに保存しましょう。
まずは、そのSDカードをお使いのパソコンへ差し込んでください。SDカードスロットがない場合は、USBのSDカードアダプターなどをお使いください。
SDカードが認識されると、boot
というフォルダーが見えるようになります。その場所に、作成したファイル(今回の例では、boot-ip.json
)をコピーしましょう。
コピーを行ったら、お使いのOSごとに決められた方法でSDカードを取り出しましょう。
それでは、設定を保存したSDカードをラズパイにセットして、LANケーブルでラズパイとパソコンをつなぎましょう。正しくセットできていることを確認したら、ラズパイの電源を入れましょう。
1分ほどすると、ラズパイにアクセスできるようになります。
Windowsをお使いの方は、Tera Termやputtyなどで、192.168.137.200
へSSHで入れることを確認してみてください。この時、パソコン側もIPアドレスを、192.168.137.200
を除いた192.168.137.1
から192.168.137.254
の値を指定する必要があります。
macOSをお使いの方は、ターミナルを起動して、ssh pi@192.168.137.200
を実行してみましょう。こちらもネットワーク設定で、パソコン側のアドレスを、192.168.137.200
を除いた192.168.137.1
から192.168.137.254
の値を指定する必要があります。
もしうまく設定できない時や設定を誤った時は、設定を元に戻すリセットを行うことができます。
リセットをするには、boot
のフォルダーにboot-ip.reset
と言う名前のファイルを作成してください。中身は空欄で構いません。何か入っていたとしても無視されます。
そのファイルが存在していると、ラズパイが起動した時に元の設定(DHCPを使う設定)にリセットされます。
© 2017 CANDY LINE INC. CC-BY-NC-SA 4.0