VPN (Virtual Private Network) 入門

リモートワークを導入するにあたり、VPN の環境を構築する機会が増えていると思います。

一方で、以下の疑問を持つ方も多いと思います。

  • VPN って何?
  • VPN ってどういう仕組みなの?
  • VPN ってどんな種類があるの?

そのため、本記事は上記の疑問を解決するために執筆しました。

スポンサーリンク

VPN (Virtual Private Network) とは

VPN (Virtual Private Network)とは、プライベートネットワーク(第三者からアクセスできないネットワーク)間で安全に通信するために、仮想的なプライベートネットワークを拡張する技術です。

以下の例のように、VPN は地理的に離れたネットワーク間で安全に通信するために利用します。

VPN を利用する理由は以下のとおりです。

  1. 地理的に離れたネットワーク間で通信する一般的な方法はインターネット
  2. しかし、誰でもアクセス可能なインターネットはセキュリティ面で不安
  3. そこで、VPNを利用(インターネット上に仮想的なプライベートネットワークを拡張)することで、通信の安全性を高める

上記で「地理的に離れたネットワーク間で通信する一般的な方法はインターネット」と言いましたが、他にも色々方法があります。

スポンサーリンク

プライベートネットワーク間を通信する方法

プライベートネットワーク間で通信する方法は、主に次の3つとなります。

  • プロバイダーの専用線(専用の光ケーブル。契約者が独占。)
  • プロバイダーの閉域網 + VPN(1つのプロバイダーが持つ閉域網。契約者間で共有)
  • インターネット + VPN(複数のプロバイダーのルーターの集合。誰でもアクセス可)

プロバイダーの専用線

「プロバイダー専用線」は、契約者が独占する回線で、安全にプライベートネットワーク間を通信します。その代わりに回線費用が高くなります。


プロバイダーの閉域網 + VPN

「プロバイダーの閉域網」は、複数の契約者が回線を共有するため、契約者を区別するためにパブリック IP アドレスが必要となり、そのままではプライベートネットワーク間で通信できません。

インターネット + VPN

インターネット」は、誰でも回線を使用できるため、次の 2 つの問題があります。

  • 利用者を区別するためにパブリック IP アドレスが必要となり、そのままではプライベートネットワーク間で通信できません。
  • 誰でも回線を使用できるため、悪意のある第3者から攻撃される可能性があります。

VPN では、費用を抑えつつ「プロバイダーの専用線」の機能を実現するために、 「プロバイダーの閉域網」や「インターネット」にプライベートネットワークを拡張します。

スポンサーリンク

VPN (仮想的なプライベートネットワーク) を実現する技術

VPN では、プライベートネットワークが「インターネット」、もしくは「プロバイダーの閉域網」を経由して送受信するデータに対して、次の2つの処理を実施することにより仮想的なプライベートネットワークを拡張を実現します。

  • 悪意のある第3者から受信する攻撃を防ぐ
  • 送信するデータを加工し、プライベートネットワーク間での通信する

悪意のある第3者から受信する攻撃を防ぐ

悪意のある第3者から受信する攻撃を防ぐ方法は、「インターネット」と「プロバイダーの閉域網」でそれぞれ以下のように異なります。

インターネットを利用した VPN の場合
  • 認証(悪意のある第3者の侵入を防ぐ)
  • 拠点のプライベートネットワークにアクセスした相手を確認するために、認証を行います。  
  • 暗号化(悪意のある第3者がインターネット上でデータを盗聴、改ざんすることを防ぐ)
  • 仮想的なプライベートネットワーク上の通信データの盗聴、改ざん対策として通信データを暗号化します。
プロバイダーの閉域網を利用した VPN の場合

プロバイダーと契約者のみが利用できる閉ざされたネットワークを利用して、悪意のある第3者がアクセスできないようにします。

送信するデータを加工し、プライベートネットワーク間での通信する

プライベートネットワークは基本的に他のネットワークからアクセスできません。

そのため、異なるプライベートネットワーク間で通信するためには、データをカプセリング(加工)する必要があります。

カプセリングの前提知識として、必要な OSI 参照モデルについては以下の記事に記載しています。

カプセリングについては、以下の記事をご覧ください。

