付録:いわゆるブロードバンドルータについて

光ケーブル等によるインターネット常時接続が一般的になっています。その際、 いわゆる「ブロードバンドルータ」 なるものを買ったりレンタルし たりして、家庭内で wi-fi 接続している人が多いと思われます。
一人暮らしの場合はスマホだけ、という場合が多いかもしれませんが…
つまり、冷蔵庫やテレビとまではいかないですが、普段の生活でかかわりあう 可能性がある身近なものとなってきています。しかし、その中味(何をやって いるか)について詳しく説明できる人はさほど多くは無いようです。そこで、 これまで学んだTCP/IP の復習をかねて、一般的なブロードバンドルータに搭載 されている諸技術について見てみます。

ブロードバンドルータの接続(トポロジー)

ブロードバンドルータには普通「WAN (インターネット)側」「LAN(家庭 内)側」の2種類のポート がそれぞれ用意されています。 WAN 側は光モ デムやCATVモデムなど、外部のネットワークと接続するためのポートです。 場合によってはルータがこのモデムを含んでいて、電話線を直接つな ぐ場合もあるようです。 LAN側は、ハブ として構成され、 1つあるいは複数のポート、つまりイーサネットのコネクタを持っています。 これに家庭内のPCなどの機器を接続します。ちなみに普通のルータやスイッチ ングハブであれば、単に同じポートが複数並ぶだけであり、ブロードバンドルー タのように内部と外部で区別されることはありません。

ブロードバンドルータでは、このように外部と内部とを切り分け「内部か ら外部へのアクセスは可能だが、外部から内部へのルーティングは行えないよ うにする」ことが可能となっています。これはもちろん外部からの不正 アクセスを禁止するためで「簡易ファイアウォール機能」と表記されているブ ロードバンドルータ製品は多くの場合これです。れはあくまで簡易版であり完 璧なものではないことは注意が必要です。 家庭内環境やSOHO環境では、当然そのような(ある意味一方通行の)利用が主 であるということで、ブロードバンドルータは、ローカルネットワークとイン ターネットとを接続することを前提にして最初からこれらの機能を搭載してい るのが通常のルータとの大きな違いとなるでしょう。

ブロードバンドルータの外側への対応:接続初期設定

まずブロードバンドルータに電源をいれて、最初にされるべきことは、IP 接続の確立です。どういうことかというと、事前に(電話局内等で)ちゃ んと工事がされていたとしても、それはデータリンク層レベルでの接続のため のものであり、IP レベルで接続をするためには何処のプロバイダにつなぐか、 とか、自分の IP アドレスは何か、といった設定が必要です。 この場合、認証等が必要ということもあり、単なる DHCP ではなく、 モデム等を経由してPPPoA, PPPoE といったプロトコルにより、 IP 層レベルでの接続を確立 をするわけですが、詳細は略します。 ここでは、なんらかの手段でインターネット側のIPアドレスを設定しなく てはいけない、ということを最低限理解しておいてください。
yahoo!BB 等ではこの初期認証機構などもルータ内部に (DHCP のように)自動 的に設定できるようになっているものもあるようです(伝聞につき未確認)

ネットの内側のPCの対応

普通のブロードバンドルータではLAN側には、PCを複数接続できるよ うになっています。それで、家庭内などで利用している場合の多くは IP アド レスは自分で設定していません。ダイアルアップの場合は (ppp で接続した時 に) IP アドレス等の設定情報を動的に取得して設定していたわけですが、ルー タ接続の場合は会社等と同様LAN 接続の形式となり、その場合は DHCP でIPア ドレスをもらってくることになります。 つまり、ブロードバンドルータはLAN側に対して DHCP のサーバ機能を持って いなくてはいけない(でないと普通の人は使えない)わけで、実際ほとんどの ルータはその機能をそなえています。

ネットの内外の対応づけ

外部から内部へのアクセスを遮断するだけなら、それはそんなに難しいことで はなく、ルータでのルーティングを禁止してしまえば実現できます。 ルーティングテーブルを元に、ルータはルーティングを行うので、ルーティン グテーブルの内容を削除したり、そのルーティング機能自体を動作しないよう にすればいいことになります。しかし、それでは当然、内部から外部へのアク セスも行えなくなってしまい、意味なしです。 そこでルータでは、パケットをルーティングする時に、内部から外部へと送信 されるIPパケットをあたかもルータ自身が外部とアクセスしているかのように 書き換え、仮想的に内部ノードと外部が通信できるようにする手法が用いられ ます。これにはいくつかの方法がありますが、ブロードバンドルーターでは 「NAT (Network Address Translation)」か「IPマスカレー ド(NAPT(Network Address Port Translation)あるいは NAT+ とも呼 ばれる)」という2つの方式が主に使われています。NAT やIPマスカレードは、 元々はIPアドレスの枯渇に対応するため足りなくなったIPアドレスを補うため に、IPアドレスのある特定の範囲をプライベートアドレスとして、イントラネッ トなど、インターネットに直接接続されないノードで使用するためのものなわ けです。

NAT

