平成14年度テクニカルエンジニア(ネットワーク)午後Ⅰ問3設問4解答と解説

目次

解答

g5のIPアドレスへのARP要求に対してeth0のMACアドレスで応答する設定。(40字)

解説

問題文中に記されているトラブルの具体的な解決方法を記述する問題です。この問題に解答するためには、次の2つの知識が必要です。

・NATによるアドレス変換
http://www.n-study.com/network/nat.htm
http://www.n-study.com/network/ipmasq.htm

・LANにおけるTCP/IPの通信の手順とアドレス解決
http://www.n-study.com/network/transmission.htm
http://www.n-study.com/network/arp.htm
http://www.n-study.com/network/arpheader.htm

※基本的なことを復習したい場合は、それぞれのURLを参照してください

さて、実際に問題を考えてみましょう。トラブルとして、問題文には次のような記述があります。

設定後のテストにおいて、インターネットからR社のWebサーバの閲覧ができないことがわかった

ここでインターネットからR社のWebサーバにアクセスするときにどのような経路を通るかを考えたものが次の図です。

R社では、設問2にあったとおりLAN2の「プロキシサーバ」はリバースプロキシ機能も備えています。つまり、インターネットから見るとR社の「Webサーバ」は、「プロキシサーバ」であるかのように見えます。

そして、「プロキシサーバ」のIPアドレスである「p2」は、「ファイアウォール」でアドレス変換され、「g5」となっています。インターネット上のさまざまなコンピュータは、R社の「Webサーバ」にアクセスするときには、この「g5」というIPアドレスめがけてアクセスしてくるわけですね。もちろん、そのためには、Webサーバのホスト名に対するDNSのAレコードとして、「g5」のIPアドレスを登録しておく必要があります。

インターネット上のコンピュータから、「g5」めがけてWebアクセスの要求がやってくると、インターネットの中をルーティングされて(ここの部分は、BGPでルーティングされてきます)、R社の「ルータ」にやってきます。

R社の「ルータ」は、やってきたパケットの送信先IPアドレス「g5」を見て、パケットのルーティングを行います。問題文には明記されていませんが、通常、グローバルアドレスは連続したアドレス、つまりひとつのサブネットが与えられるので、R社のグローバルアドレス「g1」~「g6」は同じサブネット上、つまりLAN1上のアドレスになっているはずです。

「ルータ」は、ルーティングテーブルを見るとLAN1上に「g5」がいると判断します。同じサブネット上なので、直接通信ができるはずだと思います。LAN1に送出するイーサネットフレームの送信先MACアドレスを求めるために、「g5」へARP要求をLAN1にブロードキャストします。

でも、実際にはLAN1上には「g5」というアドレスを持っているコンピュータはいません。「g5」はファイアウォールでNAT変換に使っているアドレスですね。
そのため、「ファイアウォール」が「g5」に対するARP要求に応答しなければ、「ルータ」は、送信先MACアドレスがわからないので、イーサネットフレームを作ることができなくなり、結局通信することができません。

「ルータ」から「g5」のIPアドレスへ通信させるためには、「ファイアウォール」が「g5」のIPアドレスに対するARP要求に応答して、自分のところへパケットを送ってもらうようにしなくてはいけません。
「ファイアウォール」で「g5」のARP要求に応答して、MACアドレス「eth0」を返せば、「ルータ」はイーサネットフレームを作成してパケットを「ファイアウォール」にルーティングすることができます。

ルーティングされたパケットは、「ファイアウォール」に到達すると送信先IPアドレス「g5」がアドレス変換により、「プロキシサーバ」の「p2」に変わります。
そして、「プロキシサーバ」がWebアクセスの要求を本来の「Webサーバ」に中継することになります。

これで、めでたくインターネットからR社のWebを見ることができるようになります。

最新過去問の解答と詳細解説はGene製作のテクニカルエンジニア(ネットワーク)
平成15,16,17年度分午後問題完全解説集!

詳細はこちら→http://www.n-study.com/library/2006/05/post.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA