資格道場 › レッスン一覧 › ネットワーク
ネットワーク・7/11・12分

アドレス変換・代理中継・VPN

ゴール

NAT・NAPT(IPマスカレード)・プロキシ・リバースプロキシ・VPNを、それぞれ1行で説明して区別し、選択肢から正しく選べるようになる。プロキシを経由する通信で、各パケットの宛先ポート番号が何番になるかを自力で追えるようになる。

家庭やオフィスのルータ、会社からのWeb閲覧、在宅勤務での社内接続は、どれもこのレッスンの仕組みで動いています。試験では「説明文に合う機能名を選べ」という形で、DHCP・DNS・ファイアウォールなど名前の似た仲間を並べてひっかけるのが定番です。

このレッスンで稽古する(用語チェック・過去問)

まず結論:5つを1行で言い分ける

このレッスンで扱う5つの仕組みは、どの情報を書き換えるか・誰の代わりに動くかで区別できます。下の表を最初に頭に入れてから本文を読んでください。

名前 一言でいうと 置き場所 問題文のキーワード
NAT プライベートIPとグローバルIPを相互に変換する 社内LANとインターネットの境目(ルータ) 「相互に変換」
NAPT(IPマスカレード) IPアドレスに加えてポート番号も変換し、1つのグローバルIPを複数台で共有する 同上(家庭用ルータは通常これ) 「1個のグローバルIPを複数のPCで」
プロキシサーバ 社内のクライアントの代わりに外部のWebサーバへ接続する中継役 社内LAN側 「中継」「キャッシュ」「代わりに接続」
リバースプロキシ インターネットから来たリクエストを受けて、Webサーバへ中継する Webサーバの手前 「インターネット経由のクライアントから受けたリクエストをWebサーバに中継」
VPN トンネリングと暗号化・認証で、インターネットを専用線(閉域網)のように使う 拠点間・在宅と会社の間 「トンネリング」「閉域網であるかのように」

NAT:プライベートIPとグローバルIPの変換

プライベートIPアドレスは、社内や家庭の中だけで使う住所です(例:192.168.x.x、10.x.x.x、172.16〜31.x.x)。グローバルIPアドレスは、インターネット上で世界に1つだけの住所で、インターネットと直接やり取りできるのはこちらだけです。

NAT(Network Address Translation)は、社内のPCが外に出るときに送信元のプライベートIPをグローバルIPに書き換え、戻ってきた応答では逆に書き換えて社内のPCへ届けます。試験の正解はほぼ毎回「プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能」という文です。

ただし、アドレスだけを書き換える狭い意味のNATでは、同時に外へ出られる台数はグローバルIPの個数までです。グローバルIPが1個しかないなら、次のNAPTが必要になります。

NAT:境目で住所を書き換える社内PC社内LAN側ルータNATWebサーバインターネット往き(要求)送信元192.168.0.2送信元203.0.113.1書き換え戻り(応答)宛先203.0.113.1宛先192.168.0.2逆に書き換えインターネットに出るのはグローバルIPだけ
NATは往きでは送信元のプライベートIPをグローバルIPに、戻りでは宛先のグローバルIPをプライベートIPに書き換える。

NAPT(IPマスカレード):1つのグローバルIPをみんなで使う

NAPT(Network Address Port Translation)は、IPアドレスに加えてポート番号(前のレッスンで学んだ、1台の中で通信を区別する番号)も書き換えます。Linuxでの呼び名からIPマスカレードとも呼ばれ、試験では両方の名前が出ます。

たとえるなら、会社の代表電話番号と内線番号です。外から見える番号(グローバルIP)は1つでも、内線番号(ポート番号)で「どの社員(PC)宛ての電話か」を振り分けられます。

社内のPC(変換前) ルータが外へ出すとき(変換後)
PC1 192.168.0.2 : 50001 203.0.113.1 : 60001
PC2 192.168.0.3 : 50001 203.0.113.1 : 60002