NATでは、ルータでは、プライベートアドレスがふられた内部ノードからのIP パケットを受け取ると、いちど内部でIPパケットの送信元アドレスルータの外部ポート(ブロードバンドルータではWAN側ポート)の IPアドレスへと変換して、外部ノードへと送信します。つまり、外部ノードか ら見ればルータからのパケットにしか見えないことになるわけです。言いかた をかえると、ネットワーク層(IP) での変換による接続です。 TCPの場合には往復のパケットが発生するわけですが、単純に「往」のパケッ トのみを変換したのでは、ルータへと戻ってきた「復」のパケットを送信元の 内部ノードへと返せなくなるので、ルータでは「アドレス変換テーブル」 というものを保持しておき、通信ごとに対応関係を管理して正しく内部 ノードへと「復」パケットも戻すようにしています。 NATを正常に機能させるには、ルータは内部ノードの数だけグローバルア ドレスを持っていなければならないので、グローバルアドレスの節約に はつながらなくなり、よくよく考えるとあまり便利とはいえません。また、同 じ送信元のTCP/UDPポートを使用するアクセスを複数同時に行うことは原理上 無理なので、ただ1つだけのグローバルアドレスでNATを行おうとすると、ある アクセスが発生している間はほかのアクセスが行えなくなる場合もあるわけで す。

IPマスカレード

そこで考えられたのがIPマスカレードです。IPマスカレードでは、IPアドレス のほかにTCP/UDPポートも変換します。つまり、少なくともTCP/ UDPポート数の上限までは同時アクセスが可能になります。言いかたをかえる と、トランスポート層(TCP/UDP) での変換による接続です。
ip-masq
NAT やIPマスカレードは、IPアドレス枯渇の問題を解決すると同時 に、セキュリティ面でも大きな効果があります。WAN側からLAN側へ、 つまりプライベートアドレスのような「ルーティング不可能な」アドレスには、 原理的に到達不可能です。というのは、インターネット上に存在するルータは プライベートアドレスがインターネット上で使用されていないことを知ってお り、どのルータのルーティングテーブルにもプライベートアドレスはあり得な いからです。

ポートフォワーディング、DMZ

上述の技術により、外部から内部へのアクセスは原則禁止されてるわけですが、 外部から内部へとまったくアクセスできないのでは困る、というケースもあり 得ます。例えばオンラインゲームやインスタント・メッセンジャーなどで、 外部から内部のノードへとセッションが張られ実行される場合もあ るからです。 この場合IPマスカレードと逆のことを行えばよいわけです。この場 合 IP マスカレードによって確保されるセキュリティとは反するのは理解が必 要です。つまり外部からルータの外部ポートへのアクセスが発生した際には IPパケットの送信先としてルータのWAN側IPアドレスが指定されているので、 これを中継するルータが内部ノードのIPアドレス(プライベートアドレス)に 差し替えます。ここで、複数ある内部ノードのどれに対してパケットを送れば よいのかルータが判断するのは不可能なので、事前に定義しておかなくてはい けません。 ある特定のTCP/UDPポートへのアクセスがあった場合、あらかじめ指定したノー ド(のIPアドレス)へと転送する方法を「(ポート)フォワーディング」 「アドレス変換/置換」などと呼びます。 これとは別に、TCP/UDPポートを特定せず、すべてのアクセスを指定したノー ドへと転送する方法を「DMZ(DeMilitarized Zone:非武装地帯)」 と呼ぶことがあります。いわば無条件フォワーディングです。 ちなみに本来のファイアウォール製品としてのDMZとは、別に DMZ用セグ メント用のポートを用意し、そこに対して外部からのアクセスを許可す る方法をとっていて、内部ネットワークのセグメントとは物理的に切り離され ています。ところが、ブロードバンドルータに搭載されているDMZでは大抵 内部セグメント上の特定ノードへと転送する仕組みとなっているた め、内部セグメントに外部からのIPパケットが到達することになっていて、動 作面では微妙に異なることは注意が必要です。

パケットフィルタリング

簡易ファイアウォール機能を実現する要素には他にパケットフィルタリン グがあります。パケットフィルタリングはその名の通り、ある一定のルー ルに基づいて特定のパケットだけをふるい落とす機能です。ルータ としては基本的な機能で、特定のIPアドレスやポートなどの条件に該当するパ ケットのルーティングを禁止/許可します。 通常のルータでは、先のIPマスカレード機能を使わなくともほぼ同様のことが できるわけですが、ブロードバンドルータでは、IPマスカレードによってWAN 側→LAN側のルーティングが規制される前提があるので、逆にLAN側→WAN側だ けのパケットフィルタリングのみに対応している場合が多いようです。また設 定できるルールセットに制限がある場合や、あらかじめ用意さ れたルールセットで設定できる場合もあるようです。

セキュリティ的観点からいうと、基本は「使わないものは通さない」 です。大抵の場合は外から中への通信は不要で、自宅サーバをたててる にしても、22(ssh),80(http),443(https) くらいを通しておけば充 分でしょう。あと必要に応じて IM 等のパケットも通す必要があるのかもしれ ませんが、これらについては UPnP (詳細は略)等で対処すべきものでしょう。


講義用スタイル
印刷用スタイル (開いてから、ページを再度更新してください)