本文详细介绍了在Linux环境下搭建CA认证VPN的步骤。阐述了CA认证VPN的概念和优势,接着逐步展示了配置OpenVPN服务器和客户端的过程,包括创建CA证书、服务器和客户端证书,以及配置文件设置。还涵盖了网络配置、防火墙规则设置和客户端连接方法,旨在帮助读者成功搭建并使用CA认证VPN。

Linux下CA认证VPN搭建全攻略,linux搭建ca认证vpn,VPN网络,第1张

准备工作

在进行搭建之前,我们需要做好以下准备工作:

服务器端

操作系统:推荐使用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

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1人围观)

还没有评论,来说两句吧...