作成日:2001年06月01日、更新日:2003年04月03日 作成:鷹の巣

非固定IP(動的IP)アドレスでの自宅サーバ(WWW,FTP,SMTP,POP)の運用に当たっての注意事項について説明します。


手順G.常時接続の維持とサーバーの運用ツール

IPアドレスが変化した時に何が問題かと言うと、

目次

  1. G1.ハードウェア編
  2. G2.常時接続の維持
  3. G3.サーバーのデータバックアップ
  4. G4.サーバーの監視ツールと監視サービス
  5. G5.サーバーの運用管理

G1.ハードウェア編

  1. サーバー機は、専用機で、十分なメモリ容量を確保

    サーバー機は、専用機として、サーバーや他のプログラムの起動と停止を少なくして、メモリリークを少なくします。 又、サーバー専用機には、十分なメモリ容量を搭載し、メモリスワップを少なくします。Windows 2000/XPのサーバーの場合、メモリは、256MBは欲しいものです。
    自宅サーバーのハードウェアの仕様は、Googleにて検索して参考にして下さい。 Windows の場合の簡単なシステムプロパティの設定例をWindows 2000 のシステムプロパティの設定例Windows XP のシステムプロパティの設定例に示します。 Windows NTサーバーでしたら、「JP416469 - [NT] メモリリークの調査方法」等もご一読願います。

  2. UPSの導入

    予算があれば、サーバー機の電源にUPS(Uninterruptible Power Supplyで、無停電電源装置の意)をつけましょう。 (サーバー機が蓄電池搭載のノート形パソコンだったらUPSは不要ですが、ルータやモデム等の周辺機器までは、面倒見れません。)

    サーバー機がハードディスクにデータを書いている時に落雷等による停電が発生した場合、まず間違いなくハードディスクは、 損傷を受けます。これを防ぐため、UPSを用意し、安全にサーバー機を停止させます。 自動シャットダウン等の方法は、ITmedia:ITmedia エンタープライズ ヘルプデスク: Linux How-To UPSを利用した電源対策をご覧願います。 UPSを装備していれば、電源に避雷器が入ってなくてサーバー機を故障させるような落雷による過電圧が発生した場合でも、サーバー機の代わりに故障してくれます。

    UPSの購入に当たっては、性能対価格比を重視して選択することになりますが、どうも価格と性能が比例しているみたいです。 価格の高いものは、UPS出力の電源波形が正弦波で、蓄電池も長寿命ですが、価格の安いものは、UPS出力の電源波形が 矩形波(四角形)で、蓄電池の寿命も短かったりします。

    UPSに関しては、@IT - アットマーク・アイティさんの
    UPSで電源トラブルからマシンを守る!!(~電源トラブルの基礎知識とUPSの効果的な活用法~)

    をご一読願います。

    私の場合は、サーバー機がAOPENのベアボーンH300Aで、電源容量が145Wattで、CPUは、celeron 1GHzで、ハードディスクは5400rpmの60Gbyteです。消費電力は、このサーバー機とADSLモデムとルータを合計しますと、50Wでした。(UPSの負荷が11%を表示)従って、使用率は、約33%です。

    2003年3月14日までは、電気代節約のため、UPSを使用していませんでした。但し、配電箱のブレーカは、サーバー機専用にしていました。落雷による瞬時停電は、多くても3Hz(50m秒)程度ですから、サーバー機の電源が吸収してしれるでしょうし、ハードディスクへ書き込み中に事故に合う確率は、極めて少ないだろうと考えていました。また、Windows 2000のサーバーですから、いきなり電源が落ちても大丈夫だと考えていました。しかし、2003年1月から、2ヶ月間で、自宅の引き込みブレーカが20回以上、しゃ断した為、UPSを導入しました。(しゃ断の理由は、大食漢の息子のために一升炊きの電気炊飯器2台が同時に炊飯した場合などです。)

    廉価な無停電電源は、波形が四角(方形波)で、恐ろしくノイズを周囲に撒き散らかしますから、注意が必要です。2003年3月15日以降は、UPS(APC製SU700J 700VA450W)を使用し、サーバー機とADSLモデムとルータの合計50W(11%負荷)の電源を100分以上バックアップするようにしています。500VAタイプでも70分以上バックアップできることから、明らかな計算ミスでしたけど。

  3. ハードディスクの二重化

    予算があれば、ハードディスクの二重化(RAID)を行い、ハードディスクの破損に備え、データを保護することが望ましいです。

  4. ハードウェアの保守について