なお、カプセリングしたデータを使用して、異なるプライベートネットワーク間で通信することをトンネリングと呼びます。

VPN の種類と技術

VPN ではプライベートネットワーク間を繋ぐ方法や「暗号化・認証カプセリング」の実装方法によって次のような種類に分けられます。(下記に加えて、光ブロードバンド回線 + 通信事業者のIP網で実現するエントリー VPN もあります。)

VPN接続とは?VPNの基本とメリット・デメリットを紹介|ICT Digital Column 【公式】NTTPCコミュニケーションズ
VPN接続は、公衆回線を用いてデータを暗号化し、通信の内容が漏れることを防ぐ接続方法です。VPN接続の主なメリットは、「複数の拠点からアクセスできる」「導入・運用コストを抑えられる」といったことです。
インターネット」を利用したVPN「プロバイダーの閉域網」を利用したVPN
種類インターネットVPNIP-VPN広域イーサーネット
サイト間VPNリモートアクセスVPN
LayerLayer3Layer3~7Layer3Layer2
認証

暗号化

IPSec

詳細 >

IPSec, SSL

詳細(IPSec) >

詳細(SSL) >

無し

(プロバイダーの閉域網のため、インターネットと違って外部から盗聴されない)

無し

(プロバイダーの閉域網のため、インターネットと違って外部から盗聴されない)

暗号化
トンネリングIPSec, OpenVPNなど

詳細(IPSec) >

詳細(OpenVPN) >

MPLS

詳細 >

VLANタグ(リンク先後半)

詳細 >

実装方法接続元と接続先でVPNルーターを使用

ハードウェアルーター >

ソフトウェアルーター >

接続元:
VPNクライアントアプリ

接続先:

  • IPSec: VPNルーターを使用
  • SSL: VPNルーターやVPNサーバーアプリ

IPSec クライアントアプリ >

SSL クライアントアプリ >

ハードウェアルーター >

ソフトウェアルーター >

VPNサーバーアプリ >

プロバイダーと契約

具体例 >

プロバイダーと契約

具体例 >

回線利点インターネット回線が使える
  • 回線速度が安定
  • 暗号化のオーバーヘッドが無い
実装利点VPNクライアントアプリが不要クライアント側にVPNルーターが不要(自宅や外出先からアクセス可能)VPNクライアントアプリが不要
  • VPNクライアントアプリが不要
  • Layer 3でIPプロトコル以外を使用可能

上記のトンネリングプロトコル以外にも、IPSecの代わりに L2TP や PPTP を使用する場合もあります。

PPTP / L2F / L2TP とは
PPTP,L2F,L2TPについて解説

VPN の実装方法

サイト間 VPN

具体的な実装方法は下記の記事が参考になります。

VyOSを利用したVPN環境構築 | DevelopersIO
VPN環境をごにょごにょしたくて、VyOSを利用したVPN環境を構築したので、そのアウトプットとなります。 本エントリでは、VPN設定(カスタマーゲートウェイ、仮想プライベートゲートウェイ、VPN接続)はマネジメントコンソールより実施し、それ以外はCloudFormationを用いて構築しています。

上記の記事では、それぞれのコンポーネントを下記のように実現しています。

  • 接続先のプライベートネットワーク: VPC シンガポールリージョン
  • 接続先のルーター: 仮想プライベートゲートウェイ
  • 接続元のプライベートネットワーク: VPC 東京リージョン
  • 接続元のルーター: カスタマーゲートウェイ

リモートアクセス VPN

具体的な実装方法は下記の記事が参考になります。

Amazon EC2とOpenVPNでサーバ-多拠点クライアント間通信をセキュアに行う | DevelopersIO
はじめに AWSを使ったシステム構成において、多数の拠点に設置されたクライアントからAWS上のサーバに接続するが、その通信はセキュアに行いたい、という要件が求められる場合があります。 今回はその要件を実現する方法の一つと …

上記の記事では、それぞれのコンポーネントを下記のように実現しています。

  • 接続先のVPNサーバーアプリ:OpenVPNサーバー
  • 接続元のVPNクライアントアプリ:下記のいずれかのVPNクライアント

プロバイダーの閉域網を使った VPN

具体的な実装方法は、契約するプロバイダーに聞いてください。