動的IPアドレスでグローバルIPは気づいたら変わってしまいます。昨日まで、アクセス出来ていたグローバルIPアドレスに今日はアクセスできなくなっているなんてことは当たり前に起こりうる。そんなときは、固定(静的)グローバルIP設定をすればいいわけなのだが、実はこの設定はプロバイダーへのオプションとして申し込むケースが多く、料金も月額500円〜1000円ほど搾取されてしまう。貧乏人の僕にはこのお金を払うのはもったいないので、それなら自力で「ラズパイでグローバルIPを通知し、外部からアクセスしてみよう」と思いついたので、ぜひ参考にどうぞ。ここまでの設定をしておきましょう。Pi3のLAN外からのSSH接続設定方法https://qiita.com/3no3_tw/items/4b5975a9f3087edf4e20ラズパイのグローバルIPを通知し、外部からアクセスしてみる動的IPの仕組みでグローバルIPはいつのまにか変化してしまう。変化したグローバルIPを知ることができれば、そのIPにアクセスを行い、いつでもラズパイにアクセスできる。グローバルIPをLINEで通知しようではないか。実装に際して、LINE送信のためのトークンを取得お願いします。3分くらいで完了します。inet-ip.info今回はこちらのコマンドの結果を、変化があったタイミング(グローバルIPアドレスが変化したタイミング)でLINEにて通知します。ラズパイでグローバルIPのLINE通知システム以下コピペでGrobalIP_Rasp.pyを作成。'取得したLINEのトークン'は各自のトークンを使用下さい。main()5分周期でグローバルIPをチェックし、変化があった(グローバルIPが変わった)タイミングでLINEを通知します。(周期を5分にしているため、グローバルIPが変更された場合、最長5分はグローバルIPの変化を検知出来ません。早めたい場合はtime.sleep(300)をお好きな間隔に変更どうぞ。作成したプログラムは常時起動していなければ意味はありません。そのままスクリプトを起動しても動きはしますがOOMKillerでプロセスが殺されてしまうだろう。それを防ぐためにSupervisorでデーモン化しておく。ラズパイの起動時にpythonスクリプトを動かしたいなと思い、デーモン化を試みた。supervisorを使えば非常に簡単に即効でデーモン化完了です。導入までをまとめておく。...今回作成した、Supervisor起動に必要な.confファイルはこんな感じ。/etc/supervisor/conf.d/GrobalIP_Rasp.confこれで準備完了。ラズパイの固定(静的)グローバルIPがLINEで通知された初回起動時にIPアドレスがLINEから送信されます。その後はバックグラウンドでプロセスが常駐し、グローバルIPが変化した場合にLINE通知を受けとれます。グローバルIPが変化するタイミングは約2日ほどでしょうか。(ルーター、プロバイダー等に依存しますが...)このグローバルIPを使ってラズパイにアクセスしてみます。[ポートフォワーディングするポート]ラズパイにsshログインできました。これで外部からssh以外にも、ラズパイで実装したファイルサーバーや、自宅の監視カメラへのアクセスが出来ますね。セキュリティ設定は慎重に。いうことで、LINEを活用すればラズパイを固定(静的)グローバルIP化する必要がないんですね。最後にSupervisorでプロセスを常時起動させなくても、cronで指定時間ごとに処理を行うという風に実装してみても良かったですね。方法はあるのでお好きなやりやすい方法でグローバルIPを通知してみると良いかも。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ちゆりITエンジニアバイオ出身のITエンジニア。バイオ系大学院を卒業後一部上場のIT企業へ就職。