PC1とPC2がたまたま同じポート番号を使っていても、ルータが別々のポート番号に付け替えて対応表に記録するので、戻ってきた応答を正しいPCに返せます。

試験での出方:「装置AのWAN側(インターネット側)にグローバルIPアドレスが1個だけ割り当てられている。複数のPCがインターネットを使うのに必要な機能は?」という構成図つきの問題が繰り返し出ています。答えはNAPT(IPマスカレード)で、DHCP・PPPoE・パケットフィルタリングが並ぶひっかけ選択肢です。

戻りの応答はポート番号でPCを選ぶ応答パケット(インターネットから)宛先 203.0.113.1 : 60002ルータの対応表(NAPT)60001 → 192.168.0.2 : 5000160002 → 192.168.0.3 : 50001PC1192.168.0.2PC2192.168.0.3グローバルIPは同じでもポートで区別
戻ってきた応答の宛先ポート60002を対応表で引き、同じグローバルIP宛てでもPC2へ正しく届ける。

取り違えやすい「ネットワークの係」比較表

NAT・NAPTの問題では、別の機能の説明文や名前がひっかけ選択肢として並びます。それぞれ「何をする係か」で見分けます。

名前 何をする係か 見分けるキーワード
NAT プライベートIP⇔グローバルIPを変換 相互に変換
NAPT アドレス+ポート番号を変換して1つのグローバルIPを共有 1個のグローバルIPを複数台で
DHCP PCにIPアドレスを自動で配る 動的に割り当て
DNS ホスト名(ドメイン名)からIPアドレスを調べる 名前解決・対応表
PPPoE 光回線などのイーサネット上で、プロバイダへの接続とユーザ認証を行う 接続方式・ID/パスワードで接続
パケットフィルタリング 条件に合うパケットだけを通す・止める 特定の宛先だけ通過
IDS/IPS 通信を検査して攻撃や侵入を検知(IPSは遮断も)する 攻撃を検知
プロキシ 代わりに外部へ接続し、キャッシュで高速化 中継・キャッシュ
RADIUS ネットワーク接続時の利用者認証を行うサーバ・仕組み 認証

プロキシサーバ:代わりにアクセスしてくれる中継役

プロキシサーバ(proxy=代理)は、社内のPCから頼まれて、PCの代わりに外部のWebサーバへ接続する中継役です。外のサーバから見えるのはプロキシだけなので、社内PCは外と直接やり取りしません。

役割は主に3つです。キャッシュ(一度取ったWebページを手元に保存し、次から速く返す)、アクセス先の制限やログの記録といったセキュリティ確保、そして中継そのものです。

名前 何をするか プロキシとの違い
プロキシサーバ 通信を代理で中継し、キャッシュする ―
NAPT パケットのアドレス・ポートを書き換えて通す 代理で接続はしない。PCと外部サーバが(書き換え越しに)直接通信する
ファイアウォール 社内と外の境目で、許可した通信だけを通す 中継・キャッシュはしない
DMZ 社内LANとインターネットの間に設ける緩衝地帯。公開サーバを置く 機能ではなく「区画」の名前

フォワードプロキシとリバースプロキシ

ふつう「プロキシ」と言えばフォワードプロキシで、社内のクライアント側に立ちます。リバースプロキシは逆に、Webサーバの手前に立って、インターネットから来たリクエストを受け取りWebサーバへ中継します。

フォワードプロキシ リバースプロキシ
誰の代わりか 社内のクライアント 社内のWebサーバ
通信の向き 内側 → インターネット インターネット → 内側のWebサーバ
主な目的 キャッシュ・アクセス制限 負荷分散・キャッシュ・Webサーバを直接さらさない

ひっかけにはプロキシARP(ルータが別の機器に代わってARPに応答する仕組み)やDMZも並びますが、どちらも「リクエストをWebサーバに中継する」ものではありません。

