社内や自宅サーバーのグローバルIPアドレスが変わってもアクセスできるようにする |
今やレンタルサーバーが年間でもおこづかい程度で借りられるのに、わざわざ自宅でサーバーを立てる必要も無いように思えますが、
数十TBのデータを置きたい場合や、会社内のパソコンのデータ置き場にアクセスしたい人もいると思うので書いておきます。
このページでは変わってしまうIPアドレスをどうするか、のみを解説します。
下記の方法を実際にやったわけではないので、内容は概要のみです。
自宅サーバーを建てる時にどうしても困るのが自前のサーバーのIPアドレスが変わることです。
専用線や固定IP契約をしていない限り、プロバイダーとの契約ではグローバルIPアドレスが接続の度に変わります。
そのアドレスが分からない以上、外部から接続するのは不可能で、
仮にサーバーの電源を入れっぱなしにしたとしても、
停電やブレーカーが落ちたり、何かのはずみでサーバーが再起動してしまった、一時的にでもプロバイダーから接続が切られた、などになった場合、IPアドレスは変わります。
そういったことがあっても自宅サーバーへの接続を可能にするサービスもあるので、自分自身でやる必要がなかったり、面倒な場合はそういったサービスを使うのも手です。
しかしこの場合、それらのサービスの終了と共に次の手を考える必要があるので、永久に使えるものではありません。
ここでは一般的なプロバイダー契約でも自分自身で出来る方法の概要を説明します。
通常、プロバイダー契約した場合、ユーザー用のサイトスペースが用意されます。
これを利用し、サーバーのIPアドレスを返すようにするわけです。
■ CGIやPHPが使える場合
サイトスペースには
・ サーバーからアクセスする場合のページ
・ 外部からアクセスする場合のページ
それぞれを用意します。
サーバーからアクセスするページでは、アクセス元のIPアドレスを取得、保存するプログラムを置きます。
(認証やクッキーなどを利用し、そのPCからのみ可能とするとなお良いですね)
外部からアクセスするページでは、保存されたIPアドレスを返すプログラムを置き、そのアドレスにリダイレクトするなりの処理を行います。
(こちらも認証ページを設けるなどする方が良いですね)
こうすることで、常に現在のIPアドレスを持つサーバーへのアクセスが可能となります。
外部からアクセスする場合のアドレスは、当然ながらサイトスペースのアドレス、
例えばhttp://www.プロバイダー.ne.jp/~ユーザー/アドレス.phpなどになります。
■ CGIやPHPが使えない場合
この場合、サーバーPCでグローバルアドレスを取得し、htmlファイルに現在のアドレスとリダイレクト設定を書き込み、FTPでサイトに送る方法が考えられます。
ブラウザを利用してできなくもなさそうですが、ソフトを作る方が早そうです。
サーバーにはWindowsを使っている場合、スタートアップフォルダに該当URLのショートカットや作ったソフトのショートカットを入れておくなどすると、
再起動をした場合でも起動後に自動でアドレスを送ることができます。
プロバイダーから切断されたなどの場合、一定間隔で該当URLにアクセスする、
一定間隔でサーバー自身のIPアドレス(もしくはルーターのグローバルアドレス)を取得し、比較して変わっている場合は再度該当URLにアクセスするプログラムを作る、
などの方法が考えられます。
停電などの電源断は、UPS(無停電電源装置)を置いたり、通電した時にスイッチを入れ、自動で起動するハードウェアを組み込むなどで運用できます。
こうすることでアドレスが変わっても常にサーバーにアクセスすることができます。
これはウェブサーバーだけでなく、社内のファイルサーバーも同様です。
今は個人店、企業を問わずウェブサイトを持っていることも多いので、
その場合、そこのサイトスペース(多くの場合PHP・CGIが使える)を利用できるので、やりやすくなります。
データを溜め込んでいる会社のパソコンに、出先からアクセスすることもできるので、活用できます。
データが少ない場合はGoogle DriveやDropBoxなどを利用する人も多いのですが、
普段使っている社内の共有フォルダに出先からアクセスできる方がよほど便利です。
問題は、プロバイダーやレンタルサーバーのサイトスペースでそういう挙動を許してくれるかどうかということもあります。
高負荷でなければ問題ないとは思いますが、責任は持てません。
また、全ての事においてセキュリティーはしっかり考えておきたいところです。
当サイト「ぺたっとPHPサンプルソースコード」は、初めてPHPを触る初心者でもすぐにPHPプログラミングができる・分かるサイトです。
PHPのサンプル
0から始めるPHP
日記