LANの中に構築したWEBサーバーをブロードバンドルーターやルータタイプのADSLモデムを使って外部に公開するために最低限必要な情報を整理します。
1.グローバルIPアドレスとプライベートIPアドレス
インターネットで使用されているTCP/IPという通信規格では、各ホストはIPアドレスを頼りに互いを識別するようになっています。そのため、インターネットに接続されたホストのIPアドレスは全世界的規模で重複のない、そのホスト固有のものでなければなりません。このようなIPアドレスのことをグローバルIPアドレスと呼びます。
一方、TCP/IPというプロトコルはシンプルで使いやすく機能的にも充実しているので企業内LANや家庭内LANといった大小様々なLANの分野でも用いられるようになってきました。しかし、インターネットに接続されていないLAN内のホストにまでグローバルIPアドレスを割り当ててしまうとグローバルIPアドレスはすぐに不足してしまいます。
そこでグローバルIPアドレスの特定の範囲をプライベートIPアドレスとしてインターネットに接続していないホストに限り自由に使って良いこととしました。そのためプライベートIPアドレスを持つホストはインターネットに接続することは出来ません。
![]()
| クラス | 先頭1ブロック | ネットワーク範囲 | プライベートアドレスの予約範囲 | ネットワークアドレス | IPアドレス数 |
|---|---|---|---|---|---|
| クラスA | 0〜127 | 0.0.0.0〜127.255.255.255 | 10.*.*.* | 先頭1ブロック | 1677万 |
| クラスB | 128〜191 | 128.0.0.0〜191.255.255.255 | 172.16.*.* | 先頭2ブロック | 6万 |
| クラスC | 192〜223 | 192.0.0.0〜223.255.255.255 | 192.168.*.* | 先頭3ブロック | 256 |
上記の表で示したように、各クラスによってネットワークアドレスの範囲が先頭1ブロックから3ブロックのいずれかが決定します。また、使用できるIPアドレスの数も、クラスAの場合は何と1677万個ものIPアドレスを割り付けることができるようになります。しかし、一つのネットワークでこれほどたくさんのIPアドレスを使用することはまず考えられません。そこで、さらに分割して使えるようにした仕組みがサブネットマスクになります。
サブネットマスク
サブネットマスクとは同一のLAN内にある各パソコンのうち、自分のパソコンからアクセスして良いIPアドレスの範囲を指定するための数字の組み合わせです。余計な部分にアクセスしないためにその指定範囲以外のIPアドレスに目隠し(マスク)をしてしまうということでサブネットマスクと呼ばれています。
たとえば、AとBとCの3つのグループがあったとします。同一グループ内のパソコンは相互にアクセス可能、そしてAからBとAからCはアクセス可能にしたいとします。
A→A アクセス可能
B→B アクセス可能
C→C アクセス可能
A→B アクセス可能
A→C アクセス可能
B→C アクセス不可能
C→B アクセス不可能
このとき、IPアドレスの下から2ブロック目の数字を変えることで、A、B、CのパソコンはLAN上でグループ分けすることができます。このときは下記のようにローカルIPアドレスとサブネットマスクを割り当てます。
| ローカルIPアドレス | サブネットマスク | 特記事項 | |
|---|---|---|---|
| Aグループ | 192.168.0.XXX | 255.255.0.0 | |
| Bグループ | 192.168.1.XXX | 255.255.255.0 | |
| Cグループ | 192.168.2.XXX | 255.255.255.0 |
この「255.255.255.0」というサブネットマスクを設定したパソコン(BとC)からは自分のパソコンのIPアドレスと上位3ブロックがすべて同じIPアドレスを持ったパソコンにしか存在を認識しなくなります。つまり、Bのグループの中のパソコンはBのグループ内にあるパソコンしか認識できず、Cのグループの中にあるパソコンはCのグループの中にパソコンしか認識できません。
一方、Aのグループについては「255.255.0.0」というサブネットマスクを設定しています。このサブネットマスクだと、上位2ブロックの数字が同じパソコンしか存在を認識しないという形になります。このA,B,Cの全グループはすべてが上位2ブロックは192.168となっていますので、Aのグループからはすべてのパソコンの存在を認識できるようになります。
2.ヘッダ情報とポート番号
TCP/IPを用いるネットワークでは送受信するデータをパケットという単位に小分けし、おのおののパケットにIPヘッダと呼ばれる情報とTCPヘッダと呼ばれる情報を自動的に付け加えます。IPヘッダには送信先ホストのIPアドレスと送信元ホストのIPアドレスが含まれ、TCPヘッダには送信先ポート番号と送信元ポート番号が含まれています。これらの情報を元にインターネット上の各ホストはパケットの転送や受信、処理、返信を行います。上記のうち送信先ポート番号というのは送信先のホストが受信したパケットがホスト上で稼働するどのアプリケーション向けのものなのかを判断するためのものです。
パケットの構成
| IPヘッダ ・送信先ホストのIPアドレス ・送信元ホストのIPアドレス |
TCPヘッダ ・送信先ポート番号 ・送信元ポート番号 |
データ本体 |
一般的なアプリケーションにはあらかじめポート番号が規定されています。たとえば、httpは80番、pop3は110番、FTPは21番などです。これらをwell−knownポートなどと呼びます。well=knownポートには0から1023の番号が割り当てられており、1024以降は自由に使って良いこととなっています。なお、IPアドレスと同様にポート番号にも送信元ポート番号がありますが、こちらのほうがwell=knownポート以外の番号が動的に割り当てられています。
| ヘッダ情報 | 説明 | TCP | UDP | ICMP |
|---|---|---|---|---|
| 送り元のIPアドレス | どのコンピュータからのパケットかを特定する | ○ | ○ | ○ |
| 送り先のIPアドレス | どのコンピュータへのパケットかを特定する | ○ | ○ | ○ |
| 送り元のポート番号 | 送り元コンピュータのどのポートから送られてきたかを特定する。 | ○ | ○ | − |
| 送り先のポート番号 | 送り先コンピュータのどのポートへ送るかを特定する。 | ○ | ○ | − |
| 接続要求(SYN) | クライアントがサーバに送る一番始めのパケット。 | ○ | − | − |
| メッセージタイプ | ICMPのメッセージ種別 | − | − | ○ |
| サービス | 使用するポート番号 | 説明 |
|---|---|---|
| WEBサービス(HTTP) | 80/TCP | WEBページ用のデータをやりとりするためプロトコルが使用するポート。 |
| Mailサービス(SMTP) | 25/TCP | メール送信用のプロトコルが使用するポート。 |
| Mailサービス(POP3) | 110/TCP | メール受信用のプロトコルが使用するポート。 |
| DNSサービス(ゾーン転送) | 53/TCP | ドメイン名とグローバルIPアドレスを変換するシステムが使用するポート。 |
| DNSサービス(普通のクエリー) | 53/UDP | |
| FTPサービス(制御用) | 21/TCP | ファイルの送受信に使われるプロトコルが使用するポート。 |
| FTPサービス(データ転送用) | 20/TCP(active)、1024〜/TCP(passive) | |
| TELNET | 23 | TCP/IPで通信している他のパソコンを操作するためのプログラムであるTELNETが使用するポート |
| SAMBA(netbios-ns) | 137/UDP | WINDOWSマシンとのファイル共有を実施するサービスを提供するSAMBAという機能が使用するポート。 |
| SAMBA(netbios=dgm) | 138/UDP | |
| SAMBA(netbios-ssn) | 139/TCP | |
| DHCP(サーバ側) | 67/UDP | |
| DHCP(クライアント側) | 68/UDP | |
| ping | icmp type 8/icmp type 0 | |
| traceroute | 33435〜/UDP(行き)+icmp(帰り) | |
| Echo | 7 | 他のパソコンからなにか文字列が送られてきたときに、その文字列をそのまま返す機能をEchoと言うがこの機能が使用するポート。 |
| Finger | 79 | 他のパソコンとのファイル交換に利用されるプロトコルが使用するポート。 |
| NNTP | 119 | ネットニュース(ニュースグループ)のデータをやりとりするためのプロトコルが使用するポート。 |
| SNMP | 161 | 複数のコンピューター間でネットワーク情報を共有するために使われるプロトコルが使用するポート。 |
| SNMP Trap | 162 | SNMPでネットワーク情報をやりとりしているときに何かしらのエラーが発生したときに使用するポート。 |
3.LANとインターネットを接続する
(1) ブリッジタイプのモデムしか無い場合

