公衆無線LANなどにアクセスした時に、無線部分の通信が簡単に傍受されてしまうことから、
VPNが張れないかな、と考えていて、久しぶりにAWSのEC2を立ち上げてLinux上に
VPNサーバを作ってみた。
今回はOpenVPNを試してみた。
オープンソースのSSL-VPNソフトウェア。
今回の目的にはイマイチかも、と思いつつ、別案件で使うかも、ということで
ちょっと試してみた。
インストールはこんな感じ。
$ sudo yum install openvpn
$ cd /usr/share/openvpn/easy-rsa/2.0/
$ sudo ln -s openssl-1.0.0.cnf openssl.cnf
$ sudo -s
# source ./vars
# ./clean-all
# ./build-dh
続いて、CAの作成。
# ./build-ca
(内容は省略)
基本的に自前のCA立てる時とほぼ同じ。(裏でOpenSSLが動いてる感がよくわかる。)
その次は、サーバ証明書の作成。
# ./build-key-server server
(内容は省略)
そのあと、クライアント証明書の作成。
# ./build-key client1
(内容は省略)
で、必要なファイルを /etc/ 側にコピーして
# cp keys/ca.crt keys/server.crt keys/server.key keys/dh1024.pem /etc/openvpn/
# cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/
サービス起動。
# /etc/init.d/openvpn start
サーバ側はとりあえず、これで終わり。
クライアントに先ほど作成した
ca.crt
client1.key
client1.crt
と設定ファイル(のひな形)
/usr/share/doc/openvpn-2.2.2/sample-config-files/client.conf
を持ってくる。(SFTPでコピーしてきた。)
クライアントには tunnelblick を利用した。
インストール後、Library/openvpn/ に先のファイル4つをコピーして
client.confをclient1.confにリネーム。内容のうち、
remote (VPNサーバのIP) 1194
cert client1.crt
key client1.key
と変更して接続。あっさり接続できた模様。
サーバ側は 10.8.0.1 、クライアント側は 10.8.0.6 で繋がった。
目的はすべての通信をこのVPN接続上に流したいので、ルーティングやらを
いじらねばならないはずだが、ひとまず置いておく。
(参考URL)
suz-lab - blog: VPC上にOpenVPN(CentOS6)をインストール
suz-lab - blog: Mac(10.8)からCentOS(6.3)にOpenVPNでVPN接続
OpenVPN設定 - 認証局の設置 ~ yamata::memo