[Raspberry Piで簡単IoT] サーバ構築編~ポート転送~

概要

Raspberry Pi 4でrestAPIを受け付けるサーバを構築します。

ローカルネットワーク内でのサーバー構築が終わって色々と動作ができるようになると、「やっぱり家の外からでも何かを動かしたい」となることも多いと思います。そんなときに必要となるのが「ポート転送」の設定です。

サーバ構築はこちらを参照

[Raspberry Piで簡単IoT] サーバ構築編~tornadoの雛形~

ポート転送の設定もとても簡単です。まだ設定していない人は、ちょちょっと設定してしまって、家の外からでも色々な家電やiot機器操作を出来るようにしてしまいましょう(エアコン付けたり電気消したり・・)

ポート転送の大まかな手順

[Raspberry Piの設定]

①raspberry piのipアドレスを固定する。

②raspberry piのmacアドレスを調べる。

[ルーターの設定] (ソフトバンク光を例に説明します)

③IPアドレスの固定割当を設定する。

④ポート転送を設定する。

⑤グローバルアドレスを調べる。

[テスト]

⑥Postmanからグローバルアドレスにpostしてテストする。

流れはこんな感じです!順番に説明していきます。

手順の詳細

①raspberry piのipアドレスを固定する。

$sudo nano /etc/dhcpcd.conf

下までスクロールしていって、

interface wlan0
static ip_address=192.168.3.**/24
static routers=192.168.3.*
static domain_name_servers=192.168.3.*

の4行を付け加えます。**には任意の数値。*はルータのアドレスを入れてください。(こちらはwifiを想定しています。有線の場合は、wlan0をeth0に読み替えてください。)

終わったら、

ctrl + x

で、保存しますか?と聞かれるので y と答えて、保存ファイル聞かれるのでenterと答えて完了です。終わったら、

$sudo reboot

で再起動しましょう。

②raspberry piのmacアドレスを調べる。

$ifconfig | grep 'ether'

で調べるとmacアドレスが表示できます。2つ出てくるので、wifiの場合は下にdてくる方のアドレスをメモしてください。

普通に、ifconfigで調べても大丈夫です。

③IPアドレスの固定割当を設定する。

③-⑤の手順についてはこちらを見ながらやると良いです

https://www.softbank.jp/support/faq/view/19680

ルータ設定のページに飛びます。
触った記憶がなければ、初期値は以下です。
ユーザー名 : user パスワード : user

手順に沿って、raspberry piのIPアドレスとMACアドレスを入力します(①で設定したipアドレス、②で調べたmacアドレスです。)

④ポート転送を設定する。

手順に沿って、プロトコルと、WAN側/LAN側両方のポート番号を設定します。

プロトコルは用いるプロトコルを選びます。(TCP/UDPにしとけば無難です)

WANとはWide Area Networkの略です。つまりWAN側ポート番号とは、外側から通信を受けるときのポート番号です。任意の番号(4桁)を設定してください。

LANとはLocal Area Networkの略です。つまりLAN側ポート番号とは、内側(宅内)に通信を転送するときのポート番号です。RaspberryPiで構築したサーバで設定したポート番号と合わせてください。
サーバ構築時のポート設定はこちらを参考にしてください。

[Raspberry Piで簡単IoT] サーバ構築編~tornadoの雛形~

⑤グローバルアドレスを調べる。

ポート転送設定ページの設定/接続情報から確認ができます。
または、以下のページからも確認ができます。

https://www.cman.jp/network/support/ip.html

⑥Postmanからグローバルアドレスにpostしてテストする。

最後は、グローバルアドレスにhttpリクエストを送ってテストしましょう。
簡単にhttpリクエストを試せるのは、chromeアプリにもなっているpostmanだと思います。

https://www.postman.com

最後に

こんな感じでポート転送の設定ができます。これで、家の外からでも遠隔でRaspberry Piを操作できるようになります。つまり、Raspberrry Piを通じて宅内の電気や家電なども操作できるようになりますので、色々と遊べるようになるかと思います。グローバルアドレスやポート番号は流出すると危険なのでそこは気を付けてくださいね。

その他のリンクはこちら★

Ganny村長のIoT関連の備忘録

投稿者: コロッケ太郎

妻と息子と3人暮らし。週末に家族で遊びに出かけることと子供の昼寝に付き添って小説を読むことと美味しいコロッケを探求することがささやかな楽しみ。