openvpn使用CA颁发的证书建立连接.note
1、server(颁发vpn证书):
vim /etc/ssl/openssl.cnf
# 书写VPN客户端和服务器的公网IP地址:
## 需要手动添加 keyUsage(将extendedKeyUsage取消注释后添加 serverAuth,clientAuth)
keyUsage 只需要取消注释即可

subjectAltName字段写什么都不会影响连接。

# 颁发证书:
/usr/lib/ssl/misc/CA.pl -newreq-nodes
/usr/lib/ssl/misc/CA.pl -sign
## 证书字段最好按照server3那样写,虽然题目没说
# 生成dh文件:
openssl dhparam -out dh2048.pem 20482、router(vpn服务器):
(1)配置openvpn:
# 先将server上的证书拷贝到本地
scp root@47.119.161.25:~/new* /etc/openvpn
scp root@47.119.161.25:~/ca.crt /etc/openvpn //根证书
scp root@47.119.161.25:~/dh2048.pem /etc/openvpn //dh
# 使用 openvpn --help 可以查看完整代码:
openvpn --genkey secret ta.key
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf .
vim server.conf



# 本地信任根证书:
scp ca.crt /usr/local/share/ca-certificates
update-ca-certificates
# 将证书、文件改名为跟server.conf 中同名的文件
mv newcert.pem server.crt
mv newcert.key server.key
# 启动 openvpn@server:
systemctl restart openvpn@server
systemctl enable openvpn@serveropenvpn服务器最好一直开启和enable
openvpn客户端做完后直接关闭且disable
3、remote(openvpn客户端):
apt install -y openvpn
scp root@202.96.128.2:/etc/openvpn/* /etc/openvpn
rm /etc/openvpn/server.conf
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .
mv server.crt client.crt
mv server.key client.key
vim client.conf

systemctl restart openvpn@client
# 连接成功后立马关闭VPN,也不要配置enable