G2.常時接続の維持

  1. ルータの設置を推奨

    非固定IPアドレスと言えどもIPアドレスは、ほとんど変わらない様にする必要があります。基本的には、ルータの使用を推奨します。 サーバソフトの更新(UP Date)なら、短時間でIPアドレスを変えず行うことも出来ますが、OSの更新などになると再起動を伴うため、 そうはいきません。その点、ルータがあると、IPアドレスを極力、変えずにOSの更新などが可能となります。 NIC(ネットワークカード)の2枚挿し等で廉価にルータと同等の機能を作成することもできますが、基本的にハードディスクなどの 機械部分を有しているため、信頼性が低下します。予算が許せば、ルータのご購入を推奨します。

    IPアドレスが変化した時に何が問題かと言うと、
    • Dynamic DNSサービスでサブ・ドメイン名のIPアドレスを変更してから、それが有効となるの反映時間が1~10分程かかる。
    • プロバイダ(接続業者)にて、一度アクセスされたサブ・ドメイン名に対応するIPアドレスが、ある時間キャッシュされる為、 IPアドレスを変更してもこの長いキャッシュ時間、プロバイダで前のIPアドレスが保持されていて、アクセスができない。
  2. 擬似固定IPアドレスを目指す

    IPアドレスを使用せずにサブ・ドメイン名を利用したインターネット電話のNet Meeting やGphoneや楽墨堂のTelepon (いずれもフリーソフト)等を、目的とするのは別としても、サーバを運用する以上は、常時接続の維持とは、極力、擬似固定IPアドレスに することを意味します。常時接続の維持には、以下の注意が必要です。

    1. ルータ使用時には、接続が自動切断にならないようにルータを設定する必要があります。(繋ぎっ放しに設定)

    2. 非固定IPアドレス(動的IPアドレス)を提供するプロバイダ(接続業者)は、通信が一定時間ないと自動的に切断するところがあります。 自動的に切断されない様、一定時間間隔でパケットを送信しましょう。 ping や NTP又はSNTP(Simple Network Time Protocol)サーバーに時刻合わせを行いましょう。

      最も一般的な方法は、5分間隔で、pingコマンドを用いてICMPパケットを発行する方法です。 詳細は、非固定IPアドレス時の自動切断防止用pingコマンド使用例に記載しています。 Windowsユーザには、殆どバージョンアップのない完成度の高い時刻合わせソフトの桜時計があります。 ルータにメールチェック機能がある場合は、この機能を主に使用し、時刻合わせの時間間隔は、長くしましょう。

    3. 通信を一定時間確保していても、プロバイダ(接続業者)が、IPアドレスにリース期限(接続時間制限)を設けている場合もありますので、 注意が必要です。

    4. 間違ってもOutlook等のメールクライアントを起動したままにして、メールチェックを一定時間間隔で行うようなことは、やめましょう。 (以前、SMTPサーバーがPOP before SMTPになっていて、メーラが起動したままになっていると、SMTPサーバーが不正中継される といった指摘をされたWebページがありました。)

非固定IP(動的IP)アドレスでやむなく、接続が切れたり、サーバがダウンした場合は、何らかの方法で、Dynamic DNSに 登録されているIPアドレスをクラスCのIPアドレス「192.168.1.254」等に至急、書き換えができるようにしておく必要があります。 具体的には、Dynamic DNS cliantソフトやperlのスクリプトにあらかじめ、「サーバ停止通知」等の名称で設定して 事前に試験しておき、サーバ機だけではなく、クライアント機からも書き換えができるようにしておきます。

G3.サーバーのデータバックアップ

ハードディスクの二重化(RAID)は、ハードディスクの破損に備えて、データを保護するだけです。通常のサーバー運用で、データが破損した場合にも備えて、データのバックアップを作成します。
  1. データの種類

    サーバー機内部に蓄積されるデータには、色んな種類がありますが、私の考えたデータ保護の優先順位を以下に示します。あくまで、私の考えた主観です。

    1. サイトのご訪問者によって生成されたデータ(掲示板等のCGI等)←最も貴重なデータ
    2. アクセス統計等の記録や分析データ
    3. Webページのデータ(HTMLファイル等)
    4. サーバーの各種設定データ(Windowsでしたら、レジストリから設定データを書き出した拡張子がregのデータも含む)
    5. サーバーやシステムのログデータ
    6. OSやサーバーソフト等の容易に復旧可能なデータ
  2. データのバックアップについて

    ウェブページやメールサーバ内のメールデータ等のバックアップは、まめに行いましょう。その際、バックアップしたファイルは、別ドライブ又は、CD-RやMO等のリムーバブルディスクに保存しましょう。(私の場合は、Windows 2000で、毎日定刻AM4時30分に自動バックアップするようスケジュール設定しております。設定例は、Windows 2000 自宅サーバー用ウェブファイルのバックアップ定時処理の設定例にあります。)

    最悪の場合は、Google等の検索エンジンで自分のWebページを検索し、キャッシュファイルを見れば、ちょっとだけ復旧できます。又、

    掲示板 No.572(2001/11/26)昔のページが残っていて、面白いホームページの紹介。投稿者名:かつさんより引用しますとThe Internet Archive: Building an 'Internet Library'にInternet上の昔のページが残っています。

    WindowsユーザーでもPerlスクリプトが書ける人でしたら、バックアップ後にバックアップファイルをメールの添付ファイルとして、よく使用するクライアント機のメールアドレスに自動送信するという方法もあります。

