アドレス変換・代理中継・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が必要になります。
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・パケットフィルタリングが並ぶひっかけ選択肢です。
取り違えやすい「ネットワークの係」比較表
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サーバに中継する」ものではありません。
プロキシ経由の通信で、ポート番号はどう流れるか
ルールは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つ | 暗号方式 |
プロキシ経由で宛先ポートが常に8080になるパケットはどれか
ア A から B への HTTP 要求及び C から B への HTTP 応答
イ A から B への HTTP 要求だけ
ウ B から A への HTTP 応答だけ
エ B から C への HTTP 要求及び C から B への HTTP 応答
解き方と答えを見る
- 待ち受けポートを確認する:プロキシBは8080番、WebサーバCは80番で待ち受けている。要求を出す側(AやB)は、空いている動的ポート(例:Aは50001、Bは60001)を使う。
- 要求パケットの宛先は「相手の待ち受けポート」:A→Bの要求は宛先8080、B→Cの要求は宛先80。
- 応答パケットは往きの送信元と宛先を入れ替える:C→Bの応答は送信元80・宛先60001(Bの動的ポート)。B→Aの応答は送信元8080・宛先50001(Aの動的ポート)。
- 宛先が8080になるのは「A→Bの要求」だけ。
- 選択肢を検証する:アはC→Bの応答を含むが宛先はBの動的ポートなので×。ウのB→Aの応答で8080は送信元なので×。エは80番と動的ポートの組なので×。
答え:イ(AからBへのHTTP要求だけ)
Webサーバから戻るパケットのポート番号の組合せ
| 送信元(Webサーバ)のポート番号 | 宛先(PC)のポート番号 | |
|---|---|---|
| ア | 80 | 50001 |
| イ | 50001 | 80 |
| ウ | 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
解き方と答えを見る
- 往きのパケットを確認する:送信元ポート50001(PCが割り当てた番号)、宛先ポート80(Webサーバの待ち受け番号)。
- 戻りの応答は送信元と宛先を入れ替える:送信元=80、宛先=50001。
- サーバは同じ接続の中で応答するので、新しいポート番号を割り当てない。よって「サーバ側で割り当てた番号」を含むウ・エは×。往きと同じ向きのイも×。
答え:ア(送信元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)
プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能。
⚠ NAPTはポート番号も変換して1つのグローバルIPを複数台で共有する。「1個のグローバルIPを複数PCで」ならNAPT。
IPアドレスとポート番号をまとめて変換し、1つのグローバルIPアドレスを複数の端末で共有する仕組み。
⚠ NAT(アドレスだけ変換)、DHCP(アドレスを配るだけ)と区別する。
社内や家庭のLANの中だけで使える、自由に割り当ててよいIPアドレス。
⚠ グローバルIPアドレスはインターネット上で一意で、外と直接通信できる。
インターネット上で世界に1つだけ割り当てられるIPアドレス。
⚠ プライベートIPアドレスはLAN内専用で、そのままではインターネットに出られない。
ネットワークにつないだ端末へ、IPアドレスなどの設定を自動で割り当てる仕組み。
⚠ アドレスを「配る」のがDHCP、「書き換える」のがNAT/NAPT。
ホスト名(ドメイン名)とIPアドレスの対応を調べて答える仕組み。
⚠ 「対応表をもち問合せに答える」ならDNS。アドレス変換のNATとは別。
イーサネット上でプロバイダへの接続とユーザ認証を行う接続方式。
⚠ 接続のための方式であり、グローバルIPを複数台で共有する機能ではない(それはNAPT)。
アドレスやポート番号などの条件で、パケットを通すか止めるかを決める機能。
⚠ 「特定の端末宛てだけ通過させる」はこれ。アドレスを書き換えるNATとは別。
社内のクライアントの代わりに外部サーバへ接続する中継役で、キャッシュによる高速化やセキュリティ確保にも使う。
⚠ NAPTは代理接続をせず、アドレスとポートを書き換えて通すだけ。
Webサーバの手前に置き、インターネットから来たリクエストを受けてWebサーバへ中継する仕組み。
⚠ フォワードプロキシは社内クライアントの外向き通信を代理する。向きが逆。
一度取得したデータを手元に保存し、次回から速く返す仕組み。
⚠ 問題文に「キャッシュして高速化」があればプロキシ。NATの説明ではない。
社内ネットワークと外部の境目で、許可した通信だけを通す仕組み。
⚠ 通信の中継やキャッシュはしない(それはプロキシ)。
社内LANとインターネットの間に設ける、公開サーバを置くための緩衝地帯。
⚠ 機能ではなくネットワーク上の区画の名前。
通信を検査して攻撃や侵入を検知する仕組みで、IPSは遮断まで行う。
⚠ 「攻撃や侵入を検知」はIDS/IPS。NATやプロキシの説明ではない。
ネットワークに接続する利用者を認証するためのプロトコル(通信の取り決め)。
⚠ 認証の仕組みであり、アドレス共有のNAPTとは無関係。
トンネリングと暗号化・認証により、インターネットを閉域網のように使う技術。
⚠ VLANはLANを論理的に分割する技術。1文字違いに注意。
元のパケットを別のパケットで包み込んで運ぶ技術。
物理的には1つのLANを、スイッチの設定で複数のグループに論理的に分ける技術。
⚠ インターネット越しに閉域網をつくるのはVPN。
IPsecによるVPNで使う暗号鍵を安全に交換する手順。
⚠ 鍵交換の手順であり、VPNそのものではない。
通信を始める側がその都度空いている番号から一時的に使うポート番号。
⚠ ウェルノウンポート(HTTPの80など)はサーバが待ち受ける決まった番号。
このレッスンの過去問
- NATの機能(プライベート・グローバルIPアドレス変換)平成29年度 秋期 基本情報技術者試験 午前 問33
- NAPT(IPマスカレード)によるグローバルIP共有令和元年度 秋期 基本情報技術者試験 午前 問33
- プロキシサーバの機能基本情報技術者試験 科目A免除 修了試験 20220612 実施分 問33
- リバースプロキシの定義基本情報技術者試験 科目A免除 修了試験 20250608 実施分 問26
- プロキシ経由通信のTCPポート番号の流れ令和元年度 秋期 基本情報技術者試験 午前 問34
- VPNの定義基本情報技術者試験 科目A免除 修了試験 200912 実施分 問38