フォワードプロキシリバースプロキシ社内PCプロキシインターネットWebサーバ利用者のPCインターネットリバースプロキシWebサーバクライアントの代わりWebサーバの代わり内側→インターネットインターネット→内側
点線の枠が社内。フォワードプロキシはクライアントの手前、リバースプロキシはWebサーバの手前に立つ。

プロキシ経由の通信で、ポート番号はどう流れるか

ルールは2つだけです。①要求パケットの宛先ポートは、相手が待ち受けている番号。②応答パケットは、往きの送信元と宛先を入れ替える。要求を出す側は、空いている番号(動的ポート、例:50001)をその都度使います。

flowchart LR
  A["クライアントA(例:50001番を使用)"] -->|"①要求 宛先8080"| B["プロキシB(8080番で待ち受け)"]
  B -->|"②要求 宛先80"| C["WebサーバC(80番で待ち受け)"]
  C -->|"③応答 宛先=Bが使った番号"| B
  B -->|"④応答 宛先50001"| A
# パケット 送信元ポート 宛先ポート
① A → B(要求) Aの動的ポート(例 50001) 8080
② B → C(要求) Bの動的ポート(例 60001) 80
③ C → B(応答) 80 60001
④ B → A(応答) 8080 50001

宛先が8080になるのは①だけです。8080は④では送信元側に出てくるので、ここを取り違えないことが得点の分かれ目です。

VPN:インターネットを専用線のように使う

VPN(Virtual Private Network)は、トンネリング(元のパケットを別のパケットで包んで運ぶ技術)と暗号化・認証を組み合わせ、インターネットを閉域網(関係者だけの専用網)のように使う技術です。たとえるなら、中身の見えない封筒に入れて鍵をかけ、公道(インターネット)を運ぶイメージです。

名前 何か 見分け方
VPN インターネット上に仮想の専用網をつくる トンネリング+暗号化・認証
VLAN 1つのLANをスイッチの設定で論理的に分割する LANの中の話
IKE VPN(IPsec)で使う暗号鍵を交換する手順 鍵交換
RSA 公開鍵暗号の方式の1つ 暗号方式
VPN:包んで鍵をかけ、公道を運ぶインターネット在宅PC会社LANトンネル外側:暗号化・認証つきの包み元のパケット
VPNは元のパケットを暗号化・認証つきの別のパケットで包み、インターネットの中にトンネルを通して運ぶ。
例題 1

プロキシ経由で宛先ポートが常に8080になるパケットはどれか

クライアント A がポート番号 8080 の HTTP プロキシサーバ B を経由してポート番号 80 の Web サーバ C にアクセスしているとき,宛先ポート番号が常に 8080 になる TCP パケットはどれか。

ア A から B への HTTP 要求及び C から B への HTTP 応答
イ A から B への HTTP 要求だけ
ウ B から A への HTTP 応答だけ
エ B から C への HTTP 要求及び C から B への HTTP 応答

出典:令和元年度 秋期 基本情報技術者試験 午前 問34

解き方と答えを見る
  1. 待ち受けポートを確認する:プロキシBは8080番、WebサーバCは80番で待ち受けている。要求を出す側(AやB)は、空いている動的ポート(例:Aは50001、Bは60001)を使う。
  2. 要求パケットの宛先は「相手の待ち受けポート」:A→Bの要求は宛先8080、B→Cの要求は宛先80。
  3. 応答パケットは往きの送信元と宛先を入れ替える:C→Bの応答は送信元80・宛先60001(Bの動的ポート)。B→Aの応答は送信元8080・宛先50001(Aの動的ポート)。
  4. 宛先が8080になるのは「A→Bの要求」だけ。
  5. 選択肢を検証する:アはC→Bの応答を含むが宛先はBの動的ポートなので×。ウのB→Aの応答で8080は送信元なので×。エは80番と動的ポートの組なので×。

答え:イ(AからBへのHTTP要求だけ)

例題 2

Webサーバから戻るパケットのポート番号の組合せ

