竹形誠司 ブログ
Java+MySQL+Tomcat    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
自宅サーバーのためのネットワーク設定
by 竹形 誠司[takegata]
ルーターの設定
自宅でサーバーを運用するためには、インターネット側から自宅に置いたサーバーにアクセスできるようにネットワークの環境を整える必要があります。まず、最初に必要なのはルーターの設定です。

市販されているほとんどのブロードバンドルーターにはNAT機能が標準で搭載されています。NATとは、Network Address Translationの略語で、主にグローバルIPとプライベートIPの変換を行います。

ブロードバンド・ルーターには「WAN側」と「LAN側」の2つのネットワーク端子があります。ハブ機能を持っているルータの場合はLAN側に複数(4個であることが多い)のコネクタが付いています。WAN側とLAN側には異なるIPアドレスが振られます。WAN側に振られるIPアドレスが「グローバルIPアドレス」、LAN側に振られるIPアドレスが「ローカルIPアドレス」です。

グローバルIPアドレスは、世界でただ1つしかないIPアドレスです。このIPアドレスを指定すれば、世界中のどこからでも「あなたの家のルーター」まで到達することができます。プライベートIPアドレスは、LAN内だけで使われるIPアドレスです。多くの場合、192.168.0.0 〜192.168.0.255が使われます。一般的な設定ではインターネット(WAN)側からプライベートIPが使われているLAN側にはアクセスできません。

一般的な家庭向けのプロバイダ契約では、1つの回線に1つのグローバルIPが割り当てられます。パソコンが何台かある場合などは、複数の機器でこのグローバルIPを共有するためにNATが使われます。たとえば↓のような感じです。xxxの部分は、1〜3桁の数字で、プロバイダからブロードバンドルータに自動的に割り当てられます。
【WAN側】 xxx.xxx.xxx.xxx←【NAT】←192.168.0.1〜192.168.0.255【LAN側】
ブロードバンドルータの中には、WAN側からLAN側へのアドレス変換を行う機能を持ったものがあります。この機能は「スタティックNAT」などと呼ばれています。この機能を使えば、LAN側に置いたサーバーにWAN側からアクセスできるようにすることができます。たとえば、LAN側に置いたウェブサーバー(ポート番号は80番)のローカルIPアドレスが192.168.0.10だったとすると、次のようになります。
【WAN側】 xxx.xxx.xxx.xxx:80→【NAT】→192.168.0.10:80【LAN側】
スタティックNATはポートごとに設定するのが一般的です。たとえば、メールサーバー(ポート番号25番)をウェブサーバーとは別のマシン(192.168.0.11)で運用する場合は、上記の設定に加えて、次のような設定をルーターに登録します。
【WAN側】 xxx.xxx.xxx.xxx:25→【NAT】→192.168.0.11:25【LAN側】
Tomcatのデフォルトのポート番号は8080ですが、次のように設定すれば、WAN側からの80番のポートへのアクセスが、LAN側のサーバーの8080ポートへのアクセスに変換されます。
【WAN側】 xxx.xxx.xxx.xxx:80→【NAT】→192.168.0.10:8080【LAN側】
スタティックNATがセットされたポート(この場合は80番)以外のポートへのアクセスは無視されるので。ポートスキャンなどの攻撃を受けても80番ポート以外へのアクセスはサーバーに到達できません。

サーバーのIPアドレスはDHCPから取得するのではなく、固定されている必要があります。また、サーバ以外のPCにIPアドレスを割り当てるためにルータのDHCP機能を使っている場合は、サーバに割り当てたIPアドレスをDHCPの対象から除外するように設定する必要があります。

固定IPアドレスの取得
自宅サーバーを運用するには、(後述のダイナミックDNSを使えば)必ずしもグローバルIPアドレスが固定されている必要はありませんが、ネットワークの勉強をしようとするのであれば、固定IPアドレスを使用した方がいいように思います。固定IPアドレスを取得するには、プロバイダが提供しているオプションサービスを利用します。私が使っているWAKWAKの「ざんまいADSLファイン」では月額2100円、インターリンクでは1050円です(2008年2月現在)。

DNSサーバーの準備
DNSサーバーはドメイン名からIPアドレスに変換するサーバーです。自宅サーバーでDNSサーバーを運用することもできますが、設定が難しいのでドメイン取得サービスやプロバイダ等から提供されているDNSサーバーの代行サービスを利用すると便利です。ただし、これらのサービス会社が提供しているDNSサービスは、対象となるサーバーが「サービス会社側の提供するウェブサイト」だけの場合も多いので注意が必要です。ちなみに自宅サーバーで使えるインターリンクの「おまかせDNS」サービスは月額1050円、WAKWAKの「ざんまいADSLファイン」には該当のサービスがありません(2008年2月現在)。

WAKWAKでは、固定IPアドレスを申し込むと、wakwak.ne.jpドメイン内で、好きな文字列を使ったドメイン名(うちの場合は、jamyto.st.wakwak.ne.jp)を無料で割り当ててくれるので(もしかしたらインターリンクでも)、独自ドメインにこだわらなければ、わざわざDNSサーバーを準備する必要はありません。

ダイナミックDNSの利用
固定IPやDNSサーバーはお金がかかるのでちょっと・・・という場合は、ダイナミックDNSというサービスを利用する方法もあります。これは、グローバルIPアドレスが変わるたびにDNSサーバの情報を更新する方式で、ほとんどの場合独自ドメイン名は使えません。ただ、ダイナミックDNSサービスの提供者が持っているドメインのサブドメインとして、好きなドメイン名が選べる場合がほとんどです。

ダイナミックDNSを使う場合は、ルーターに自動更新の機能が付いていると便利です。と、いうより、ルーターにこの機能がなければダイナミックDNSを使うのは非常に面倒です。私が使っているYAMAHAのルータ(ネットボランチ)には、「ネットボランチDNSサービス」に対応しています。「ネットボランチDNSサービス」は、YAMAHAがネットボランチユーザー向けに無料で提供しているダイナミックDNSサービスで、ルータ側にドメイン名で使用する文字列を登録しておくと、IPアドレスが変わったときに、自動的にダイナミックDNSサーバーの登録情報を更新してくれます。うちのネットボランチにはこの機能で「takegata」という文字列を登録してあり、ネットボランチDNSサービスから「takegata.aa0.netvolante.jp」というドメイン名が割り当てられています。ただし、うちのTomcatはマルチドメイン用の設定をしてあるので、http://takegata.aa0.netvolante.jp/http://jamyto.st.wakwak.ne.jp/にアクセスしても何も表示されません。

Tomcatのマルチドメイン用の設定については↓を参照してください。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=2
投稿:竹形 誠司[takegata]/2008年 02月 11日 21時 58分 /更新:2008年 02月 12日 00時 14分