# OpenVPNが急に繋がらなくなった! お疲れ様です。チーム:thonk_spin.ex-large.rotate.parrot:の高山です。 OpenVPNが急に繋がらなくなった!の解答を送らせていただきます。 ## 原因特定 サーバー側にログインし、`/var/log/openvpn/openvpn.log`を見たところ、 ``` Sat Aug 31 13:12:52 2019 192.168.200.20:40640 TLS: Initial packet from [AF_INET]192.168.200.20:40640, sid=358f920f 0e04a4d4 Sat Aug 31 13:12:52 2019 192.168.200.20:40640 VERIFY OK: depth=1, CN=Easy-RSA CA Sat Aug 31 13:12:52 2019 192.168.200.20:40640 VERIFY ERROR: depth=0, error=certificate has expired: CN=vyos-client Sat Aug 31 13:12:52 2019 192.168.200.20:40640 OpenSSL: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed Sat Aug 31 13:12:52 2019 192.168.200.20:40640 TLS_ERROR: BIO read tls_read_plaintext error Sat Aug 31 13:12:52 2019 192.168.200.20:40640 TLS Error: TLS object -> incoming plaintext read error Sat Aug 31 13:12:52 2019 192.168.200.20:40640 TLS Error: TLS handshake failed Sat Aug 31 13:12:52 2019 192.168.200.20:40640 SIGUSR1[soft,tls-error] received, client-instance restarting ``` というエラーログが繰り返されていることを確認しました。 `VERIFY ERROR: depth=0, error=certificate has expired: CN=vyos-client`という記述から、クライアント側の公開鍵証明書の期限が切れたために接続が拒否されていることが原因であると特定しました。 ## 問題解決 サーバー側にはEasy RSAがインストールされていますので、 ``` $ pushd /easy-rsa-3.0.6/easyrsa3 $ ./easyrsa gen-req vyos-client2 nopass (Common Nameの入力を求められたが、vyos-clientとした) $ ./easyrsa sign-req client vyos-client2 $ scp pki/issued/vyos-client2.crt admin@192.168.0.20:~/ $ scp pki/private/vyos-client2.key admin@192.168.0.20:~/ $ popd ``` というコマンドで、クライアント側の公開鍵証明書と秘密鍵を生成し、クライアント側にコピーしました。 次に、クライアント側にログインし、`show configure`で設定を見ると、以下の記述を確認しました。 ``` openvpn vtun0 { encryption aes256 hash sha256 mode client openvpn-option "--tls-auth /config/auth/ta.key 1" remote-host 192.168.200.10 tls { ca-cert-file /config/auth/ca.crt cert-file /config/auth/vyos-client.crt key-file /config/auth/vyos-client.key } } ``` よって、記述に従って、サーバー側からコピーした公開鍵証明書と秘密鍵を適切なパスに配置しました。 ``` $ sudo cp vyos-client2.crt /config/auth/vyos-client.crt $ sudo cp vyos-client2.key /config/auth/vyos-client.key $ rm vyos-client2.crt vyos-client2.key ``` そして、少々待つと以下のように`172.25.0.1/32`に対して疎通が取れるようになり、問題が解決しました。 ``` $ ping 172.25.0.1 PING 172.25.0.1 (172.25.0.1) 56(84) bytes of data. 64 bytes from 172.25.0.1: icmp_req=1 ttl=64 time=0.738 ms 64 bytes from 172.25.0.1: icmp_req=2 ttl=64 time=0.768 ms 64 bytes from 172.25.0.1: icmp_req=3 ttl=64 time=1.03 ms 64 bytes from 172.25.0.1: icmp_req=4 ttl=64 time=0.781 ms ^C --- 172.25.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.738/0.829/1.031/0.120 ms ```
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.