このブログを検索

ラベル vpn の投稿を表示しています。 すべての投稿を表示
ラベル vpn の投稿を表示しています。 すべての投稿を表示

2022/04/23

VPNとは何か

 VPNとは何だろうか。

リモートワークなどで使用する機会が増えたVPNだが、VPNで会社のサーバ等にアクセスするのと、リモートデスクトップでログインするのと何が違うのか。


VPNで接続する場合、VPN接続先の装置、VPNサーバとなる装置に接続するが、

VPNサーバに接続するのとリモートデスクトップとかSSHとかで接続するのと何が違うのか。

リモートデスクトップは1台のコンピュータを占有してしまう。

ローカルにログインしているユーザのいるWindows PCにリモートデスクトップで接続してその同じユーザアカウントでログインすると、ローカルユーザがログアウトしてしまう。

(確か違うユーザで接続するとローカルユーザに通知が表示されてリモート接続を拒否できたと思う)

VPNは、そうではなくて、複数ユーザが同時に接続して会社のファイルサーバやイントラネットワークを利用できる。

どうしてそうなるのか。

「VPNで接続する」とはどういうことなのか。

VPNで接続すると、VPNサーバに仮想的なネットワーク(サブネット)が追加される。

VPNで接続したユーザにはその仮想的なサブネットのIPアドレスが割り当てられ、あたかもVPNサーバにローカルで接続しているようになる。

リモートデスクトップやSSHなどの接続は、あくまでも外部(多くの場合インターネット)からの接続となるが、VPNはいったん接続が確立したら、論理的にはVPN装置の「内部」からの通信として扱われるのである。

内部からの通信なので、WEBアクセスでもSSHでもなんでも、ファイアウォール等で許可されている通信は利用できる。

通常、外部から内部への通信は本当に限定された通信しか許可されないが、

VPNは物理的には外部からの通信であるのに、内部からの通信がおこなえる。

もはや「リモートから接続できる」というより、「リモートにいながら内部から外部に接続できる」と言った方が適切である。

リモートデスクトップでログインしたPCからインターネットにアクセスしたり、別のサブネットにアクセスすることもできるが、VPNで接続して「内部」から「外部」へアクセスするのとは違うのである。


違うんだ....


2016/06/11

なぜvpnを使うのか

最近よくVPNを扱う。

自分でも使うし、お客さんが使うVPNの設定もする。

だが、VPNの用途がいまいちわからなかった。


たとえば、自宅から会社のPCにアクセスするためにVPNで接続してからリモートデスクトップで接続したりする。

インターネットに接続できる場所であれば、いつでも会社のPCにアクセスできる。

その程度のものだと思っていた。


だが、それにしてはそれ専用の何百万円もする装置があったり面倒くさい設定をしなければならないので、もっとメリットがあるはずだと思い始めた。


その疑問はすごく根本的な、基本的なことなので、人には聞けず、調べてみてもみな同じようなことをいうだけだった。

そこで、ヤフーオークションでCiscoのASAを入手した。


そして自宅でVPNを設定し、インターネット側からアクセスできるようにしてみた。


しかし、それをやろうとしたときには、

家のPCにアクセスするだけなら、家のルータでポートフォワーディングをすればいいから、

あまり意味がないなと思っていた。


私はJCOMのサービスを利用しており、ブラウザでルータの管理画面にアクセスして、

ポートフォワードを設定できる。


ASAなど不要だ。

Windowsの標準機能のリモートデスクトップを使えばできるのに、

なぜわざわざクライアントソフトまで使って、面倒な手間をかけるのか。


標準機能といっても、Windowsのprofessionalエディションでないとリモートデスクトップをさせる側にはなれないので、

Homeエディションを使っていた私はわざわざカネをだしてprofessionalのOSを買った。

ちなみに64bitの10では、Hyper-Vという仮想マシン機能もついている。

以前はVirtual PCと呼ばれていた機能が、いつの間にかこんな形で標準機能になっていた・・・。



私はすぐに気づいた。

VPN接続は、1対1でない、ということに。


つまり、たんなるリモートデスクトップ接続なら、外出して喫茶店で使用しているノートパソコンと、会社のデスクトップパソコンが接続されるだけである。

だが、皆がVPNを使う目的は、会社のパソコンにアクセスすることではなく、

いわゆるイントラネット、会社の内部のファイルサーバ等にアクセスすることであろう。


VPNは、ネットワークを接続する。

「ネットワーク」という言葉はあいまいだから、あえてくどく説明すると、

ある領域とある領域を接続する。


私はあえて、専門用語をなるべく使わないように話している。

それは、専門用語だと、わかってないことでも「あーアレね」と、わかっていないこともわかったように思えてしまうからである。

「あーVPNね」

「あーSSLね」

「あーアジュールね」

とか。



単純なインターネット利用の場合、パソコンにはひとつのネットワークアダプタがあって、

そこにはプライベートIPアドレスが使われているだろう。

そしてそれはDHCPにより自動割り当てされていて、

パソコンの利用者は自分のPCにIPアドレスが付与する必要はなく、

自分のIPアドレスが何かを意識する必要もない。


しかし、インターネットを利用するにはルーターというものが必要である。

パソコンにIPアドレスを付与しているのもルーターである。



「ルーターというのは、ネットワークとネットワークを接続する装置である」・・・・と言えなくもないが、

単に接続するだけなら1000円くらいで売っているハブもそうである。

なぜルーターが必要なのか・・・。


ちょっと話がそれるが、私は以前、「ルーターとはネットワークを切断する装置である」

