- 自室(自宅)でWEB/FTPサーバ -
Last Update
※文字を大きくするには、[ここをクリック]

arrow_blMN128-SOHOとフレッツ・ ISDNを利用して、自分の部屋のプライベートネットワークから、PCでホームページやFTPを公開してみる。というページです。
 私の調べたことや実体験に基づいて紹介しています。主に多くの人がつまずく「TCP/IP設定」と「ルータの設定」について記述したページです。 IPアドレスが非固定な場合を想定しているので、get! domain name(ダイナミックDNSでのドメイン名の取得)と組み合わせてご利用ください。

※MN128-SOHO/DSU以外のルータ設定については [こちら] をご参照ください。
※「MN128-SOHOのip設定についてだけ知りたい!」という人は [こちら] をどうぞ。
※「用語の解説が必要だ」という人は [こちら] をどうぞ。 [別ウィンドウで開く]

このページは以下の内容を含みます。自分の済んでいる設定や既に理解できている部分は適時読み飛ばしましょう。

0. 前提条件
1. FletsISDNの開通
2. MN128-SOHOの設定(その1)
3. コンピュータのTCP/IP設定
4. MN128-SOHOの設定(その2)
5. WEB/FTPサービスをそれぞれ開始する
6. 試す



  • 前提となる諸条件

     まず、このページで紹介する方法を適用し、サーバの公開が出来る事が確認された条件を紹介します。
     完璧に適合していなくても、適時自分の手持ちの機器に置き換えて読めば大丈夫かと思われます。OSについては、Windows系(主として2000)を中心に紹介しています。その他のOS、例えばLinuxやBSD、Windows9xでもルータの設定やTCP/IP設定など基本的な部分は同じです。また、接続方式はフレッツ・ISDNですが、ISDNやテレホーダイを利用して、時限サーバを公開したい場合も同じ方法で大丈夫です。その場合には「フレッツ・」という文字を省いて読んでいってください。

     ネット環境の例としては、このサイトの「net config」(←我が家の環境)をご覧ください。

    Table 1. 動作確認した条件
    OS/HTTPD/FTPD ・Windows XPのIIS5.1
    ・Windows 2000のIIS5.0
    ・Windows NT4.0のIIS4.0
    ・Windows 98/NT/2000/XPで動作するapache
    ・Windows 98のPersonalWebServer(お勧めはしません)
    ISPへの接続機器 ・MN128-SOHO ファームウェアversion 1.60
    接続契約の形態 ・フレッツ・ ISDN
    ・MN128-SOHOとのイーサネット接続
    グローバルIPアドレスを割り振ってくれるISPとの契約
    ・接続毎に割り当てられるIPアドレスが固定されていない
    ※まれにプライベートIPアドレスを割り振るISPがあるので注意。その場合ルーティングをISP側に頼むしかなく、個人の努力ではどうしようもない。
    Ftp/Webサーバの
     IPアドレス
     MACアドレス
     Port no.
    IP Address:192.168.0.2
    MAC Address:00:11:22:33:44:55
    Prot no. :80(WEB) , 21(FTP)
    ※説明の為の仮の設定。Port no.については大抵のHTTPD,FTPDではデフォルトでこの値のハズ。
    ドメイン名の取得 myhost.net」というドメイン名を登録
    ダイナミックDNS等を利用して割りあてしておくと後々楽です。まだの人はget! domain nameを参照して取得してください。


    OK。自分の環境でもいけそうだ、次は?
    という方はこちら




  • WEB/FTPサーバ公開までの手順

     ここからは具体的に解説していきます。



    1. FletsISDNの開通

     なにはともあれ、回線が無いとお話になりません。
     116にTELするか、フレッツ・公式サイトから申し込みを行います。新規にISDNにする人は、機器の購入時に申し込むのも良いですね(4〜5,000円引きになる場合があります)。その際、提供エリアや対応ISPについても調べておきます。繰り返しますが、必ずグローバルIPアドレスを割り振ってくれるところを選びましょう。

    ※フレッツ・ ISDN開通にかかる期間について(2001/03現在)
     フレッツは申し込みから開通までに、ものすごい期間がかかります。フレッツ・ISDNを考えている方は、おもいっきり早めの申し込みと細かな催促を116にすることをお勧めします。
     私の場合2001/03/02に申し込みをして、その時に
    オペレータ:「工事日決定の連絡までに10日ほどかかります」
    と言われ「まあしょうがないか」と10日待ちましたが連絡がないので116に問い合わせてみると
    オペレータ:「工事日決定の連絡まで、最低でも二週間(14日)はかかります」
    と期間が長くなっており「う〜む」と思いながらも我慢して待ちました。しかし14日目になっても連絡がないので再度116に問い合わせてみると、今度は
    オペレータ:「工事日決定まで、最低でも一ヶ月ほどはお待ち頂かないと・・・」
    とドンドン長くなるので、いいかげんイヤになってこれまでの経緯を説明したら、次の日に唐突に工事日が決定して2001/03/22に開通しました(それでも開通までに20日かかってるんですよね〜(X_X))。

    NT○の対応には驚いたけど、無事開通したよ。それで次は何をする?
    という方はこちら




    2. MN128-SOHOの設定(その1)

     次にMN128-SOHOの設定を行います。
     まず、MN128-SOHOのDHCPサーバ機能をOFFにします。DHCPがONになっていると、外部からWEBサーバやFTPサーバに上手くアクセスできない場合があります。台数が多い場合には面倒でしょうが、一般的な家庭やSOHOでの使用を考えた場合、コンピュータは多くても10台程でしょうから、それほど問題では無いでしょう。DHCPに問い合わせをしないぶんPCの起動時間も若干速くなります。
     ※ルータにMACとIPアドレスの関連を登録するか、サーバとなるマシンのみIPアドレスを固定し、それ以外のマシンをDHCPから取得するようにすれば、DHCP機能を使用していても大丈夫です。ここでは簡単の為に、DHCPを切る形で説明します。

     ※DHCPサーバ機能のOFFは[ルータ設定]-[IP設定]で行えます。
    dhcp_off
    fig.1 DHCPをOFFにする設定画面(MN128-SOHO)


    そっかDHCPから取得しているとダメなのかぁ。これは、はじめてだと気付きにくいかもね。さて次は何?
    という方はこちら





    3. コンピュータのTCP/IP設定

     これまでMN128-SOHOのDHCP機能を利用していた場合や、新規にMN128-SOHOを導入した場合には、インターネットを利用したいコンピュータ(PC)のTCP/IPの設定を変更する必要があります。
     MN128-SOHOの[ルータ設定]-[IP設定]より、MN128-SOHOの使用しているプライベートIPアドレスのクラスとサブネットマスク長を確認し、それに合わせて各PCのTCP/IP設定をします(←要するにMN128-SOHOの使っているプライベートIPアドレスのクラスにあわせるということですね)。
     例としてMN128-SOHOのIP設定がデフォルト(192.168.0.1/24)である場合の設定を以下に示します。また、このページではTable1.で既に示したとおり、WEB/FTPサーバのIPアドレスは192.168.0.2であると仮定しています。

    Table2. コンピュータのTCP/IP設定(MN128-SOHOがデフォルトの場合)
    MN128-SOHOのIPアドレス/サブネットマスク長 コンピュータに行うべきIP設定
    192.168.0.1/24 IPアドレスの範囲: 192.168.0.2 〜 192.168.255.0
    サブネットマスク: 255.255.255.0
    デフォルトゲートウェイ: 192.168.0.1
    DNSサーバ: 192.168.0.1


    mn128_ipconfig
    fig2-(a). MN128-SOHOのIP設定例(MN128-SOHO側)


    tcpip-set
    fig2-(b). WEBサーバのTCP/IP設定例(PC側)

     設定したら、ブラウザでMN128-SOHOのアドレスを打ったり、ルータに対してpingを打ったりして、ちゃんと通信できるかを確かめましょう。


    サブネットマスクとゲートウェイ・・・、ふーんイーサネットでMN128-SOHOと繋いでる場合にはDNSもMN128-SOHOのにするんだねぇ。さあ次いこう!
    という方はこちら





    4. MN128-SOHOの設定(その2)

     ここからがいよいよ本番です。
     MN128-SOHOのip設定を行い、WEBサーバ(HTTPD)やFTPサーバ(FTPD)を外部ネットワークに対して公開できるようにします。
     同機のデフォルトのipオプション設定では、外部からの不要なtcpアクセスをブロックするようになっています。これはセキュリティ上好ましいことですが(完璧ではない)、これの影響で内部ネットワーク(自分の家のLAN)以外のマシンからは、あなたのネットワーク上に設置されたWEBサーバやFTPサーバにアクセスすることができません。
     そこで、ip filter , ip host , ip natの各設定を変更して、サーバ公開に必要なtcpアクセスだけは外部ネットワークから内部ネットワークに到達することを許可するように設定します。

    ※つまずき易いポイント?
     これまで、モデムやTAでISPに接続してサーバを公開したことのあるユーザがダイアルアップルータを導入した場合、このip設定でつまづくケースが多いようです。これまでは自分のPCのPPPアダプタに対して、グローバルIPアドレスが割り当てられていたため、経路設定などやる必要が無かった訳ですから、同じ感覚でルータを導入した場合、つまづくのは当然と言えるでしょう。かくいう私も初めは戸惑いました(^^; でも、逆に言えば、これらの人の場合、ここでのip設定さえ理解してしまえば、公開への障害は無いと言っても良いでしょう。


     それぞれのip設定の書式は以下のとおりです。

    -- -- -- filter -- -- --
    ip filter [フィルタno.] [フィルタタイプ] [フィルタ方向] [送信元アドレス] [送信先アドレス] [送信元ポート] [送信先ポート] [インターフェース] [相手先番号]
    -- -- -- host -- -- --
    ip host [IPアドレス] [ホスト名] [MACアドレス]
    -- -- -- nat -- -- --
    ip nat [NATテーブルno.] [WEB/FTPサーバのIPアドレス]/[プロトコル]/[ポート] [グローバスアドレス] [相手先番号]
    ※より詳しくはMN128-SOHOのオンラインマニュアルを見て下さい(←常識ですよね(^^))。

     上記を参考にして、MN128-SOHOの[ルータ設定]-[IP応用設定]を開き、[オプション]欄に以下を書き加えます。ブルーの部分を自分のWEBサーバに適合するように読みかえてください。また、MN128-SOHOの設定がデフォルトでなかったり、ファームウェアのバージョンが1.60でない場合には、レッドの部分を未使用の数値に書き換える必要があるかも知れません。

    ●デフォルト状態から追加するip設定●
    ip filter 10 pass in * 192.168.0.2/32 tcp * www remote 0
    ip filter 11 pass in * 192.168.0.2/32 tcp * ftp remote 0
    ip host 192.168.0.2 myhost.net X0:X1:X2:X3:X4:X5
    ip nat 1 192.168.0.2/tcp/www ipcp remote *
    ip nat 2 192.168.0.2/tcp/ftp ipcp remote *
    ip nat 3 192.168.0.2/tcp/ftpdata ipcp remote *
    ip nat 4 */*/* ipcp remote *

    192.168.0.2・・・WEB/FTPサーバにするコンピュータのIPアドレス
    myhost.net・・・使用するドメイン名
    X0:X1:X2:X3:X4:X5・・・WEB/FTPサーバにするコンピュータのMACアドレス
    10 , 11 , 1 - 4・・・ipフィルタ,natテーブル番号。すでに使用されている場合は使用されていない番号に変更して下さい。

     以上で、ルータの通信に関する基本設定は完了です☆

    ちょっと応用...

    WEBサーバのみを公開したい場合には、2,5,6行目を削除すればOKですし、FTPサーバのみを公開したければ、1行目と4行目を削除すればそれぞれ実現できます。

    ●実は外部に公開するだけならばnatの設定のみを行えば、公開出来る場合もあります。しかし、ip filterの設定もMN128-SOHOの設定によっては明示的に指定してやる必要があります。また、ip hostの設定をしておかないと、内部のネットワークからドメイン名を使ってアクセスをしようとすると、MN128-SOHOの管理画面などに繋がってしまいます。内部のネットからもドメイン名を使って自分のサーバにアクセスしたい人はhostも設定してください。
    (※又はDNSサーバを用意したり、各PCにhostsファイルを用意してください。)

    ●上記の他にもWindowsを利用している人はport135〜139なんかも閉じておくことをお薦めします。
    例)MN128-SOHOでは以下のip設定を追加すると、port135〜139を閉じることが出来ます。
     ip filter 11 restrict out * * * * 135-139 remote *
     ip filter 12 restrict out * * * 135-139 * remote *

    ははぁ〜。これをやらないと外からアクセス出来ないのかぁ。めんどくさいけど何とか設定したよ。
    という方はこちら





    5. WEB/FTPサービスをそれぞれ開始する

     公開したいWEB/FTPサーバを開始します。このページで紹介している設定を利用する場合には、WEBサービスはport80、FTPサービスはport21でそれぞれ開始することを忘れないで下さい(双方ともほとんどの場合デフォルトでこの値です)。
     サービスの開始方法やPortの変更方法は、各々のWEBサーバやFTPサーバのHelpをご覧下さい。

    追加情報
    ●Windows 2000/XPのIIS5.0/5.1でのport no.設定方法
     1.[コントロールパネル]-[管理ツール]-[インターネットサービスマネージャ]を選択し、MMCの[インターネットインフォメーションサービス]を開きます。
     2.[ツリー]から目的のWEBサイトを選択し、[プロパティ]を開きます。
     3.[Webサイト]タブをにある、[Webサイトの識別]-[TCPポート]の内容を80にする。
     4.サービスを再起動します。

    ●Apache for WinでのWEBサーバのport no.設定方法
     1.メモ帳などのテキストエディタでhttpd.confファイルを開きます。
     2.portエントリを"port_80"というように編集、ファイルを保存します。
      ( _ はスペースの意味です)
     3.サービスを再起動します。

    おっと、ここは簡単だったね。これで完了かい?
    という方はこちら





    6. 試す

     設定お疲れ様でした。
     それでは早速アクセスできるかを試しましょう。内部ネットワークからはhostsの設定をしてあれば、まず大丈夫でしょう。外部からのアクセスを試すには、Anonymizer.comなどのWebproxy(発信元がグローバルIPアドレスになるもの)で試すのが良いでしょう。もちろん大学や会社や友達の家の端末などから試しても良いですね。

     arrow_redAnonymizer.comへのリンク

    アクセステストも完了したし、何はともあれ公開出来た!これからサイトを育てていくぞ〜!
    がんばって下さい。<すとっく

  •  以上で完了です。

     今の時代、インターネットを利用している人は「雨後のたけのこ」のように大勢いますが、自室のルータを噛ませて、サーバを立てている人はまだ少ないでしょう(きっと・・・)。知り合いにあなたの技術力を大いに宣伝しましょう(←大袈裟か・・・(^^;;;)。
     プリンタを持っている人は、アドレス入りの名詞をつくってしまうのも良いですね。久しぶりに顔を合わせた友人に何気なく渡したら良い感じかもしれません。
    アクセスしてきた友人が、
    「あのサイトってお前の部屋のPCでやってんの?」
    なんて聞いてきてくれたら、ちょっと気分良いものです:-)

     ただ気をつけてください。サーバを公開するということは、コンピュータの電源をむやみに切れなくなることを意味します。自室のサーバを落としても特に罰則がある訳ではないのですが、誰かがせっかくアクセスしようとした時にサーバが落ちていたら、きっとガッカリしてしまうでしょう。そしてもう二度と来てくれないかも知れません。

     たとえアクセスが少なくても(このサイトみたいに・・・(--;)、落ちないサーバを目指すことは、きっとあなた自身の為にもなります。コンピュータの部品やOSなども信頼性の高いものを選んで、できるだけ落ちないサーバを一緒に目指していきましょう。

     また、当然のように、セキュリティに関しても、これまで以上に注意を払うべきです。最低でも、LOGファイルやセキュリティ情報関連のページや、動作しているサービスやプログラムのチェック(トロイの木馬対策)を定期的に行ったり、ShildUP!などが提供しているポートスキャンなどを定期的におこなったりして、自分のサーバの「監査」をしてみることお勧めします。

     arrow_redセキュリティ関連へのリンク


































    (余白)