G4.サーバーの監視ツールと監視サービス

以下の内容は、NT Security-TOOLSさんのサイトを参考にさせて頂きました。貴重な資料をとりまとめて頂きありがとうございました。 また、貴重な情報のご提供をして頂きました HAL2000 さんありがとうございました。
  1. サーバーの監視サービスOS不問、Free Planは、60分間隔、10分間隔は、有料。

    Free Web site monitoring services by WebSitePulse.comのページの下の方にFree Planがあります。このFree Planの中のActivate Your Free Serviceをクリックして、自ドメインなどを登録すれば、 サーバーが落ちてないか60分ごとにチェックされ、止まっていたらアラートメールが届きます。iモードに送信されるようにしているので、かなり早く知ることができます。(HAL2000さんに教えて頂きました。)

    一人住まいでなければ、上記の警報メールサービスを利用して、電話を使ってご家族の方にサーバー機のリセットボタンを 押してもらうという方法もあります。インターネット上のWebサービスということで、手軽に利用できて素晴らしいです。 但し、携帯電話等の携帯端末が必要になります。英語が苦にならない方にお薦めします。

  2. サーバー監視無料サービスOS不問、10分間隔以下で無料。日本語サイト

    左矢印 サーバー稼動監視サービス(無料)提供サイト一覧(提供サイトを募集中です。)
    サービス名 ホームページ名(敬称略) 申し込みページ 稼動OS 間隔 備 考
     無料で、お薦め左矢印 株式会社シーマン サーバー監視/
    ネットワーク監視【無料】
    非公開 5~
    10分
    詳細は、よくある質問を参照。
    - - - - - -

    注)上記サイト以上のサービスをお望みでしたら、yahooの検索エンジンの検索結果の有料サービスをご覧願います。

    貴方のサイトが自宅サーバーでしたら、自サイトや他のサイトのサーバー監視を実施出来ます。下表サイトをご一読願います。

    サーバー監視ソフト紹介サイト一覧(設定方法の解説サイトを募集中です。)
    略記号 サービス名 ホームページ名(敬称略) 設定方法の解説ページ OS 備 考
    JD 自宅サーバ稼動チェック 自宅サーバー道 サービス名欄と同じ。 Windows用 開発元。
    NS NetSaint Network Monitor e-RYOICHI.net サーバー管理 Linux用 本格的な稼動監視。
    - - - - - -

G5.サーバーの運用管理

  1. ネットワークコマンド

    サーバーの運用にあたり、ツールではありませんが、必要なネットワークコマンドについて、下表にまとめましたので、ご活用して下さい。

    -表G21- ネットワークコマンド一覧(@IT - アットマーク・アイティさんの連載 ネット・コマンドでトラブル解決やここの表1より抜粋整理)
    コマンド名 用途 95系 NT系 UNIX系 備考
    arp ARP(Address Resolution Protocol)テーブルの表示/設定 -
    ifconfig (IP)ネットワーク環境の確認/設定 × -
    ipconfig Windowsのネットワーク設定を確認 × Windowsのみ
    netstat ホストのネットワーク統計や状態を確認 -
    nslookup DNSサーバに名前解決の問い合わせ × Windows95系はWeb上のnslookupを使用して下さい。
    ping ネットワークの疎通を確認 -
    route ルーティングテーブルの設定/表示 -
    traceroute PC-UNIXのネットワークの経路を調査する × × PC-UNIXのみ
    tracert Windowsのネットワークの経路を調査する × Windowsのみ
    ftp 匿名FTPサーバー動作の確認(コマンド操作編) Windowsにはpassiveコマンド(トグルスィッチ)無。
    telnet 68user's pageさんのWWWFTP、SMTP、POP3 telnetを実際に使用した例が記載されています。
    - - - - - -
    - 68user's pageさんのジャンル別コマンド一覧 × × PC-UNIXのみ。(私の個人的なリンクです。)

    Windowsユーザーは、DOS/Vコマンド・リファレンス BY FPCUの●ネットワーク関連のコマンドに使用可能なコマンドの一覧が 記載されていますので、後は、Windowsのヘルプファイルをご覧願います。

  2. ログ解析のためのリンク

  3. 読み物

    @IT - アットマーク・アイティさんの連載目次より

以上でサブドメイン名での自宅サーバが立ち上がりました。(ここまでの費用は、ゼロのはずです。)  いよいよこれから、自分のドメイン名の取得と運用に入ります。その前にセキュリティについて考えましょう。

▲頁先頭