サーバー公開とドメイン取得の基礎知識
グローバルIPとプライベートIP
インターネットに接続するパソコンはすべて固有の「IPアドレス」を持っていることは、自分でサーバーを持とうなんて考える人はすでに知っているはず。サーバーを運営するためには、もうひとつ「グローバルIPアドレス」と「プライベートIPアドレス」の違いも知る必要がある。
グローバルIPとはインターネットへ直接接続しているパソコンやルーターなどに割り当てられるIPアドレスであり、プライベートIPとはルーター越しにインターネットにつながるパソコンが持っているアドレスだと考えていい。
もともとは「IPアドレス=グローバルIP」だったが、インターネットの普及でIPアドレスが不足してきた。そこで1つのグローバルIPを複数のパソコンで共有する「NAT」などの技術が登場した。LANの中のパソコンには個数を自由に増やせるプライベートIPを割り当て、ルーターで変換を行うことで1つしかないグローバルIPを共有するというものだ。
プライベートIPは次のIPアドレスを使うと決められていて、LANの中では自由に使っていい。一般的によく使われるのがクラスCのプライベートIPであり、たいていのルーターはこのアドレスを自動的にパソコンに割り当てるようになっている。ルーターが「192.168.0.1」のIPアドレスを持ち、パソコンには「192.168.0.2」から順にIPアドレスを割り振っていく。

| クラス | プライベートIPアドレス | サブネットマスク |
| クラスA | 10.0.0.0〜10.255.255.255 | 255.0.0.0 |
| クラスB | 172.16.0.0〜172.31.255.255 | 255.240.0.0 |
| クラスC | 192.168.0.0〜192.168.255.255 | 255.255.0.0 |
ルーターのポートを開ける
インターネット上でパソコンを識別するグローバルIPはルーターに割り当てられる。パソコンはLANの中でしか通用しないローカルIPを使っているので、外からサーバーに接続しようとしてもルーターのところで止まってしまう。いきなり外からサーバーを呼び出す要求がきても、ルーターはその要求をどのパソコンに中継すればいいのか分からない。
これを解決するには、ルーターがサーバーへの接続要求を受け付けたとき、あらかじめ指定した内部のサーバーへ接続を中継するように設定しておく。この作業を俗に「ポートを開ける」と呼ぶ。ポートというのは利用するアプリケーションを識別するための番号である。HTTP(ウェブ)は80、SMTP(メール)は25というように代表的なアプリケーションのポートは決まっている。
ルーターにはポート番号と転送先のローカルIPを関連付ける「ポートマッピング」という機能がある。ルーターによっては「NATアドレス変換」「バーチャルサーバー」などの名称を使うこともあるが機能自体は同じ。この機能の設定を設定しておけば、特定のポートに要求がきたときはLANの中のパソコンに転送してくれる。
もちろんその前にサーバーに割り当てるローカルIPは固定しておく必要がある。LAN内のパソコンは通常はDHCPで自動的にローカルIPが割り振られるので、設定を変更して手動で固定のローカルIPを割り当てておく。
また、ルーターのポートを開けるのは必要最小限にしておくこと。使ってもいないポートを開けると、そこからクラッカーが不正侵入するなどセキュリティ面の問題が発生してくる。
| HTTP | 80 | HTTPS | 443 |
| FTP | 20/21 | TELNET | 23 |
| SMTP | 25 | IMAP | 143 |
| POP3 | 110 | SSH | 22 |

無料でドメインを使えるDDNSサービス
ポートを開ければ外部から自宅サーバーを見られるようになる。
だが、アクセスするには自宅のグローバルIPを指定しなければならないすればいい。いちいちIPアドレスを入力するのは面倒だという問題もあるが、プロバイダから割り当てられるグローバルIPはしばしば変わるため(ちょうどLANの中でDHCPを使ってパソコンにIPアドレスを割り振るのと同じだ)、接続するたびにグローバルIPを調べなければならない。これでは面倒な作業であり、とてもみんなに自宅サーバーを訪れてもらうわけにはいかない。分かりやすいドメイン名で自宅サーバーにアクセスできるようにしたい。
とはいえ「ドメインを取るにはお金もかかりそう」「やり方もよく分からない」と尻込みする人も多いはず。そんな人はまず無料のDDNSサービスを使うところから始めてみよう。
「DDNS(DynamicDNS)」とは自宅のグローバルIPとドメイン名を結びつけるサービスだ。まずはDDNSサービスに登録してドメインを取得する。そして、サービスのウェブサイトでプロバイダから割り当てられたグローバルIPを登録する。すると外部の人はいつも同じドメイン名を指定することで自宅サーバーに接続できるようになる。こんなすばらしいサービスを無料で提供しているところがインターネットには数多くある。

DDNSの更新を自動化するソフト
DDNSは便利なサービスだが、プロバイダから割り当てられたグローバルIPが変わるたびに登録を行わなければならない。この登録をおこたると、せっかくのドメイン名を使ってもサーバーにアクセスできなかったり、運が悪いと別の人が運営しているサーバーにつながったりする。だいたいグローバルIPが変わったかどうかなんてルーターの設定画面を開くまで分からないから、いちいち手動で確認と登録をおこなうなんて無理な話だ。
そこで登場するのが「DiCE」というソフトだ。このソフトをサーバーにインストールしておくと、DiCEが定期的にグローバルIPを調査し、グローバルIPが変わったときはDDNS登録してくれる。これならいつでも分かりやすいドメイン名で自宅サーバーに接続できる。
ただし、DiCEがグローバルIPのチェックを行うのは数分おきであり、グローバルIPが切り替わって数分はDDNSに変更が反映しないことがある。その間はドメイン名での接続ができなくなるが、仕組みからして仕方がない。これがイヤなら月数千円を払って、固定グローバルIPをもらうしかない。
独自ドメインを取得するには
DDNSサービスからもらえるドメイン名は、そのDDNSサービスのサブドメインとなる。たとえば、このページで紹介している「Dynamic DO!.jp」の場合、「××.ddo.jp」という形になる。××の部分は好きなものを選べるが、うしろにddo.jpが必ず付いてくる。
「もっと分かりやすい自分だけのドメインがほしい」という人は、自分でドメインを取得して、そのドメインをDDNSサービスに登録することになる。ドメインを取得するにはお金がかかりそうなイメージがあるが、海外の安いレジストラなら年10ドル以下、つまり1,000円そこそこでドメインをとれる。1ヶ月100円以下という安い値段で独自ドメインが使えるわけだ。
また、取得の手続きもすべてオンラインででき、支払いもクレジットカードが使える。その気になれば10分くらいで独自ドメインを取得することができる。
DDNSサービスのサブドメインでしばらく運用し、サーバーのノウハウをある程度蓄積したところで独自ドメインをとることも考えてみよう。