図1 : NTT-ME 製: BA8000 Pro
この写真ではわかりづらいかもしれませんが,
ブロードバンドルータの大きさは,
ふつうのスイッチングハブの大きさとそれほど変わらず,
(物理的意味で)とても手軽に扱うことができます。
ちなみに,図1の製品の高さは約16cm です。
また,ブロードバンドルータは,
しばしば「NAT 箱」や「NAT ボックス」と呼ばれたりします。
このことからもわかるように,
市販されているほとんどのブロードバンドルータには,
NAT の機能が備わっています。
本稿では,この NAT についての説明に焦点を絞ります。
NAT[2]をうまく活用すれば,利用形態にもよりますが,
ある面において,セキュリティを向上させることができます。
本稿では,
ブロードバンドルータによる NAT の利用について,
簡単に説明したいと思います。
ただし,
ブロードバンドルータによる NAT の利用を
無条件におすすめするわけではありません。
あくまでも,選択肢のひとつとお考えいただけると幸いです。
なお,本稿は NAT についてあまりご存知ない方を対象としています。
そのため,それなりの知識をお持ちの方にとりましては,
退屈で意味のない内容になっていますので,
あらかじめご了承下さい。
それでは,NAT を用いるとどのようなことができるのかを見てみましょう。
図2をご覧下さい。
パーソナルコンピュータ(PC)とインターネット(Internet)との間に,
NAT 箱(NAT box; 例えば,ブロードバンドルータ)が置かれています。
概念的・直感的に言いますと,
PC からインターネット側を見ることはできますが,
その逆の,インターネット側から PC を見ることはできないイメージです。
図2 : NAT による効果の概念図
ちょうど,NAT 箱がマジックミラーになっているような感じですね。
PC からインターネットには自由にアクセスできるのに対し,
インターネット側から,つまり,見知らぬ第三者から PC には
アクセスできないことになります。
したがって,NAT 箱をうまく活用すると,
自分の PC が不正に利用される可能性が減るというわけです。
NAT 自体は,このような目的のために存在しているわけではありませんが,
結果として上記のようなことが実現できます(詳しくは後述します)。
Windows をはじめとする各オペレーティングシステム(OS)には,
必ずと言って良いほどセキュリティホールが存在し,
その脆弱部分を突いて感染するウィルスやワームが絶えません。
そのため,
PC をインターネットから直接見えないようにすることは,
安全対策において非常に有効です。
確かに NAT はセキュリティ対策として存在しているものではありませんが,
PC をインターネットから直接見えなくする手軽な手段として,
NAT が有効であることは事実だと思います。
以下本稿では,図2のようなことを実現する仕組について
簡単に述べていこうと思います。
そのためには,
まずグローバルアドレスとプライベートアドレスについて
知る必要がありますので,
それらについて2章で説明します。
次に,3章において,
NAT (ネットワークアドレス変換)について説明します。
次に,4章において,
ブロードバンドルータで NAT を設定する場合の具体的な例を
簡単に紹介します。
最後に 5章でまとめます。
の範囲を利用できることが RFC1918[3]
に規定されています。
基本的に,プライベートアドレスは,
組織内であれば,
自由に割り当てて使うことができます。
具体的な例を挙げてみます。
130.34.246.94 という IP アドレスはグローバルアドレスです。
したがって,130.34.246.94 というアドレスの付いた PC は,
インターネットにおいて世界にひとつしかなく,
また世界中と通信を行うことができます。
一方,
172.16.0.11 という IP アドレスはプライベートアドレスです
(上述したプライベートアドレスの範囲に入っていますね)。
このアドレスを持つ PC には,
そのプライベートアドレスを利用している組織内
(プライベートネットワーク)からでしか到達できません。
組織外のネットワークから 172.16.0.11 の PC に到達することはできません。
図3 : プライベートアドレスを持つ PC
前章において,
「PC からインターネット側を見ることはできるが,
インターネット側から PC を見ることはできない」
ということを実現したいと述べました。
(図2を思い出して下さい。)
このような``マジックミラー''を実現するために,
プライベードアドレスを利用してみます。
PC にプライベートアドレスである 172.16.0.11 を付けましょう。
このとき,
図3に示すように,
グローバル(インターネット)側から PC にアクセスすることはできません。
なぜなら,プライベートアドレスを持つマシンには,
そのプライベートアドレスを利用している組織内からしか到達できないからです。
したがって,このとき,
PC に不正にアクセスされることも無いことになります。
しかし,困ったことに,
この状態では,PC からインターネット側にアクセスすることができません。
例えば,Web ブラウザで組織外の Web ページを見ることや,
遠く離れた組織外のマシンにログインしたりすることができません。
このような,プライベートアドレスを持つ PC からグローバル側へ
アクセスできないという問題を解決してくれるのが,
次章で説明する NAT です。
図4 : プライベートアドレスを持つ PC (A) とグローバルアドレスを持つ PC (B)
前章において, プライベートアドレスを持つ PC からグローバル側へ アクセスできないという問題を説明しました。 このことについてもう少し詳しく見てみましょう。 図4のように, PC (A) の IP アドレスが 172.16.0.11 で, PC (B) の IP アドレスが 202.211.0.x であるとします。 前者はプライベートアドレスで,後者はグローバルアドレスですね。 いま,PC (A) から PC (B) に向けて, パケット(IP データグラム)を送ったとしましょう。 このとき, 送られるパケットは図5のようになります。
図5 : IP データグラム
図5を見ると, 宛先(destination)が 202.211.0.x で, 送信元(source)が 172.16.0.11 で, その後にデータ(ペイロード; payload)が 続いていることがわかります。 このパケットが PC (B) に送られます。 そのパケットを受け取った PC (B) は[4], 172.16.0.11 が送信元であることを知りますが, このアドレスに向けて返事のパケットを返そうとしても, 172.16.0.11 がプライベートアドレスであるため, うまく届かないことなります。 プライベートアドレスは一意性を持たず, また組織内のプライベートネットワークでしか使えないのでしたね。 問題は送信元アドレス 172.16.0.11 がプライベートアドレスである ことに起因しています。 そこで,送信元アドレスをグローバルアドレスに``変換''すれば, 問題が解決することが容易に予想されるでしょう。 そのような``変換''を行ってくれるのが NAT です。 図4のネットワーク構成に追加して, 図6のように NAT 箱をはさんでみましょう。
図6 : NAT 箱の設置
このような状態で, PC (A) から先程と同じ図5のパケットを送ったとしましょう。 このとき, 図6の NAT 箱により, PC (A) から送られたパケットは, その送信元アドレスが 172.16.0.11 から 130.34.246.94 に変換されます。 130.34.246.94 は NAT 箱の外側(右側)に付いている グローバルアドレスです。 変換により得られたパケットを図7に示します。 このパケットが NAT 箱から 202.211.0.x の PC (B) に送られます。
図7 : ネットワークアドレス変換された IP データグラム
図7のパケットを受け取った PC (B) は,
そのパケットに書いてある送信元アドレス 130.34.246.94 に対して
返事のパケットを返します。
その返事のパケットを受け取った NAT 箱は,
今度は宛先アドレスを 172.16.0.11 に変換して,
PC (A) にその変換したパケットを送ります。
このようにして,
めでたく PC (A) に PC (B) からのパケットを届けることができます。
NAT 箱は,アドレス変換に関するテーブルを保持していて,
どのアドレスをどのように変換したのかを一時的に覚えています。
それにより,パケットを正確に元の PC に届けることができます。
図6 では,
NAT 箱の内側(左側)に 1 台の PC しかありませんが,
複数台のホストを置くことが可能です。
より詳細には,NAPT という技術により,
TCP/UDP のポート番号を動的に変換させ,
複数台のホストの情報を識別することが可能となります。
したがって,1 つのグローバルアドレス 130.34.246.94 で,
複数台のホストを扱うことができます。
また,
ICMP の場合にはポート番号が無いのですが,
ping コマンドのようなエコー要求パケット(ICMP Echo Request)や,
その返答であるエコー応答パケット(ICMP Echo Reply)の場合には,
識別子(Identifier)フィールドをポート番号と同じように扱うことで,
NAPT と同様なことが可能となります。
以上が NAT の簡単な説明です。
要するに,
NAT はプライベートアドレスとグローバルアドレスを
うまく変換してくれるということです[5]
。
図8 : ブロードバンドルータを用いたプライベートネットワーク構成例
図8では, ワークステーション(Workstation), PC およびネットワークプリンター(Printer)を, NAT 箱,すなわちブロードバンドルータの内側に置いてます。 ワークステーションには 172.16.0.10, PC の 1 台には 172.16.0.11, プリンターには 172.16.0.20 のプライベートアドレスを, それぞれ付けています。 ブロードバンドルータの内側(LAN 側)のインターフェースには, 172.16.0.1 のアドレスを付けています。 このプライベートネットワークのサブネットマスクを 255.255.255.192 としましょう。 この意味は,直感的には「172.16.0.0 〜 172.16.0.63 の 範囲のネットワークを構築したい」と考えると良いでしょう。
図9 : ブロードバンドルータの LAN 側の設定例
一方,グローバル側に目を向けてみます。
ブロードバンドルータの外側(WAN 側)のインターフェースには,
130.34.246.94 のアドレスを付けています。
そして,このグローバルアドレスのネットワークにおいて,
デフォルトゲートウェイ(Gateway)は 130.34.246.68 で,
サブネットマスクは 255.255.255.192 であるとします。
では,
このようなネットワーク構成(図8)を実現するための,
ブロードバンドルータの設定例を簡単に見てみましょう。
使用したブロードバンドルータは,
1章の図1において写真を
示した NTT-ME 製 の BA8000 Pro です。
市販されている多くのブロードバンドルータは,
Web ブラウザでわりと簡単に設定を行うことができます。
この BA8000 Pro も Web ブラウザで設定を行います。
図9 は,
NAT の内側,すなわち LAN 側の設定を行う画面をキャプチャーしたものです。
ブロードバンドルータの LAN 側のインターフェースに 172.16.0.1 の
プライベートアドレスを付け,
サブネットマスクを 255.255.255.192 としている様子がわかります。
図10 : ブロードバンドルータの WAN 側の設定例
また,
図10は,
NAT の外側,すなわち WAN 側の設定を行う画面をキャプチャーしたものです。
ブロードバンドルータの外側のインターフェースに 130.34.246.94 の
グローバルアドレスを付け,
サブネットマスクを 255.255.255.192 とし,
デフォルトゲートウェイを 130.34.246.68 としている様子がわかります。
ブロードバントルータの詳細な設定方法につきましては,
お使いの機器のマニュアル等を参照して下さい。
本章の最後に,
東北大学のネットワーク TAINS においてプライベートネットワークを
構築する際の注意点を述べます。
2章において,
プライベートアドレスは組織内で自由に使えると書きましたが,
TAINS においてプライベートアドレスを利用する場合には
多少注意が必要です。
東北大学情報シナジーセンターネットワークシステム学内共同利用委員会
が定める「TAINS 利用に関する技術的条件」の項番 II--1(5),
(6)および(7)では,
(5) TAINS の外部と通信しないサブネットには原則として,TAINS の一部として,
192.168.1/24 から 192.168.254/24 までのプライベートアドレスを割り当
てる。この割り当ての申請は,通常のサブネットの接続と同様である。 (6) TAINS の幹線へ経路情報を流さないサブネットは原則として,172.16/16 か ら 172.31/16 までのプライベートアドレスを独自に使用するものとする。 (7) TAINS では 10/8 のプライベートアドレスは将来の整備のために留保し使用 しないものとする。 |
図11 : NTT 東日本製: BR410VPN
ブロードバントルータで NAT によりプラベートネットワークを 構築した場合の注意点です。
ブロードバンドルータを設置したことで, 安全に関してすっかり安心してしまわないで, PC 等の個別のセキュリティ対策を引き続き取られますようお願いいたします。 |
確かに,プライベートアドレスを付けると,
例えば昨夏に流行った Welchi ワームのような直接ネットワーク越しに広まる
ウィルスに感染する可能性は減りますが,
電子メールで広まる Netsky 等のウィルスに対しては特に効果はありません。
また,お使いのブロードバンドルータに脆弱性が無いかを確認し,
最新のファームウェアを常に適用する等の対策を怠らないようお願いいたします。
本稿では,
NAT の活用に限定して述べましたが,
市販されているブロードバンドルータには,
NAT の他にも様々な機能が備わっているものが多いです。
例を挙げますと,
ファイヤーウォール,DHCP サーバ,RIP2 等によるルーティング,
UPnP,VPN,などなどです。
いろいろと活用されると面白いかと思います。
また,
多くのプロトコルは NAT を通過することができますが,
ブロードバンドルータの機種により,
NAT を越えられないプロトコルも存在するようです。
例えば GRE を使う PPTP や グローバルアドレスを持つ
ホスト同士での通信を前提とした NetMeeting 等の
アプリケーション利用において,
NAT を通過できないことがあります。
購入される際には,あらかじめ仕様を確認すると良いでしょう。
さらに,
ブロードバンドルータの転送速度にも注目し,
できるだけ高速なものを選ぶと良いでしょう。