本文详细介绍了在Linux环境下搭建CA认证VPN的步骤。阐述了CA认证VPN的概念和优势,接着逐步展示了配置OpenVPN服务器和客户端的过程,包括创建CA证书、服务器和客户端证书,以及配置文件设置。还涵盖了网络配置、防火墙规则设置和客户端连接方法,旨在帮助读者成功搭建并使用CA认证VPN。
准备工作
在进行搭建之前,我们需要做好以下准备工作:
服务器端
操作系统:推荐使用CentOS 7或Ubuntu 18.04等稳定版本的Linux操作系统。
硬件要求:根据预计连接的客户端数量,选择相应的硬件配置。
客户端
操作系统:支持Linux、Windows、macOS等主流操作系统。
搭建CA认证中心
1. 创建CA证书存储目录
在服务器上创建一个用于存储CA证书的目录:
mkdir -p /etc/openvpn/ca
2. 创建CA私钥
使用OpenSSL工具生成CA私钥:
openssl genpkey -algorithm RSA -out /etc/openvpn/ca/private/ca.key -pkeyopt rsa_keygen_bits:4096
3. 创建CA自签名证书
使用OpenSSL工具生成CA自签名证书:
openssl req -x509 -new -nodes -key /etc/openvpn/ca/private/ca.key -sha256 -days 3650 -out /etc/openvpn/ca/ca.crt -config /etc/openvpn/ca/ca.cnf
4. 创建CA配置文件
创建CA配置文件ca.cnf
如下:
[ ca ] default_ca = CA_default [ CA_default ] dir = /etc/openvpn/ca certs = $dir crl_dir = $dir database = $dir/index.txt new_certs_dir = $dir random_file = $dir/.rand default_md = sha256 policy = policy_default serial = $dir/serial crlnumber = $dir/crlnumber RANDFILE = $dir/.rand x509_extensions = x509_ext name_opt = ca_issuer_name cert_opt = ca_cert_name [ policy_default ] countryName = match stateOrProvinceName = match organizationName = OpenVPN-CA organizationalUnitName = OpenVPN-CA commonName = match emailAddress = match [ x509_ext ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer [ crl_ext ] crl_number = next_crl [ ca_issuer_name ] countryName = CN stateOrProvinceName = Beijing organizationName = OpenVPN-CA commonName = CA
5. 初始化CA数据库
openssl ca -config /etc/openvpn/ca/ca.cnf -newca
搭建OpenVPN服务器
1. 安装OpenVPN
- 对于CentOS系统:
yum install openvpn easy-rsa
- 对于Ubuntu系统:
apt-get install openvpn easy-rsa
2. 生成服务器证书和私钥
source /etc/openvpn/easy-rsa/vars openssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:4096 openssl req -new -key server.key -out server.csr -config /etc/openvpn/easy-rsa/openssl.cnf openssl ca -in server.csr -out server.crt -config /etc/openvpn/easy-rsa/openssl.cnf
3. 创建服务器配置文件
在/etc/openvpn
目录下创建一个名为server.conf
的文件,内容如下:
port 1194 proto udp dev tun ca /etc/openvpn/ca/ca.crt cert /etc/openvpn/ca/server.crt key /etc/openvpn/ca/server.key dh /etc/openvpn/dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 cipher AES-256-CBC user nobody group nogroup tls-auth ta.key 0 auth-user-pass-file /etc/openvpn/auth log /var/log/openvpn.log status openvpn-status.log
4. 生成DH参数
openvpn --genkey --secret /etc/openvpn/dh2048.pem
5. 生成TLS密钥
openvpn --genkey --secret /etc/openvpn/ta.key
6. 启动OpenVPN服务
systemctl start openvpn@server.service systemctl enable openvpn@server.service
搭建OpenVPN客户端
1. 生成客户端证书和私钥
source /etc/openvpn/easy-rsa/vars openssl req -new -key client.key -out client.csr -config /etc/openvpn/easy-rsa/openssl.cnf openssl ca -in client.csr -out client.crt -config /etc/openvpn/easy-rsa/openssl.cnf
2. 创建客户端配置文件
在客户端上创建一个名为client.ovpn
的文件,内容如下:
client proto udp remote <服务器IP> 1194 resolv-retry infinite nobind ca /path/to/ca.crt cert /path/to/client.crt key /path/to/client.key tls-auth /path/to/ta.key 1 cipher AES-256-CBC auth-user-pass /path/to/auth log /path/to/openvpn.log
3. 启动OpenVPN客户端
openvpn --config /path/to/client.ovpn
通过本文的详细指导,您现在可以在Linux环境下成功搭建CA认证的VPN服务器和客户端,在实际应用中,您可以根据需求调整服务器和客户端的配置,以满足不同的使用场景。
未经允许不得转载! 作者:烟雨楼,转载或复制请以超链接形式并注明出处快连vpn。
原文地址:https://le-tsvpn.com/vpnpingjia/79272.html发布于:2024-11-15
还没有评论,来说两句吧...