Back to page

− Links

 Print 

自宅鯖計画​/トンネル接続って何だべ? :: Nest Of Hawk

xpwiki:自宅鯖計画/トンネル接続って何だべ?

Table of contents
  • トンネル接続って何がいいんだろう?
    • こんなことってありません?
    • トンネル接続を使用すると…
  • さて、どーやって通信しているのでしょう?
  • ここでポイント

トンネル接続って何がいいんだろう? anchor.png[1]

Page Top

こんなことってありません? anchor.png[2]

NW図(ただのIP).jpg

普段は拠点(右の図のさらにFireWallの右側)で、いろんなサーバのデータを使用して作業をしています。ですがたまたま外にお出かけすることになりまして、出先端末を持って外へ。ですが、その拠点、セキュリティ管理はしっかりしていて、中に入ることはできません。FireWallで通信が阻まれてしまいます。ああっ拠点のファイルサーバの中にある、あのデータにアクセスできれば一発なんだけどなぁぁぁ!!でもふつーのIP接続だと、そーいう事を許してくれません。ああ、歯がゆいっ!!

Page Top

トンネル接続を使用すると… anchor.png[3]

NW図(VPN接続).jpg

ここで、トンネル接続を試してみます。拠点FireWallは、トンネル接続用の通信を通過し、内部のVPNサーバとやり取りしてくれるようにしておいてあげます。そーすると、トンネルパケットだけはFireWall通過して、VPNサーバまではいってくれます。こうしておくと、出先端末から拠点に向けて、トンネル接続用のIPを投げてやります。すると、するるるっ、とVPNサーバと接続されます。

後は、拠点端末から、VPNサーバを経由して、内部のデータベースやら、ファイルサーバやら、ストリーミングサーバやらにアクセスできるって寸法ですね。

Page Top

さて、どーやって通信しているのでしょう? anchor.png[4]

トンネルの仕組み.jpg

トンネルっていうと、ものすごい仕組みのような気がしますが、種を明かすとなーんてことはないもの。ただのIPパケットです。右の図を見てください。一応Linuxを前提にお話しするので、eth0っていうネットワークデバイスでIP通信をしていると仮定します。

さて、トンネルっていっても、TCPやら、UDPやらのなんかのパケットです。トンネルサーバ/トンネルクライアント間で、ふつーにIP通信をしております。さて、このトンネルのサーバ/クライアントが通信を確立すると…新たなネットワークデバイス(トンネルデバイス)ってのができます。何がどーなるかというとこのトンネルデバイスに向けてバケットを送信すると、送信したパケットの中身が、そのまんまトンネルサーバ/クライアント通信パケットのペイロード部に突っ込まれるんですね。分からない人は、IPのお勉強してね。

するとどうなるか。トンネルは、出先端末-VPNサーバ間で接続されています。出先端末のトンネルデバイスに入ったパケットは、VPNサーバのトンネルデバイスからするするっと出てきます。逆方向もまた同じ。つまり、トンネルクライアント⇔トンネルサーバ間は、パケットが導通することはわかっているので、このIPパケットに乗っかって、本当に通信したい、アプリA⇔アプリB間のパケットがやり取りされます。なもんで、出先端末側トンネルデバイス⇔VPNサーバ側のトンネルデバイスまでが、仮想的にネットワークカードみたいに扱えちゃうのですね。

Page Top

ここでポイント anchor.png[5]

当然、このトンネルデバイスは抜け道になります。このため、トンネルを張る際、出先端末⇔VPNサーバ間で認証手続きを行えば、特定の許されたユーザのみが、この恩恵にあずかることができる。また、この出先端末⇔VPNサーバ間のトンネルIPパケットのペイロードに暗号をかけておけば、通信を傍受されたとしても中身が分からないので、非常に安全、っていう寸法ですね。

拠点のセキュリティを守りつつ、出先での使い勝手の良さを守る。これがトンネル接続を行うメリットです。*1


*1 一般的に言われる、拠点-拠点間をインターネット網を使用して通信するというVPNの考え方。トンネルの使い方はほかにもいくつかあります。逆の考えで、プライベート網内を突っ切って、直接外に出よう!というトンネルの場合は、トンネルを暗号化しない使い方してるところもある(フレッツの地域IP網とかね) 

Last-modified: 2010-03-08 (Mon) 02:32:44 (JST) (4654d) by maruo