こんにちは!ネットワークの裏側を覗き見するのが大好きな技術系ライターです。
皆さんは、カフェや空港などの「公共Wi-Fi」を使ったとき、なんとなくザワッとした不安を覚えたことはありませんか?「もしかして、今打っているパスワードや閲覧しているWebサイトの通信、誰かに覗き見されているんじゃ……」なんて想像すると、冷や汗が出ちゃいますよね。
そんな不安を解消してくれるのが「個人向けVPN」ですが、実はその歴史を紐解くと、何十年も前から現役で頑張っている「レガシーな仕組み」が隠されています。その代表格が、今回お話しする「L2TP/IPsec」です。
「なんだかアルファベットと数字の羅列で難しそう……」と思いましたか?大丈夫です!一歩ずつ、身近な例えに置き換えながら優しく紐解いていきましょう!
—
街の郵便配達に例えてみよう!VPNのトンネリングとは?
まず、「VPN(Virtual Private Network)」がやっていることを、現実世界の「郵便配達」に例えてみますね。
あなたがカフェの席からインターネットの海へ手紙(データ)を送るとき、通常はむき出しのハガキをそのままポストに投函するようなものです。これだと、途中の配達員(Wi-Fiの提供者や、悪意あるハッカー)に中身を読まれてしまいますよね。
そこで、VPNの出番です。
VPNを使うと、「頑丈なカギ付きのトランクケース」の中にあなたの手紙を入れ、さらにそれを「専用の秘密のパイプ(トンネル)」に通して目的地まで送り届けてくれます。
この「トランクケース」や「パイプ」を作るためにタッグを組むのが、L2TPとIPsecという2つの仕組みなんです。
- L2TP(Layer 2 Tunneling Protocol): データをトランクケース(箱)に綺麗に詰めて、宛先を書き込む役割。
- IPsec(Internet Protocol Security): そのトランクケースにガチガチの鍵をかけ、さらに頑丈な包み紙で覆って安全に運ぶ「警備システム」の役割。
この2つが合体した「L2TP/IPsec」は、いわば「頑丈なカギをかけたトランクを、秘密の地下パイプで輸送する大金庫システム」というわけです。
—
主役たちの正体:UDP 500番、1701番、そしてESPパケット
さて、このL2TP/IPsecがネットワークの世界でどのように通信を行っているのか、もう少しだけ踏み込んでみましょう。
ここで登場するのが、ネットワークの「部屋番号」であるポート番号や、荷物の包み方を示すパケットの種類です。どれも実務やトラブルシューティングで必ず耳にする重要なキーワードですよ!
1. 準備の合図は「UDPポート500番」から始まる
まず、あなたのパソコンとVPNサーバーが「ねぇ、今から安全な通信の約束をしようよ!」と握手を交わすところから始まります。これを専門用語で「セキュリティアソシエーション(SA)の確立」と呼びます。
この「事前の秘密の合言葉の確認」に使われるのが、UDPポート500番です。まるで、要塞の門番に向かって「合言葉はオープン・セサミ!」と叫ぶようなイメージですね。
2. 荷物を包む「ESPパケット」
無事に合言葉が一致すると、いよいよ通信のスタートです。ここでデータを守るために使われるのがESP(Encapsulating Security Payload)というプロトコル。
こいつは、あなたのデータ(パケット)を丸ごと暗号化し、「中身が見えないように頑丈なカギ付きの封筒(ESPパケット)」に入れてしまいます。途中のルーターからは「なんか分厚いカプセルが流れてきたぞ、中身は全然見えないな」という状態になるわけです。
3. トンネルの形を作る「UDPポート1701番」
暗号化されて守られた荷物は、今度はL2TPという仕組みによって包み直され、UDPポート1701番を使ってトンネルの中をゴロゴロと転がっていきます。
つまり、全体の流れをまとめるとこうなります!
1. UDP 500番で「安全な警備体制(IPsec)」の契約を結ぶ。
2. データを暗号化し、ESPでガチガチに保護する。
3. UDP 1701番を使って、L2TPのトンネルの中を目的地までパケットが駆け抜ける。
なんだか、パケットたちが役割分担をしながら、手をつないでネットワークを旅している姿が目に浮かびますよね。
—
現場で役立つ!ルーター・ファイヤーウォール設定の勘所
インフラエンジニアやネットワーク管理者の皆さんにとって、このL2TP/IPsecを扱う上で避けて通れないのが「ルーターやファイアウォールの穴あけ(ポート開放)」です。
もし社内サーバーや自宅のVPNルーターに対してL2TP/IPsecを通したい場合、ファイアウォール側で以下のトラフィックを確実に許可してあげる必要があります。
許可すべきポートとプロトコル一覧
- UDP 500 (ISAKMP / IKE:鍵交換の合図に必須)
- UDP 4500 (NATトラバーサル:ルーターの裏側にいる端末救出用。これがないと繋がらないことが多い現代の必須ポート!)
- IPプロトコル番号 50 (ESP:暗号化された実データを流す)
参考までに、Linux(iptablesやUFWなど)や一般的なルーターの設定ファイルをイメージしたサンプルコードを見てみましょう。実務の現場ではこのように記述してパケットの通行を許可します。
# ========================================================
# Linux (iptables) における L2TP/IPsec 通信許可のサンプル設定
# ========================================================
# 1. 鍵交換(IKE)のための UDP 500番 を許可
iptables -A INPUT -p udp --dport 500 -j ACCEPT
# 2. NATトラバーサル(NATT)のための UDP 4500番 を許可
# (※家庭用ルーターなどでIPアドレス変換が行われている場合に超重要です)
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
# 3. 暗号化された実データ(ESPパケット)の通信を許可
# (※ポート番号ではなく「IPプロトコル 50番」を指定する点に注意!)
iptables -A INPUT -p 50 -j ACCEPT
# 4. L2TPのトンネル通信(UDP 1701番)を許可
iptables -A INPUT -p udp --dport 1701 -j ACCEPT
> 💡 実務のワンポイントアドバイス:
> トラブルシューティングの際、「あれ、UDP 500番を開けたのに繋がらないぞ?」というときは、大体の場合においてUDP 4500番かIPプロトコル 50番(ESP)が途中のルーターやプロバイダーにブロックされています。パケットキャプチャ(tcpdumpなど)を仕掛けて、どこでパケットが迷子になっているか追跡するのがエンジニアの腕の見せ所ですよ!
—
まとめ:レガシーだからこそ愛おしい、確かな仕組み
今回は、L2TP/IPsecにおけるUDPポート500番・1701番、そしてESPパケットの役割について、郵便配達やトランクケースに例えながら解説してきました。
L2TP/IPsecは、現代の最先端技術(WireGuardやIKEv2など)に比べると、少し設定が複雑だったり、カプセル化のオーバーヘッド(包み紙が厚すぎて実データの割合が減ること)があったりと、レガシー感は否めません。
しかし、「ほとんどすべてのOSやデバイスに標準で対応している」という圧倒的な互換性の高さは、今なお現役バリバリで私たちのプライバシーを守り続ける強力な武器です。
仕組みをしっかり理解して味方につければ、どんな公共Wi-Fiのジャングルだって怖くありません。ぜひ今日の知識を、日々のインフラ運用やセキュリティ対策に役立ててみてくださいね!
コメント