ユーザ用ツール

サイト用ツール


01_linux:01_net:60_centos_openvpn

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
01_linux:01_net:60_centos_openvpn [2014/03/10 16:17]
matsui [VPNクライアントの削除]
01_linux:01_net:60_centos_openvpn [2014/03/10 16:26] (現在)
matsui [1.yumでインストール]
ライン 1: ライン 1:
 +====== 60 CentOS OpenVPN ======
  
 +===== ①OpenVPNインストール =====
 +
 +
 +==== 1.yumでインストール ====
 +
 +[[01_linux:​01_net:​11_yum_rpmforgeレポジトリ追加|]]を行ってから
 +
 +<code console>
 +# yum install --enablerepo=rpmforge openvpn
 +
 +# rpm -qa | grep openvpn ​
 +openvpn-2.2.2-1.el5.rf
 +</​code>​
 +
 +
 +==== 2.OpenVPNの設定ファイルをコピーしておく ====
 +<code console>
 +# cp /​usr/​share/​doc/​openvpn-*/​sample-config-files/​server.conf /​etc/​openvpn/​
 +</​code>​
 +
 +
 +==== 3.ログローテーション設定 ====
 +<code console>
 +# vi /​etc/​logrotate.d/​openvpn
 +/​var/​log/​openvpn.log {
 +    missingok
 +    notifempty
 +    sharedscripts
 +    postrotate
 +        /​etc/​rc.d/​init.d/​openvpn restart 2>&1 > /dev/null || true
 +    endscript
 +}
 +</​code>​
 +
 +==== 4.起動スクリプト修正 ====
 +
 +FORWARD設定行のコメントアウトを外してforward許可しておく
 +<code console>
 +# vi /​etc/​rc.d/​init.d/​openvpn
 +
 +echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward
 +</​code>​
 +
 +==== 5.自動起動ON ====
 +
 +<code console>
 +# chkconfig openvpn on
 +</​code>​
 +===== ②証明書、鍵の作成 =====
 +
 +==== 1.CA証明書、秘密鍵作成 ====
 +<code console>
 +# cd /​etc/​openvpn/​
 +# cp -r /​usr/​share/​doc/​openvpn-2.2.2/​easy-rsa/​2.0/​ easy-rsa
 +# cd easy-rsa
 +# vi vars
 +export KEY_COUNTRY="​JP"​
 +export KEY_PROVINCE="​ToKyo"​
 +export KEY_CITY="​Shibuya-ku"​
 +export KEY_ORG="​hoge"​
 +export KEY_EMAIL="​admin@hoge.hoge"​
 +#export KEY_EMAIL=mail@host.domain ← 行頭に#​を追加してコメントアウト
 +#export KEY_CN=changeme ← 行頭に#​を追加してコメントアウト
 +#export KEY_NAME=changeme ← 行頭に#​を追加してコメントアウト
 +#export KEY_OU=changeme ← 行頭に#​を追加してコメントアウト
 +#export PKCS11_MODULE_PATH=changeme ← 行頭に#​を追加してコメントアウト
 +#export PKCS11_PIN=1234 ← 行頭に#​を追加してコメントアウト
 +
 +証明書/鍵作成用環境変数設定ファイル内容をシステムに反映
 +# source vars
 +証明書/鍵作成先ディレクトリ初期化※OpenVPNインストール後最初の1回のみ
 +# ./clean-all
 +
 +# sh build-ca ← CA証明書・秘密鍵作成
 +CA証明書コピー
 +# cp keys/ca.crt /​etc/​openvpn/​
 +</​code>​
 +
 +
 +==== 2.サーバ証明書・秘密鍵作成 ====
 +<code console>
 +# sh build-key-server server
 +# cp keys/​server.crt /​etc/​openvpn/​
 +# cp keys/​server.key /​etc/​openvpn/​
 +</​code>​
 +
 +==== 3.DH(Diffie Hellman)パラメータ作成 ====
 +
 +<code console>
 +# sh build-dh
 +</​code>​
 +
 +==== 4.TLS認証鍵用意 ====
 +<code console>
 +# openvpn --genkey --secret /​etc/​openvpn/​ta.key
 +</​code>​
 +
 +==== 5.クライアント証明書・秘密鍵作成 ====
 +
 +<color red>​※クライアント名は一意であること=既に作成済のクライアント名と重複しないこと</​color>​
 +
 +<code console>
 +# cd /​etc/​openvpn/​easy-rsa/​
 +# source vars
 +</​code>​
 +
 +=== パスフレーズ認証あり証明書 ===
 +
 +<code console>
 +# sh build-key-pass client1
 +</​code>​
 +
 +=== パスフレーズ認証なし証明書 ===
 +<code console>
 +# sh build-key client1
 +</​code>​
 +
 +=== 作成された証明書、鍵の場所 ===
 +
 +  * クライアント証明書(/​etc/​openvpn/​easy-rsa/​keys/​client1.crt)
 +  * クライアント秘密鍵(/​etc/​openvpn/​easy-rsa/​keys/​client1.key)
 +
 +==== 6.証明書廃止リスト作成 ====
 +<code console>
 +# sh build-key dmy
 +# sh revoke-full dmy
 +# cp keys/​crl.pem /​etc/​openvpn/​
 +# chown openvpn:​openvpn /​etc/​openvpn/​crl.pem
 +</​code>​
 +
 +<color red>​※最後のchownをしておかないと、下記のエラーになる</​color>​
 +<​code>​
 +CRL: cannot read: crl.pen: No such file or directory (errno=2)
 +</​code>​
 +
 +
 +===== VPNクライアントの削除 =====
 +
 +=== 1.クライアント証明書廃止 ====
 +
 +client1のクライアント証明書廃止
 +<code console>
 +# cd /​etc/​openvpn/​easy-rsa/​
 +# source vars
 +
 +# sh revoke-full client1
 +
 +# /bin/cp keys/​crl.pem /​etc/​openvpn/​ ← 証明書廃止リストを所定のディレクトリへ上書きコピー
 +</​code>​
 +
 +
 +=== 2.接続中クライアントの強制切断 ===
 +<code console>
 +# telnet localhost 7505 ← OpenVPN管理インタフェース起動
 +Trying 127.0.0.1...
 +Connected to localhost.localdomain (127.0.0.1).
 +Escape character is '​^]'​.
 +>​INFO:​OpenVPN Management Interface Version 1 -- type '​help'​ for more info
 +status ← VPN接続状況確認
 +OpenVPN CLIENT LIST
 +Updated,Mon Mar 10 16:16:53 2014
 +Common Name,Real Address,​Bytes Received,​Bytes Sent,​Connected Since
 +client1,​210.172.143.2:​62974,​888323,​892928,​Sun Mar  9 04:03:54 2014
 +ROUTING TABLE
 +Virtual Address,​Common Name,Real Address,​Last Ref
 +10.8.0.6,​client1,​210.172.143.2:​62974,​Mon Mar 10 15:53:00 2014
 +GLOBAL STATS
 +Max bcast/mcast queue length,0
 +END
 +
 +kill client1 ← client1強制切断
 +SUCCESS: common name '​client1'​ found, 1 client(s) killed
 +
 +status ← VPN接続状況確認
 +OpenVPN CLIENT LIST
 +Updated,Tue Nov 28 19:29:05 2006
 +Common Name,Real Address,​Bytes Received,​Bytes Sent,​Connected Since
 +ROUTING TABLE
 +Virtual Address,​Common Name,Real Address,​Last Ref
 +GLOBAL STATS
 +Max bcast/mcast queue length,0
 +END
 +
 +exit ← OpenVPN管理インタフェース終了
 +Connection closed by foreign host.
 +</​code>​
 +
 +
 +== 執行した証明書の復旧 ==
 +
 +
 +[[http://​server-setting.info/​centos/​openvpn-revoke-client.html#​openvpn_4]]
01_linux/01_net/60_centos_openvpn.txt · 最終更新: 2014/03/10 16:26 by matsui

Yesterday:349 Today:102 Total:06807