VPNには様々なプロトコルがあり、プロトコルによってはルーターを超えて通信できないことがあります。ルーターを超えて通信するには、ルーターがVPNパススルー機能を持っている必要があります。この記事では、なぜVPNがルーターを超えて通信できないか、どのような仕組みで通信できるようにするのかを、わかりやすく解説します。
VPNパススルーとは何か
VPNパススルーの概要、必要性、仕組みについて解説します。
VPNパススルーとは
「VPNパススルー(VPN Pass Through」とは、多くのルーターに備わっている機能で、VPNパケットを認識し、LAN側(内)からWAN側(外)に通過させる仕組みのことです。
逆に言うと、VPNパススルー機能がないルーターの場合、ルーターを超えてVPN接続できない可能性があります。
VPNパススルーの必要性
ルーターは、「NAPT(Network Address Port Translation)」という、ローカルIPアドレス(およびポート番号)とグローバルIPアドレスを変換する役割を持っています。
VPNには様々なプロトコル(方式)があり、プロトコルによってはIPアドレスやポート番号が隠されているため、NAPTによるアドレス変換ができず、ルーターを超えて通信できません。
VPNパススルーはそのプロトコルを認識し、通常のNAPTとは異なる方式で通過させる機能です。
VPNパススルーは、基本的に次の3つのVPNプロトコルを対象としています。
- PPTP(Point to Point Tunneling Protocol)
- L2TP(Layer 2 Tunneling Protocol)
- IPsec(Internet Protocol Security)
また、以下のようなVPNプロトコルは、最初からNAPT環境下でも通信できるように設計されているので、VPNパススルー機能は必要ありません。
- OpenVPN
- IKEv2(Internet Key Exchange version 2)
- SoftEther
- WireGuard
NATタイプとは? 変更するにはどうしたらいいの?
ゲーム機がオンライン接続できない場合、「NAT超えに失敗しました」「NATタイプをご確認ください」などのメッセージが表示されることがあります。そもそもNATとは何でしょうか。この記事では、NATの基本 ...
VPNパススルーの仕組み
VPNパススルーの仕組みは、VPNプロトコルによって異なります。その概要をご説明します。
PPTP
PPTPは、「TCPポート番号1723」と「GREプロトコル」を用いて通信をします。
通常、ルーター配下には複数の機器が接続されているので、ルーターはポート番号を利用して、複数のローカルIPアドレスを1つのグローバルIPアドレスにまとめ上げます。
GREにはポート番号がないため、この処理ができません。
そのためルーターは、TCPポート番号1723とGREを通過させた後に、そのセッション情報を記憶して管理することで、他の通信と区別をしています。
L2TP
L2TPは、「UDPポート番号1701」を使用します。
基本的に、このポート番号がブロックされなければ通信できますが、複数台の機器がL2TPで通信をした時に、そのセッションの区別ができなくなる場合があります。
VPNパススルーを有効にすると、このセッション管理が適切に行なわれるようになります。
AndroidでL2TPが廃止されたのはなぜ? 復活することはできる?
2024/8/25 Google
L2TPのメリットの一つは、幅広いデバイスが標準で対応していることですが、Androidではその機能が廃止されています。この記事では、L2TPの概要と、廃止された理由、それを復活させる方法について、わ ...
IPsec
IPsecには、「IKE」「ESP」「AH」という複数のプロトコルがあり、「IKE」はUDPポート番号500を使用しますが、「ESP」と「AH」にはポート番号がありません。そのため、VPNパススルーのセッション管理によって通信できるようにします。
また「ESP」は、データが改ざんされていないことを保証しますが、IPアドレスを書き換えるとその検証に失敗してしまいます。
そのため、UDPパケットでカプセル化して、UDPポート番号4500を通るようにします。書き換えるのは追加された部分となります。
この処理を「NATトラバーサル(NAT-T)」と言います。NAT-Tはルーターの機能ではなく、IPsecの処理の話なので、厳密にはVPNパススルーではありません。
IPsecのNAT-Tと、ルーターのVPNパススルーが合わさって、VPN通信ができていると言えます。
IPSec-VPNとは? 他のVPN方式との違い
2024/6/22
この記事では、IPSec-VPNとは何かについて、SSL-VPN、IP-VPN、L2TPとの比較を混じえて、わかりやすく解説しています。IPSecの機能と目的、プロトコル、通信モードと、メリット・デメ ...
VPNパススルーは無効にするべき?
VPNパススルーを有効にすると、特定のプロトコルやポート番号を通過させることになるので、ルーターのセキュリティが弱くなります。
VPNを使用していないのであれば、無効にしておいた方がよいでしょう。
VPNパススルーと似た用語の違い
VPNパススルーと、NATトラバーサル、IPsecパススルー、IPマスカレード、VPNマルチパススルーの違いについて解説します。
NATトラバーサルとの違い
「NATトラバーサル(NAT traversal)」には、一般的な意味と、IPsecのオプションという、2つの使われ方があります。
一般的なNATトラバーサル
NATトラバーサルとは、NATをはさんで通信をする際に発生する問題を解決する技術一般のことで、日本語で「NAT超え」と呼ばれています。
NATトラバーサルとVPNパススルーは、微妙に異なる概念ですが、VPNパススルーはNATトラバーサルの一つとみなすこともできます。
NATトラバーサルは、VPN以外にも、VoIPやP2Pで必要となり、下記のような技術があります。
- STUN(Session Traversal Utilities for NAT)
- TURN(Traversal Using Relays around NAT)
- ICE(Interactive Connectivity Establishment)
- UPnP(Universal Plug and Play)
- NAT-PMP(NAT Port Mapping Protocol)
- ALG(Application Layer Gateway)
IPsecのNATトラバーサル
もう1つのNATトラバーサルは、IPsecにおいてESPパケットをカプセル化することで、「NAT-T」と書いて区別します。
NAT-TはVPNサーバー・クライアントの設定、VPNパススルーはルーターの設定であり、補完関係にあります。
IPsecパススルーとの違い
「VPNパススルー」と「IPsecパススルー」は、ほとんど同じ意味で使われています。
VPNパススルーと言った場合、基本的には「PPTP」「L2TP」「IPsec」の3つのプロトコルに対応することを意味します。
このうちPPTPは、古い技術のため、現在はほとんど使われなくなってきています。そのため、PPTPに対応していないルーターも増えています。
L2TPは、IPsecと一緒に使われることが多いです。そのため、IPsecパススルーと言った場合、L2TPも含んでいる可能性があります。
最終的には、ルーターのメーカーや機種により機能が異なるので、仕様を確認する必要があります。
IPマスカレードとの違い
「IPマスカレード(IP Masquerade)」は、「NAT/NAPT」と同じ意味で、Linuxで用いられている用語です。
VPNパススルーは、IPマスカレードによってVPN通信がブロックされてしまうので、それを通す技術のことです。
VPNマルチパススルーとの違い
ルーターによっては、1つのVPN接続しかVPNパススルーに対応していないことがあります。
VPNマルチパススルーは、同時に複数のVPN接続でも対応できる機能です。
わざわざVPNマルチパススルーと書いていないこともあるので、機器の仕様を確認する必要があります。