と気づいたことがある。


ハブで接続されたネットワークは単純に拡大するだけであるが、

ルーターによって接続されたネットワークは異なる二つ以上の別の領域になる。

その異なる領域間で通信をおこなうには、それを許可する設定が必要になる。

通信をするには許可をし、許可された以外の通信は遮断する、

それがルーターの用途である。




話を戻すと、


インターネットを利用している人はルーターからIPアドレスを付与され、

ルーターを通してインターネットに接続する。

インターネットというのは、ルーターの集合である。


ルーター以外にも様々な装置が接続されているが、

要するに、「区切られた複数の領域」が接続されている領域である。



先ほどいったように、その複数の領域間で通信するには許可設定が必要である。


あなたが自宅からインターネットを利用するとき、

「私は世界中の人々とつながっている」と思うことがあるだろう。



しかし、世界中にあなたと同じようにインターネットを利用している人が何十億人といるが、

あなたはそれらの人々のパソコンと直接通信することは、できない。


facebook, twitter, lineなどで「つながる」には、ブラウザかアプリが必要である。


話が長く散漫になってきたので、結論を言おう。

VPNは、インターネットを介して、末端にあるネットワークを接続する仕組みである。


あなたのパソコンが、ブラジルにいる少年のパソコンにつながる仕組みである。


ただし、それは電話がつながるような1対1の接続ではない。


ネットワークとネットワーク、領域と領域が接続される。

しかもそれは、単純な領域の拡大ではなく、区切られて許可された通信しかおこなえない接続である。

今日はここまで。

2015/04/25

dynabook ux/23lwh bsusrc06 minicom vpnc

秋葉原の中古ショップで9800円ほどで買った。

OSなし。

とにかく小さいPCが欲しかった。

見た目がよかったので買った。

オークションならもっと安く買えたかもしれないが、メンドクサイので買ってしまった。


WindowsXPをインストールしようとしたら、ハードディスクがないという。

まさかHDDなしか!と、中を見ようとしたら裏のフタのネジが特殊で、
さらに特殊ねじを無理やりドライバでこじ開けようとしたらしくヤマがつぶれていて
あけることができない。

BIOSの表示ではHDDはあるようだが・・・。

買った店に聞いてみたら、HDDがSATAなので、XPを入れる場合はSATAドライバを読み込ませる必要があるという。

どこにあるのか、どうやって読ませるのかと軽くしらべると、FDDが必要とかいう情報が出てきてあきらめる。

じゃんぱらで買ったカスタムメイドPCのおまけのWin7ディスクでいれてみようと思ったが、64bitバージョンだった。

このdynabook ux/23kwhのCPUはAtom 280Nとかいうもので32bitである。

しかたがないので、3万円で買ったWindows Vista Ultimateを入れることにした。

が、うまくいかない。そもそもこれはアップグレード版で、アップグレード対象のOSがインストールされている状態からでないとインストールできないのだ。


結局、CentOSを入れることにした。

別にcentosが好きなわけではないが、さくらのvpsでも使っていて慣れているし、
比較的新しいディスクもあったからだ。

インストールは何も問題なく完了した。

バージョンは 6.6 である。

その後 yum updateをやったら、かなり時間がかった。



本題はこれからである。

PCの用途は、teraterm+USBシリアル変換ケーブルによるルータ等アクセスと、
cisco vpn clientによるVPN接続である。


調べたら、どちらもカンタンにできた。

まず、usbシリアル変換ケーブルであるが、何もしなくても認識した。

ケーブルをさして、

dmesg | grep ttyUSB

usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0


「ttyUSB0」を覚えておく。


そして、minicom をインストールする。


yum install minicom

LANG=c minicom -s

[Sereal port setup]を選択し、

A - Serial Device: /dev/ttyUSB0
E - Bps/Par/Bits : 9600 8N1

の2箇所を直し、[Save setup as dfl]を選択して設定を保存し、[Exit from Minicom]で終了。

LANG=C minicom

で起動


終了するときは、Ctrl+Aを押してから、

Shift+X


USBシリアル変換ケーブルは、iBuffaloの BSUSRC06である。

エレコムのやつとかでもいけるようだ。


次は、vpn client

ciscoのvpn clientのlinux用はあるにはあるが、フリーで誰でも落とせるものではない。

その代わり、vpnc というものがある。

yum -y install vpnc


すぐ終わる。

設定ファイルで設定すべきところは以下であるが、

IPSec gateway ... ゲートウェイのIP address
IPSec ID ... グループ名
IPSec secret ... グループパスワード
Xauth username ... ユーザ名
Xauth password ... ユーザパスワード


cisco vpn clientのプロファイルファイル(*.)があるなら、
変換してくれるスクリプトがある。

pcf2vpnc

このスクリプトは別途ダウンロードしたのか最初から入っていたのか覚えていないが、
別途ダウンロードした気がする。

調べればすぐ出てくる。


settei.pcf というファイルを変換して vpnc.conf という名前で保存する。

pcf2vpnc settei.pcf vpnc.conf


vpnc.conf という名前で /etc に保存すると、読み込んでくれる。(と思う。今そうなっているので)

vpnc.conf hoge.conf と、ファイル名を指定することもできる。


chmod 700 /etc/vpnc/vpnc-script

をやったような気がする。


vpnc 

で起動する。


VPNC started in background (pid: xxxx)...


というメッセージが表示されれば接続できている。


接続を切るときは

vpnc-disconnect


下記メッセージが表示される。

Terminating vpnc daemon (pid: xxxx)