web-dev-qa-db-ja.com

VPN(OpenVPN)を作成する証明書の検証を修正する方法

わかりました、私がやったことを説明します...そして最後に質問です。ありがとうございました!

VPNをセットアップするために、サーバーマシンとクライアントマシンにOpenVPNをインストールしました。サーバー上で、ファイル/ etc/openvpn/easy-rsa/varsに証明書機関を設定し、次の行を編集しました。

export KEY_COUNTRY=”ES”
export KEY_PROVINCE=”M”
export KEY_CITY=”Madrid”
export KEY_ORG=”My Organization”
export KEY_EMAIL=”[email protected]

次に、証明書を生成しました:

cd/etc/openvpn/easy-rsa/ln -s openssl-1.0.0.cnf openssl.cnf source vars ./clean-all ./build-ca

Cerver certsを作成しました:

./build-key-server myServer

サーバーへのDiffie Hellmanパラメータ

./build-dh

コピーされた証明書とキー/ etc/openvpn

cd keys/cp myServer.crt myServer.key ca.crt dh1024.pem/etc/openvpn /

作成されたクライアント証明書

cd/etc/openvpn/easy-rsa/source vars ./build-key client1

この証明書をクライアントマシンにコピーして、サーバーから消去しました。

/etc/openvpn/ca.crt

/etc/openvpn/easy-rsa/keys/cliente.crt

/etc/openvpn/easy-rsa/keys/cliente.key

/etc/openvpn/server.confを私のファイル名に編集しました

ca ca.crt
cert myServer.crt
key myServer.key
dh dh1024.pem

/etc/init.d/openvpn restart

Tun0が存在することを確認した

ifconfig tun0

/etc/sysctl.confのip_forwardパラメータを有効にして、パッケージがフローできるようにしました

net.ipv4.ip_forward = 1

クライアントがすべてのリモートマシンにアクセスできるように仮想ネットワークマスキングも有効化

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

再起動時に消えないように、ipテーブルのconfを保存しました

Grabamos laconfiguraciónen un fichero

Sudo sh -c“ iptables-save> /etc/iptables.rules”

/ etc/network/interfacesを編集して、インターフェース(この場合はeth0)を追加します。

pre-up iptables-restore </etc/iptables.rules

クライアントにOpenVPNをインストールし、次の証明書を使用して/ etc/openvpnにあるclient.confファイルを編集します。

client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3

その後、再起動しました:

/etc/init.d/openvpn restart

そして、インターフェイスtun0がifconfig tun0にあることを確認したいのですが、ありません。

クライアントコンピューターでログのエラーを確認したところ、次のエラーが発生しました。

VERIFY ERROR: depth=0, error=unable to get local issuer certificate: /C=Es/ST=M/L=Madrid/O=xxx/OU=xxx/CN=myServer/name=xxx/[email protected]
TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
user openvpn[7984]: TLS Error: TLS object -> incoming plaintext read error
user openvpn[7984]: TLS Error: TLS handshake failed

キーを再度作成し、client.confファイルに証明書の完全パスを追加しましたが、それでも機能しません。また、ファイアウォールをすべて無効にしてみましたが、そのエラーのためにサーバーに接続できません。

もう1つの重要なことは、私のサーバーがUbuntu 12.04でクライアントのCentOS 6.3であることです。

サーバーが見つかりましたが、それでも接続が完了していません...

私は何をすべきか??

さらに設定ファイルが必要な場合は、教えてください

4
AAlvz

あなたのエラーメッセージで:

error=unable to get local issuer certificate: 

このメッセージは、クライアント構成の次の行が間違ったファイルを指していることを意味します。

cert client1.crt
key client1.key

クライアントキーの構築で、次のように述べました。

/etc/openvpn/easy-rsa/keys/cliente.crt

実際に生成された.crtおよび.keyファイルの名前と一致するようにクライアント構成を更新する必要があります

3