0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自宅のグローバルIPアドレスを、外出先から確認する

Posted at

Y子です。
自宅のグローバルIPアドレスが変わったときなどに、それを外出先から確認する方法を考えました。

#概要・用途
__バッチファイルでグローバルIPアドレスを取得__し、Dropbox管理下のテキストファイルに書き込むことで、外出先等どこからでもIPアドレスを確認可能とします。
この処理をWindowsのタスクスケジューラーに登録し、定期的に情報を自動更新します。
以下のような用途を想定します。

用途(例)
自宅のプロバイダ契約が固定IPアドレスでない場合、ルータが再起動するとグローバルIPアドレスが変わることがある。
自宅にWebサーバを置き、ドメイン名を割り当てて外部からアクセスしている場合、グローバルIPアドレスが変わるとアクセスできなくなるため、DNS設定を変更するために変更後のIPアドレスが知りたい。

なお、外出中も自宅のWindows PCが稼働していることが前提です。
これが一番のハードルかもしれませんね…。
確認環境:Windows 10 Home (Bld. 19042.928)

#手順
##(1) バッチファイル作成

watch_globalip.bat
@echo off

rem 日付「2021/04/02」形式
set str_date=%date%

rem 時刻「09:46:17」形式
set str_time=%time: =0%
set str_time=%str_time:~0,8%

rem コマンドの実行結果を変数に格納
for /f "usebackq" %%a in (`curl https://api.ipify.org`) do set ipaddr=%%a

rem ファイル格納場所はDropbox配下
set outfile="C:\Users\yourname\Dropbox\globalip_%ipaddr%.txt"

rem ファイルに出力
echo [%str_date% %str_time%] %ipaddr%> %outfile%

__前の記事__の方法で、curlコマンドを使ってグローバルIPアドレスを取得します。
出力先は、Dropbox配下のテキストファイルですので、パスはお使いの環境に合わせて書き換えてください。
ファイルの内容とファイル名は、以下の方針で決めました。これは用途や使いやすさで調整するのがいいと思います。

  • ファイル内容にIPアドレスを記録 … この情報が欲しいので外せない
  • ファイル内容に日時を記録 … いつ時点の情報かわかるように
  • ファイル名にIPアドレスを記録 … ファイルを開かなくてもわかって楽。あとファイルが増えるとIPアドレスが変わったことになるので気付きやすい
  • ファイル名に日時は無し … 日時を付けるとファイルが増えて管理が面倒なので無し

また、ファイルへの書き込みは上書き>で行っていますが、追記>>にしてログのように扱うのもアリと思います。

実行結果
> watch_globalip.bat
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    13  100    13    0     0      6      0  0:00:02  0:00:02 --:--:--     5
globalip_xx.xx.xx.xx.txt
[2021/04/22 19:34:52] xx.xx.xx.xx

できました。結果のIPアドレスは、xx.xx.xx.xxと伏せています。
Dropboxで共有できているか、確認します。

##(2) スケジューラー登録
作成したバッチファイルを、Windowsのタスクスケジューラーに登録します。

  1. スタート
  2. Windows管理ツール
  3. コンピューターの管理
  4. タスクスケジューラー
  5. タスクの作成

トリガーを適切に設定して保存し、動作確認として1回実行してみてください。
わたしは、「毎日」のトリガーを1日4回設定して、6時間間隔で実行するようにしています。

これで、グローバルIPアドレスが変わってしまっても察知できる準備が整いました。

##(3) DNS設定変更
IPアドレスが変わって設定が必要になったら、お使いのドメイン登録サービス(お名前.comとか)で設定してください。
サービスによっては、自動的に設定変更できる仕組みが用意されているかもしれません。

#おわりに
タスクスケジューラーとDropboxを組み合わせる方法を思いついたときは感動しました。
固定IP無しで自宅サーバを運用している方は、どうしてるんでしょうね。
同じように困ってるのか、わたしが知らないだけでとっくに解決済みなのか…。

他のやり方をご存じの方は、ぜひ教えていただきたいです。

では!

0
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?