計画は繊細に行動は大胆に!

Categories

Translate

Page view

2007/02/02

03 手軽に接続するstatic-key


実際にVPN通信を行うための準備をしていくわけです。
しかし、取っ掛かり上は簡単にやりたい。そうですよね?きっと。
私はそうです(笑)

今回は、セキュリティ無視して、拡張性無視して簡単にサクッっとつないで
便利なVPNの恩恵をうけましょう。

実はこの方法はhttp://openvpn.net/static.htmlの方法をそのまま行っただけです。
リンク先は英語ですので、分かりやすいように日本語で書いておきます。

Static Keyの設定はPoint-to-Pointで接続する理想、または、テストに最適です。

StaticKeyの特徴としては

  • 簡単セットアップ
  • X.509証明書の管理が必要がない

といった事があげられます。
では、不利な点は何でしょうか?

  • 拡張性に限界があり、クライアント1台にサーバ1台の縛りがあります。
  • PFSが欠けています。-かぎ情報が漏洩する可能性があります-
    • 簡単に言うと長期間鍵を使っていると危ないということです。
  • パスワードは平分で保管する必要あり
  • 鍵を設定前にやり取りするするの面倒

といった感じです。

今回の環境ですが、

サーバ   :Linux (Fedora Core 4)
クライアント:Windows XP

となっています。
まず、openvpnのプログラムをインストールする必要がありますね。
Fedoraを利用されている方であれば、以下のコマンドでOKです。

[root@apolo ~]# yum install openvpn.i386
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for openvpn to pack into transaction set.
openvpn-2.1-0.14.beta16.f 100% |=========================| 20 kB 00:00
---> Package openvpn.i386 0:2.1-0.14.beta16.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: liblzo2.so.2 for package: openvpn
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for lzo to pack into transaction set.
lzo-2.02-2.fc6.i386.rpm 100% |=========================| 4.0 kB 00:00
---> Package lzo.i386 0:2.02-2.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
openvpn i386 2.1-0.14.beta16.fc6 extras 357 k
Installing for dependencies:
lzo i386 2.02-2.fc6 extras 63 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 420 k
Is this ok [y/N]:
Downloading Packages:
(1/2): lzo-2.02-2.fc6.i38 100% |=========================| 63 kB 00:00
(2/2): openvpn-2.1-0.14.b 100% |=========================| 357 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: lzo ######################### [1/2]
Installing: openvpn ######################### [2/2]

Installed: openvpn.i386 0:2.1-0.14.beta16.fc6
Dependency Installed: lzo.i386 0:2.02-2.fc6
Complete!

以下のように表示されればプログラムは無事インストール完了です。

[root@apolo ~]# rpm -qa |grep openvpn
openvpn-2.1-0.14.beta16.fc6

OpenVPNのWinwosクライアントにはGUIが付いているものと、付いていないものが存在します。
コマンドプロンプトが好きな方はどちらをインストールされても良いと思いますが、
通常はここからダウンロードしてインストールを完了すればOKです。
インストール自体はイエスマンになれば誰でも簡単に完了できます。

 

では、まずサーバ側の設定を済ませましょう。

サーバ上でstatic keyを作成します。

openvpn --genkey --secret static.key
これでstatic.keyというファイルが出来上がります。
ファイルの中身を見るとこんな感じです。


[root@apolo ~]# cat static.key1
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
5f9e3f5fb119f135fd909ca0f259cb41
8aa09985cc9935a3ad5a5b33390a877f
6c814abf6c6ef849fa8da05c0b06620b
b44fc474d85a57d15ebe5d19a1f4f4d5
43626f751eeade35afd4be67cde27e6d
528de63cd7a61ec026b50b43ea3edf68
76bcf2273d3d40286c5462129fcc0b44
44535f96a73f8d0acdd21172204b05ac
354e4c34f3a991a52c38605e8190dc7f
31c4742c82e18d14502c553b279c7858
10deb0086c0c3ec3fd4d95d26f4aed50
370382721acaa1b4ac47b11628312579
c26b35215cdf259c1202d5b23a34d208
7fb0544628ffa788ad3f145c8e459225
a19ce8f50b98173ead054a9f2299d87b
4f24118ebf7166a07e07cbf0b8774ade
-----END OpenVPN Static key V1-----


もちろん、このテキストをコピーするだけでも鍵となります。
#それほど手間でないので自分でつくりましょう。

この鍵をサーバとクライアントにコピーします。

次にサーバの設定ファイルを設定していきます。


ファイル名:/etc/openvpn/server.conf

dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key


ん?簡単すぎて拍子抜けでしょうか?しかし十分です。
あとさきほどのstatic.keyを



/etc/openvpn/static.key


の位置にコピーしておきます。
あとは、



/etc/init.d/openvpn start


でデーモンを立ち上げてください。
Linux上でFWが動作している可能性があるので、ひとまず
FWをOFFにします。



/etc/init.d/iptables stop


もちろん、接続が確認できればFWは元に戻す方がベターです。
後ほど、このあたりも触れるとします。


クライアントの方はというと、


ファイル名:C:\Program Files\OpenVPN\config\static_client.ovpn
remote server.name.dane
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key

としてください。remoteは実際に接続するサーバ名です。
またサーバと同じように static.keyは



C:\Program Files\OpenVPN\config\static.key


に配置して下さい。
これで終わりです。クライアントのOpenVPNを起動してみましょう。


タスクバーにこんな感じで待ち受けます。



それでは、このアイコンを右クリックして


static_client → connect


で接続を行います。接続のメッセージが出たら成功です。
アイコンが緑になればOKです。

Windows上でサーバまでVPNが成功しているか確認してみましょう。



C:\Documents and Settings\akihito>ping 10.8.0.1

Pinging 10.8.0.1 with 32 bytes of data:

Reply from 10.8.0.1: bytes=32 time=16ms TTL=64
Reply from 10.8.0.1: bytes=32 time=16ms TTL=64
Reply from 10.8.0.1: bytes=32 time=17ms TTL=64
Reply from 10.8.0.1: bytes=32 time=16ms TTL=64

Ping statistics for 10.8.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 16ms, Maximum = 17ms, Average = 16ms


上記のように表示されればひとまず成功です。
10.8.0.1はサーバ側でもつtunデバイスですね。
とりあえず、家ネットワークに侵入する事ができました。
次回はこの設定に肉付けをしていき、実用性に耐えるものに
したいと思います。



0 comments:

コメントを投稿