上図のように2台のコンピュータからなる小規模なLANとADSLモデムを単純に接続した場合を想定してみます。なお、このネットワークの環境は以下のようになっていると想定します。
- 二台のコンピュータにはそれぞれプライベートIPアドレスが割り振られている
- ADSLモデムはブリッジタイプ(イーサネットの信号とADSLの信号を相互に変調する機能しか持たないタイプ)
- ハブとモデムはイーサネットケーブルで直結されている
- インターネット接続時にプロバイダーから割り当てられるグローバルIPアドレスは一つ
まずノートパソコンからインターネットに接続します。クライアントソフト(たとえばフレッツADSLの場合は「フレッツ接続ツール」)を起動するとノートパソコンがインターネットに接続されます。この状態ではデスクトップパソコンからインターネットに接続することは出来ません。プロバイダから割り当てられているグローバルIPアドレスはノートパソコンに直接割り当てられていて、デスクトップパソコンはプライベートIPアドレスしか持たないためです。デスクトップパソコンをインターネットに接続したい場合はノートパソコンの接続をいったん切断してから、改めてデスクトップパソコンから接続要求を行うようにします。このようにモデムとは部を単純に接続した場合は同時にインターネットに接続することはできずに、どちらか一方を排他的に使用できるという状況になります。
(2) ブロードバンドルータ
プライベートIPアドレスを割り振られたコンピュータがインターネットに接続するためにはコンピュータとインターネットの中間でプライベートIPアドレスとグローバルIPアドレスを相互に変換する必要があります。このような変換をNAT(Network Address Translation)と呼びます。ただし、NATの使用で規定されているのは一対一のアドレス変換だけなので、LANに接続されたプライベートIPアドレスを持つ複数台のホストを同時にインターネットに接続する場合には、同時に接続するホストの台数と同数のグローバルIPアドレスが必要になります。
そこでNATを拡張したNAPT(Network Address Port Translation)という変換方式が考案されました。NAPTはIPマスカレードとも呼ばれ、IPアドレスと同時にポート番号の変換も行います。その結果、割り当てられるグローバルIPアドレスが一つだけであっても、LANに接続された複数台のホストが同時にインターネットに接続できるようになりました。
現在市販されているブロードバンドルーターやローカルルーターなどと呼ばれる製品は家庭内LANのような小規模なLANでも手軽にNAPT機能を利用できるようにするものです。基本的な性能や機能は各社製品ともおおむね同等であり、現行製品であればどの製品を選んでもあまり後悔することはありません。ただし、最近になって一部の製品で高機能化が進み、LAN−WAN間の転送速度(スループット)の早さをうたったり、本格的なセキュリティ機能や無線LANアクセスポイント機能などの付加機能を搭載した製品も増えてきています。また、ADSLモデムにNAPT機能を搭載した製品もあります。こちらはルータタイプのADSLモデムと呼ばれています。
![]()
無線LAN関連製品
楽天市場で取り扱われている無線LAN関連製品です。楽天市場は同じ商品について複数のお店の値段を比較して買い物ができるので便利です。
Amazonでもエレクトロニクス製品を取り扱っていますが、こちらは1500円以上で送料が無料になりますので、比較的安い商品を購入するときはこちらの方がお得になる場合があります。
|
|
||||||||
|
|
||||||||
(3) WAN(インターネット)側からの接続
NAPTはプライベートIPアドレスしか割り振られていないLAN内のホストがインターネットに接続する場合には大変に便利な機能です。しかし、LAN内にサーバーを構築して外部(インターネット)に公開する場合には問題があります。NAPTでWAN側(インターネット側)からLAN内へのパケット送信先を決定するにはパケットがLANからWANへ出て行くときのアドレスとポート番号の変換情報が必要になりますが、WAN側から直接パケットを送信した場合はそのような変換情報がないため、ルーターはLAN側のどのホストにパケットを送信して良いか判別が出来ないためです。
また、市販のブロードバンドルーターでは上記のNAPTの機能上の問題とは関係なくセキュリティ上の観点からパケットフィルタリングという機能によってWAN側から直接LAN側へ送信されたパケットは全て破棄されるように初期設定されている場合が大半です。
そこでポートフォワーディングという機能が必要になります。これは、プロトコルの種類(TCPまたはUDPまたは両方)とポート番号の組み合わせをあらかじめ指定しておき、それに合致した場合のみWAN側からのパケットを、あらかじめ指定しておいたLAN側のホストとポート番号の組み合わせに送信するという機能です。(当然LAN側のIPアドレスは固定しておかなくてはいけません) 転送ルールがあらかじめ固定されていることから静的IPマスカレードなどと呼ばれることもあります。この機能を使うことによってLAN内に構築したサーバをWAN側に公開することが可能になります。
(4)NAT機能とIPマスカレード機能
ブロードバンドルーターの説明書などを見ていると、NAT機能とかIPマスカレード機能といった言葉が出てくることがあります。NAT機能というのは一つのグローバルIPアドレスを一つのローカルIPアドレスに変換する機能です。このNAT機能単体ではブロードバンドルーターには1台のパソコンしか接続できないことになります。ブロードバンドルーターの最大のメリットはひとつのプロバイダーとの接続アカウントで複数台のパソコンで同時に接続できることにあります。これを実現するためには一つのグローバルIPアドレスに複数のローカルIPアドレスで共有する機能が必要になります。これがIPマスカレード機能です。ブロードバンドルーターの中にはNATと呼んだときにIPマスカレード機能まで含めて呼んでいる場合もあるようです。
(5)パソコンを外部から守るための機能
インターネットに常時接続するということは自分のパソコンが24時間世界中のパソコンにアクセスできると言うことですが反面世界中のパソコンから24時間、自分のパソコンにアクセスできるということになります。これは悪意をもった人からインターネット経由でなんらかの攻撃を受けてしまうということになります。そのため常時接続の環境では外敵から身を守る自衛手段を持たなければなりません。ブロードバンドルーターは接続するだけで通常のADSLモデムとパソコンを直接つなげたときと比べるとセキュリティ的には安全になります。ブロードバンドルーターにはいくつかのセキュリティ機能がオンになっていると考えて良いでしょう。代表的なものにパケットフィルタリングがあります。パソコン側からインターネット側にはパケットを送信できるものの、インターネット側からパソコン側には必要最低限のデータしか通さない仕組みになっています。(ブロードバンドルーターによっては初期設定でフィルターがオフになっている可能性もありますのでマニュアルと設定内容をご確認ください)
ブロードバンドルーターにはNAT機能を搭載しているため、外敵からの攻撃の第一の目標であるグローバルIPアドレスが直接パソコンに割り当てられていません。そのため、仮に自分の割り当てられたグローバルIPアドレスが何らかの攻撃を受けたとしても、それはブロードバンドルーターが攻撃をうけるわけでパソコンにまで到達せずにすみます。ブロードバンドルーターはパソコンとは構造が違う上、ハードディスクのように大切なデータを大量に保管しているようなこともないので、仮に攻撃を受けたとしても実害は発生しないことになります。つまりブロードバンドルーターを設置するだけでもグローバルIPアドレスをねらい撃ちにした攻撃に対する自衛手段になります。
また、通常、インターネット上を流れるデータはそのデータの使用目的によりコンピューター上のソフトウエアの決められたデータの受け渡し口を使用します。このソフトウエアのデータ受け渡し口を「ポート」といい、たとえばWEBページのデータは80番のポートを使ってデータの受け渡しをしています。一般的なモデムとパソコンが直接接続された環境ではインターネット上の別のコンピューターから自分のIPアドレスに向けて何番のポートにアクセスしたいという要求があった場合、自分のパソコンがこの要求に応えてしまうため、そのポートから悪意を持ったプログラムが進入する可能性があります。当然、パソコンの内部は他人からのぞかれてしまう可能性も高いといえます。
たいして、ブロードバンドルーターでは原則的に各パソコンのポートを直接インターネット上に開放していません。これをパケットフィルタといいます。インターネット上の別のコンピューターが自分のグローバルIPアドレスに向けてポート解放の要求をしてもブロードバンドルーターがその要求をブロックしてしまうため、自分のパソコンがこれに応えることはありません。
このようにセキュリティ的にも大きな効果があるブロードバンドルーターですが、デフォルトの設定ですべての背セキュリティ対策機能がオンになっていない可能性もあります。まずはマニュアルを良く読んで安全な使い方をするようにしてください。
アンケートフォームから戴いたコメント
下のアンケートフォームから戴いたコメントを掲載します。
| [参考] 参考になった |
[感想] 読ませて頂きました。 しかし、かなり難しく理解したのが30%くらいでした。 大丈夫でしょうか・・・。 |
![]()
アンケート
![]()
| 累計 |
|
人 | 本日 |