vps / 技术 / 服务器 / 软件 · 2024 年 7 月 26 日 0

分步指南:在 Ubuntu 22.0.4上安装和设置 OpenVPN 手搓教程[下]

在上一篇文章分享了 服务器的搭建已经配置,如果你还不知道的话可以先看上一篇文章的分享,
分步指南:在 Ubuntu 22.0.4上安装和设置 OpenVPN 手搓教程[上]
我还是服务器系统以Ubuntu 22.0.4为演示!
在开始部署客户端之前,生成客户端的配置和密钥
若要为客户端生成证书,请创建以下文件:
sudo nano /etc/openvpn/build-client-key.sh

添加以下内容:

#!/bin/bash
function build_client_key {
  CLIENT_NAME=$1
  pushd easy-rsa
  export KEY_NAME=$CLIENT_NAME
  echo -ne '\n' | ./easyrsa gen-req $CLIENT_NAME nopass
  echo -ne 'yes' | ./easyrsa sign-req client $CLIENT_NAME
  
  popd
  mkdir -p clients/$CLIENT_NAME/tun_$CLIENT_NAME
  mv easy-rsa/pki/issued/$CLIENT_NAME.crt clients/$CLIENT_NAME/tun_$CLIENT_NAME/
  mv easy-rsa/pki/private/$CLIENT_NAME.key clients/$CLIENT_NAME/tun_$CLIENT_NAME/
  cp keys/ca.crt clients/$CLIENT_NAME/tun_$CLIENT_NAME/
  cp keys/ta.key clients/$CLIENT_NAME/tun_$CLIENT_NAME/
  GREP_BEGIN_END='(?P<dashes>-+)\s?BEGIN\s(?P<name>.+)(?P=dashes)\s(.+\s)+?(?P=dashes)\s?END\s(?P=name)(?P=dashes)'
  cat << EOF > clients/$CLIENT_NAME/tun_$CLIENT_NAME.ovpn
dev                 tun_$CLIENT_NAME
proto               udp
client
remote              (换成自己的服务器ip) 1194
cipher              BF-CBC
auth                SHA256
resolv-retry        infinite
persist-key
persist-tun
#ns-cert-type       server
comp-lzo
keepalive           9 30
verb                3
nobind
tun-mtu             1500
mssfix              1300
mute                20
redirect-gateway autolocal
key-direction 1
#status             /var/log/tun_$CLIENT_NAME.status
<ca>
`cat clients/$CLIENT_NAME/tun_$CLIENT_NAME/ca.crt`
</ca>
<cert>
`cat clients/$CLIENT_NAME/tun_$CLIENT_NAME/$CLIENT_NAME.crt`
</cert>
<key>
`cat clients/$CLIENT_NAME/tun_$CLIENT_NAME/$CLIENT_NAME.key`
</key>
<tls-crypt>
`cat clients/$CLIENT_NAME/tun_$CLIENT_NAME/ta.key`
</tls-crypt>
EOF
  pushd clients
  # tar zcvf tun_$CLIENT_NAME.tar.gz $CLIENT_NAME
  popd
}
export -f build_client_key
bash -c "build_client_key $@"

保存并退出。
授予文件权限:

chmod +x /etc/openvpn/build-client-key.sh

接下来生产客户端配置文件,文件名称自己可以取一个:比如client

cd /etc/openvpn/

/etc/openvpn/build-client-key.sh client

这样客户端的配置文件就生成了,也同步集成了证书,密钥,路径在 /etc/openvpn/clients/client里
查看:
ls /etc/openvpn/clients/client

下载 client.ovpn 文件到客户端,目录/etc/openvpn/clients/client/tun_client.ovpn 接下来下载OpenVPN 客户端安装并运行:
Community Downloads – Open Source VPN | OpenVPN

下载完成后,双击安装程序,按照提示完成安装过程。安装完成后,您可以在Windows托盘中找到OpenVPN的图标。
然后导入配置文件,在桌面上的fsdownload文件夹里,点击连接上OpenVPN
也可以导入到手机端:
关于吊销客户端
比如tun_client.ovpn此用户离开了,可以撤销他的证书以限制他的访问

cd /etc/openvpn/easy-rsa/

sudo ./easyrsa revoke client

sudo ./easyrsa gen-crl

sudo cp pki/crl.pem /etc/openvpn/keys/

要彻底卸载OpenVPN,按以下步骤操作:
1.停止OpenVPN服务:
sudo systemctl stop openvpn
sudo systemctl disable openvpn

2. 删除OpenVPN相关文件:
sudo rm -rf /etc/openvpn
sudo rm -rf /usr/share/doc/openvpn*
sudo rm -rf /var/log/openvpn
sudo rm -rf /etc/systemd/system/multi-user.target.wants/openvpn.service

3.卸载OpenVPN软件包:

sudo apt-get remove --purge openvpn
sudo apt-get autoremove
sudo apt-get autoclean

好了,分享就到此!谢谢大家!