ホーム DoRuby VPNに触れてみる〜その0〜
VPNに触れてみる〜その0〜
 

VPNに触れてみる〜その0〜

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。


VPNとは何ぞ、から実際につなげてみるまで。今回はVPN自身のお話。

はじめに

ある日、外部にあるサーバにVPNで接続するようにとのお達しを受けたのですが、現在MacOS使用中の、ネットワーク知識ほぼ皆無な自分は公式ページで確認したり様々なページを閲覧したりして接続方法を模索していました。

VPNサーバへの接続はそこまで時間はかかりませんでしたが、VPN側のネットワークにあるサーバに接続できず、ここからが大変でした。自分の設定が間違っているのかと思い、サーバへの接続方法を調べ、実際に試してみるもののVPN側へのサーバへはアクセスできず、Windows側とルーティングテーブルを見比べても特に差があるように見えなかったため難儀していました。ネットワークに関して専門的な知識が多く必要なのかなとも思いましたが、ルーティング等試行錯誤しているうちに無事接続できたので、その紹介を。

ただし、今回は手順ではなく、VPNとは何かというところをざっくりと。(なのでその「0」です)

トランスポートモードとトンネルモード

VPNの話の前に、まずは関連した暗号化方式を。

トランスポートモード

トランスポートモードは送信するパケットのうち、データに関わる部分を暗号化して送信する方式です。IPヘッダは暗号化しないため、2つの端末同士で通信を行う際に利用できる方式となります。その都合上、インターネットを介する場合はNATを利用する必要があります。

NAT:パケットヘッダに含まれるIPを別のIPに置き換える技術。外部送信するためにプライベートIPをグローバルIPへ変換するのに使われることが多い。

トンネルモード

トンネルモードは送信するパケットのうち、データに加えて自身のIPヘッダも暗号化し、送信する方式です。IPヘッダも暗号化されるため送信先などがわからなくなりますが、こちらは暗号化する際に、暗号化する側(サーバなど)で新規にIPヘッダを付与するため、送信元の情報を隠したまま通信することができます。ただし新規のIPヘッダを付与する必要上、パケット長が大きくなる特徴があります。

この2つがVPNに関連して利用されているモードですが、主流はトンネルモードのようです。
本記事はこのトンネルモードを利用したVPNの話になります。

VPNとは

VPN (Virtual Private Network:仮想プライベートネットワーク)とはインターネットを通じてプライベートネットワークを構築する技術でできたネットワークです。インターネットを通じてネットワークを構築する、という点が重要で、これをすることにより、ある拠点と、離れた拠点を擬似的に同じネットワークに所属させることができます。

例えば友人のPCと自分のPCを同じVPNサーバのネットワークに所属させると、実際は外部ネットワークを通じているにもかかわらず、同じプライベートネットワークにいるかのように操作できます。
これが複数拠点でつなぐ話になれば、離れた拠点のネットワークを同じVPNに所属させることで、すべて同一のプライベートネットワークとして扱うことができます。

enter image description here
通常、拠点間ではグローバルでしかネットワークが繋がっていない(黒枠)が、VPNを利用すると、一つの拠点であるかのようにふるまう

専用回線を使ってネットワークを構築することと同じようですが、インターネットを通じて構築している違いがあるため、VPNサーバに到達できる経路が複数あれば一部脱落しても到達できるメリットがあります。

VPNの使い道

・外部のPCをサーバへ接続する際に、同じネットワークに所属させる
・複数の拠点を1つのネットワークとしてみなすようにする

という用途でしょうか。他にも使い道がありそうな気がします。
ファイルサーバがある場合、遠く離れていても、VPNでそちらと通信できるので単純な目的にとどまることはなさそうです。

おわりに

ざっくりとVPNについてまとめてみました。次回は、実際にVPNサーバへの接続方法をまとめていきたいと思います。
接続構成ですが、あるPCをVPNサーバと接続するリモートアクセスを予定しています。


関連:
VPNに触れてみる〜その1〜
VPNに触れてみる〜その2〜

記事を共有

最近人気な記事