OpenVPN のインストール(共通鍵)

共通鍵を用いたVPNの設定

・LZO(通信圧縮プログラム)のインストール

# cd /usr/local/src
# wget  http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz
# tar zvxf lzo-1.08.tar.gz
# cd lzo-1.08
# ./configure
# make
# make install

・TUN/TAPデバイスの確認
 特に何も言われなかったらOpenVPNのインストールへ

# modprobe tun

・TUN/TAPデバイスの用意(カーネルに無くてなんか言われた場合)
カーネル設定の"Network device support"の中の"Universal TUN/TAP device driver support"を有効にする

# mknod /dev/net/tun c 10 200

OpenVPNのインストール

# cd /usr/local/src
# wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
# tar zvxf openvpn-2.0.9.tar.gz
# cd openvpn-2.0.9
# ./configure
# make
# make install

・起動スクリプトのコピー

# mkdir /etc/openvpn
# cp sample-scripts/openvpn.init /etc/openvpn
# chmod 755 /etc/openvpn/openvpn.init
# cp /usr/local/src/openvpn-2.0.9/sample-scripts/bridge-start /etc/openvpn
# chmod 755 /etc/openvpn/bridge-start
# cp /usr/local/src/openvpn-2.0.9/sample-scripts/bridge-stop /etc/openvpn
# chmod 755 /etc/openvpn/bridge-stop

・共通鍵の作成
 作成した鍵はクライアントにも渡しておく

# openvpn --genkey --secret testvpn.key
# cp testvpn.key /etc/openvpn

・server.confの設定(サーバ側)

# vim /etc/openvpn/server.conf
# タップ(L2)使用
;dev tun
dev tap

# 仮想インタフェースのアドレス
ifconfig 192.168.200.1 255.255.255.0

# 通信に使用するポート
port 5500

# TCPUDPか
proto tcp-server
;proto udp

# クライアントのアドレスは限定しない
float

# 秘密鍵設定
secret /etc/openvpn/testvpn.key

# moderate verbosity
verb 4
mute 10

# その他
ping 10
ping-restart 60
ping-timer-rem
persist-key
persist-tun

openvpn.confの設定(クライアント側)

# タップ(L2)使用
;dev tun
dev tap

# 仮想インタフェースのアドレス
ifconfig 192.168.200.3 255.255.255.0

# TCPUDPか
proto tcp-client
;proto udp

# VPNサーバのアドレス
remote VPNサーバのIPアドレスを入力
port 5500

# 秘密鍵設定
secret testvpn.key

# moderate verbosity
verb 4
mute 10

# その他
ping 60

OpenVPN の起動

# openvpn --config /etc/openvpn/server.conf &

後はクライアントからつないでみてテスト.
今回は共通鍵を使ったが、CA認証局を使った認証もある.
CA認証でないとクライアント同士の通信ができないので要検討.