PCとWebサーバがHTTPで通信している。PCからWebサーバ宛てのパケットでは,送信元ポート番号はPC側で割り当てた50001,宛先ポート番号は80であった。WebサーバからPCへの戻りのパケットでのポート番号の組合せはどれか。
送信元(Webサーバ)のポート番号宛先(PC)のポート番号
ア8050001
イ5000180
ウ80と50001以外からサーバ側で割り当てた番号80
エ80と50001以外からサーバ側で割り当てた番号50001

ア 送信元(Webサーバ)のポート番号 80,宛先(PC)のポート番号 50001
イ 送信元(Webサーバ)のポート番号 50001,宛先(PC)のポート番号 80
ウ 送信元(Webサーバ)のポート番号 80と50001以外からサーバ側で割り当てた番号,宛先(PC)のポート番号 80
エ 送信元(Webサーバ)のポート番号 80と50001以外からサーバ側で割り当てた番号,宛先(PC)のポート番号 50001

出典:基本情報技術者試験 科目A免除 修了試験 20171210 実施分 問35

解き方と答えを見る
  1. 往きのパケットを確認する:送信元ポート50001(PCが割り当てた番号)、宛先ポート80(Webサーバの待ち受け番号)。
  2. 戻りの応答は送信元と宛先を入れ替える:送信元=80、宛先=50001。
  3. サーバは同じ接続の中で応答するので、新しいポート番号を割り当てない。よって「サーバ側で割り当てた番号」を含むウ・エは×。往きと同じ向きのイも×。

答え:ア(送信元80、宛先50001)

要点(試験直前に読む)

  • NAT=プライベートIPとグローバルIPを相互に変換。NAPT(IPマスカレード)=ポート番号も変換して、1つのグローバルIPを複数台で共有する。
  • 「グローバルIPが1個・PCが複数」の構成図ならNAPT。DHCPは配る、PPPoEは接続・認証、DNSは名前解決。
  • プロキシ=社内クライアントの代わりに外部へ接続する中継役。キャッシュで高速化し、セキュリティ確保にも使う。
  • リバースプロキシ=インターネットからのリクエストを受け、Webサーバへ中継する(サーバの手前に立つ)。
  • ポート番号:要求の宛先は相手の待ち受け番号、応答は送信元と宛先を入れ替える。プロキシ経由で宛先が8080になるのはクライアント→プロキシの要求だけ。
  • VPN=トンネリング+暗号化・認証で、インターネットを閉域網のように使う。

ひっかけ

  • NATの問題に「キャッシュで表示を高速化」(プロキシ)、「攻撃や侵入を検知」(IDS/IPS)、「特定の端末宛てだけ通過」(パケットフィルタリング)が混ざる。正解は「相互に変換」の1つだけ。
  • 「1個のグローバルIPで複数PC」の問題にDHCP・PPPoEが並ぶ。DHCPはPCにアドレスを配るだけ、PPPoEはプロバイダへの接続方式で、共有を実現するのはNAPT。
  • プロキシの問題で「プライベートIPとグローバルIPを相互変換し直接通信を実現」はNATの説明。プロキシは代わりに接続するので直接通信ではない。
  • 応答パケットの宛先ポートも8080や80だと思わせる。応答は往きの送信元と宛先を入れ替えるので、宛先は要求元が使った動的ポートになる。
  • 「インターネットからのリクエストをWebサーバに中継」でフォワードプロキシを選ばせる。外から内向きならリバースプロキシ。VPNとVLANの1文字違いにも注意。

用語(20)

