●server.confを編集
openvpnサーバの設定ファイルをサンプルからコピーして流用
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gzip -d /etc/openvpn/server.conf.gz
以下の行を有効にし自分の環境に合わせて編集
# vim /etc/openvpn/server.conf
port 1194 proto udp dev tun keepalive 10 120 comp-lzo ca ca.crt cert server.crt key server.key ifconfig-pool-persist ipp.txt #接続してくるクライアントに対して使用するDNSサーバーを設定 #OpenDNS.com ;push "dhcp-option DNS 208.67.222.222" ;push "dhcp-option DNS 208.67.220.220" #GooglePublicDNS push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" #クライアント同士の通信を有効化 client-to-client #TLS暗号を有効化 tls-auth ta.key 0 #暗号化の指定 cipher AES-128-CBC # AES #ルーティング定義 LAN側へのルーティングをVPNサーバー経由とする。 #192.168.0.0/24のパケットはこのサーバを経由する様になる。 push "route 192.168.0.0 255.255.255.0" #OpenVPN内部のネットワークで使用する IP アドレスを指定 server 10.8.0.0 255.255.0.0 #OpenVPNサーバーをデフォルトゲートウェイとして使用する場合 push "redirect-gateway def1 bypass-dhcp" #セキュリティ上の理由からOpenVPNを実行するユーザー・グループを指定 user nobody group nogroup #ログの扱い status /var/log/openvpn-status.log log-append /var/log/openvpn.log
●OpenVPN クライアント用の鍵作成
# cd /etc/openvpn/easy-rsa/
# source vars
# ./pkitool client
”failed to update database TXT_DB error number 2”といったエラーが出る場合、
回避策としてコモンネームを変更しないと鍵作成ができないので、
KEY_CN=someuniqueclientcn ./pkitool client
等で行うと作成が可能。
<参考サイト>TXT_DB error number 2 when generating openvpn client certificates
/etc/openvpn/以下にあるファイルを、
何かしらの手法でクライアント端末に落とす。
/etc/openvpn/ca.crt /etc/openvpn/ta.key /etc/openvpn/easy-rsa/keys/client.crt /etc/openvpn/easy-rsa/keys/client.key
OpenVPNダウンロードページから環境にあったパッケージをダウンロードしてインストール
http://openvpn.net/index.php/open-source/downloads.html
インストールしたopenvpnのフォルダ内に、
”sample-config”があるので、client.ovpnを”config”フォルダにコピーして、
テキストエディタを使い管理者権限で編集
クライアント設定ファイル(C:\Program Files\OpenVPN\config\client.ovpn)
-------------------------------------------- # from the server. client dev tun proto udp remote 192.168.x.x 1194 #VPNサーバーを指定 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ca ca.crt cert client.crt #クライアント証明書ファイル名を指定 key client.key #クライアント秘密鍵ファイル名を指定 remote-cert-tls server #追加("Man-in-the-Middle"攻撃対策) tls-auth ta.key 1 #行頭の;を削除してコメント解除(TLS認証有効化) cipher AES-128-CBC #ブロック暗号のチェーンのモード (AES-CBC) 暗号化を指定 comp-lzo verb 3 -------------------------------------------
サーバー側からCA証明書(/etc/openvpn/ca.crt)、
クライアント証明書(/etc/openvpn/easyrsa3/pki/issued/client1.crt)、
クライアント秘密鍵(/etc/openvpn/easyrsa3/pki/private/client1.key)、
TLS認証鍵(/etc/openvpn/ta.key)をクライアント側へ持ち込み、
設定ファイルOpenVPNのconfigフォルダ(C:\Program Files\OpenVPN\config)へ格納する。
●VPN接続
「管理者としてこのプログラムを実行する」が大事。
スタートメニューにあるアイコンを右クリックして設定をし、
起動するとタスクバーにアイコンが出るので、右クリックして接続か、ダブルクリックして接続を開始。
※OpenVPN GUIアイコンが黄色(接続中状態)⇒青色(接続済状態)表示になることを確認
エラーが出る場合は、クライアント側とサーバー側のログからエラーメッセージを見て解決を。