OpenVPN で CRL の有効期限が切れ、接続できなくなる場合の対処です。CRL は失効証明書リストであり、有効期限が切れると OpenVPN 2.4 以降では接続検証で問題になることがあります。
参考
書籍
書籍
参考書籍
マスタリング TCP/IP ルーティング編
ルーティング、NAT、VPN、ネットワーク設計の基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
現象
VERIFY ERROR: depth=0, error=CRL has expired
TLS Error: TLS handshake failed原因
easy-rsa の設定で CRL の有効期限が短い場合、`crl.pem` を作成してから期限を過ぎると OpenVPN が失効リストを信頼できず、接続を拒否します。
CRL 有効期限の確認
openssl crl -in /etc/openvpn/crl.pem -noout -nextupdate
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdateCRL の再生成
cd /etc/openvpn/easy-rsa
./easyrsa gen-crl
sudo cp pki/crl.pem /etc/openvpn/crl.pem
sudo chmod 644 /etc/openvpn/crl.pem
sudo systemctl restart openvpn-server@server運用上の注意
CRL は一度作って終わりではなく、期限管理が必要です。証明書運用では、サーバー証明書、クライアント証明書、CA、CRL の期限をまとめて確認する仕組みを用意した方が安全です。
まとめ
OpenVPN の CRL 期限切れは、証明書自体が有効でも接続不能を引き起こします。定期的に CRL の nextUpdate を確認し、期限切れ前に再生成する運用にします。
OpenVPN CRL 有効期限切れで接続できない場合の対処