NAT Network Address Translation
プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能。
⚠ NAPTはポート番号も変換して1つのグローバルIPを複数台で共有する。「1個のグローバルIPを複数PCで」ならNAPT。
NAPT(IPマスカレード) Network Address Port Translation
IPアドレスとポート番号をまとめて変換し、1つのグローバルIPアドレスを複数の端末で共有する仕組み。
⚠ NAT(アドレスだけ変換)、DHCP(アドレスを配るだけ)と区別する。
プライベートIPアドレス ぷらいべーとあいぴーあどれす
社内や家庭のLANの中だけで使える、自由に割り当ててよいIPアドレス。
⚠ グローバルIPアドレスはインターネット上で一意で、外と直接通信できる。
グローバルIPアドレス ぐろーばるあいぴーあどれす
インターネット上で世界に1つだけ割り当てられるIPアドレス。
⚠ プライベートIPアドレスはLAN内専用で、そのままではインターネットに出られない。
DHCP Dynamic Host Configuration Protocol
ネットワークにつないだ端末へ、IPアドレスなどの設定を自動で割り当てる仕組み。
⚠ アドレスを「配る」のがDHCP、「書き換える」のがNAT/NAPT。
DNS Domain Name System
ホスト名(ドメイン名)とIPアドレスの対応を調べて答える仕組み。
⚠ 「対応表をもち問合せに答える」ならDNS。アドレス変換のNATとは別。
PPPoE PPP over Ethernet
イーサネット上でプロバイダへの接続とユーザ認証を行う接続方式。
⚠ 接続のための方式であり、グローバルIPを複数台で共有する機能ではない(それはNAPT)。
パケットフィルタリング ぱけっとふぃるたりんぐ
アドレスやポート番号などの条件で、パケットを通すか止めるかを決める機能。
⚠ 「特定の端末宛てだけ通過させる」はこれ。アドレスを書き換えるNATとは別。
プロキシサーバ(フォワードプロキシ) ぷろきしさーば
社内のクライアントの代わりに外部サーバへ接続する中継役で、キャッシュによる高速化やセキュリティ確保にも使う。
⚠ NAPTは代理接続をせず、アドレスとポートを書き換えて通すだけ。
リバースプロキシ りばーすぷろきし
Webサーバの手前に置き、インターネットから来たリクエストを受けてWebサーバへ中継する仕組み。
⚠ フォワードプロキシは社内クライアントの外向き通信を代理する。向きが逆。
キャッシュ きゃっしゅ
一度取得したデータを手元に保存し、次回から速く返す仕組み。
⚠ 問題文に「キャッシュして高速化」があればプロキシ。NATの説明ではない。
ファイアウォール ふぁいあうぉーる
社内ネットワークと外部の境目で、許可した通信だけを通す仕組み。
⚠ 通信の中継やキャッシュはしない(それはプロキシ)。
DMZ DeMilitarized Zone(非武装地帯)
社内LANとインターネットの間に設ける、公開サーバを置くための緩衝地帯。
⚠ 機能ではなくネットワーク上の区画の名前。
IDS/IPS Intrusion Detection System/Intrusion Prevention System
通信を検査して攻撃や侵入を検知する仕組みで、IPSは遮断まで行う。
⚠ 「攻撃や侵入を検知」はIDS/IPS。NATやプロキシの説明ではない。
RADIUS Remote Authentication Dial In User Service
ネットワークに接続する利用者を認証するためのプロトコル(通信の取り決め)。
⚠ 認証の仕組みであり、アドレス共有のNAPTとは無関係。
VPN Virtual Private Network
トンネリングと暗号化・認証により、インターネットを閉域網のように使う技術。
⚠ VLANはLANを論理的に分割する技術。1文字違いに注意。
トンネリング とんねりんぐ
元のパケットを別のパケットで包み込んで運ぶ技術。
VLAN Virtual LAN
物理的には1つのLANを、スイッチの設定で複数のグループに論理的に分ける技術。
⚠ インターネット越しに閉域網をつくるのはVPN。
IKE Internet Key Exchange
IPsecによるVPNで使う暗号鍵を安全に交換する手順。
⚠ 鍵交換の手順であり、VPNそのものではない。
動的ポート(エフェメラルポート) どうてきぽーと
通信を始める側がその都度空いている番号から一時的に使うポート番号。
⚠ ウェルノウンポート(HTTPの80など)はサーバが待ち受ける決まった番号。

このレッスンの過去問

このレッスンで稽古する