OpenVPN详细教程:Ubuntu服务器与Windows客户端配置全解析

2024-06-21 李腾 592 次阅读 1 次点赞
本指南详细介绍了OpenVPN的完整安装和配置流程,涵盖服务器端证书生成、服务配置及客户端连接的全过程。通过将SSH端口和网站后台置于内网,仅通过VPN访问,配合nginx最小化公网暴露,显著提升服务器安全性。特别适合有建站需求的个人用户,提供从环境准备到问题排查的完整解决方案。

OpenVPN是一款免费开源的VPN软件,用于安全访问企业内网。当建站时,通常将服务器ssh端口和网站后台放到内网,只允许通过VPN进行访问,只把网站所需最少的接口使用nginx代理到公网上,大大提高了服务器的安全性。由于OpenVPN免费开源,特别适合有建站需求的个人用户。

常用地址

官网:Business VPN For Secure Networking ~| OpenVPN

源码:OpenVPN/openvpn: OpenVPN is an open source VPN daemon (github.com)

下载地址:Community Downloads - Open Source VPN ~| OpenVPN

相关路径

服务:/usr/lib/systemd/system/openvpn.service

配置文件:/etc/openvpn

文档:/usr/share/doc/openvpn

示例配置文件:/usr/share/doc/openvpn/examples/sample-config-files

安装方法

服务端

本文以ubuntu安装OpenVPN为例介绍,其他Linux发行版类似。

1、安装OpenVPN并为easy-rsa创建软链接,方便后续执行命令。

sudo apt update
sudo apt install openvpn easy-rsa
sudo ln -s /usr/share/easy-rsa/easyrsa /usr/bin/easyrsa

2、创建临时目录,用于生成证书。

cd ~
mkdir openvpn
cd openvpn

3、生成CA证书和CA证书密钥。

cd ~/openvpn
easyrsa init-pki              # 建立一个空的pki结构,生成一系列的文件和目录
easyrsa build-ca              # 创建CA证书,输入密码和CA文件名称

下面是这几个命令生成的文件:

CA证书:/openvpn/pki/ca.crt

CA证书密钥:/openvpn/pki/private/ca.key

ScreenShot_2025-10-30_091208_989.png

4、生成服务端证书和服务端密钥。

cd ~/openvpn
easyrsa gen-req server nopass # 创建服务端证书
easyrsa sign server server    # 给服务端证书签名,需要输入CA证书密码
easyrsa gen-dh                # 创建Diffie-Hellman

下面是这几个命令生成的文件:

服务端证书:/openvpn/pki/issued/server.crt

服务端密钥:/openvpn/pki/private/server.key

dh文件:/openvpn/pki/dh.pem

ScreenShot_2025-10-30_091623_446.png

5、生成客户端证书请求文件和客户端密钥。

cd ~/openvpn
easyrsa gen-req test_user # 需要输入客户端证书密码和Common Name
easyrsa sign client test_user # 签名,需要输入CA证书密码

下面是这几个命令生成的文件:

客户端证书:/openvpn/pki/issued/test_user.crt

客户端密钥:/openvpn/pki/private/test_user.key

ScreenShot_2025-10-30_092452_398.png

6、把证书拷贝到OpenVPN目录下。

cd /etc/openvpn
sudo mkdir keys
cd keys
sudo cp ~/openvpn/pki/ca.crt ./
sudo cp ~/openvpn/pki/private/server.key ./
sudo cp ~/openvpn/pki/issued/server.crt ./
sudo cp ~/openvpn/pki/dh.pem ./

ScreenShot_2025-10-30_093123_583.png

7、复制并修改OpenVPN服务端配置。

执行命令

cd /usr/share/doc/openvpn/examples/sample-config-files
sudo cp client.conf /etc/openvpn/client
sudo cp server.conf /etc/openvpn/server
sudo cp firewall.sh /etc/openvpn/
sudo cp firewall.sh /etc/openvpn/
cd /etc/openvpn/

ScreenShot_2025-10-30_100238_200.png

8、编辑服务端配置文件。

cd /etc/openvpn/server
sudo vim server.conf

主要修改以下几个配置:

port 1194
proto tcp
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /ect/openvpn/keys/server.key
dh /etc/openvpn/keys/dh.pem

9、如果有防火墙,请放开服务器1194 TCP端口。

10、启动OpenVPN服务并设置为开机自启动。

sudo systemctl start openvpn
sudo systemctl enable openvpn

客户端

1、从服务器上下载CA证书、客户端证书和密钥到这个文件夹:C:\Users\test_user\OpenVPN\keys。

~/openvpn/pki/ca.crt
~/openvpn/pki/issued/test_user.crt
~/openvpn/pki/private/test_user.key

2、下载OpenVPN客户端Windows版。

下载地址:https://openvpn.net/community/

ScreenShot_2025-10-30_102011_795.png

3、修改客户端配置。

编辑文件C:\Users\liteng\OpenVPN\config\client.ovpn,主要修改以下几个配置:

proto tcp
remote 192.168.202.1 1941
ca C:\\Users\\test_user\\OpenVPN\\keys\\ca.crt
cert C:\\Users\\test_user\\OpenVPN\\keys\\test_user.crt
key C:\\Users\\test_user\\OpenVPN\\keys\\test_user.key

4、双击启动OpenVPN客户端即可,日志里会显示服务器VPN代理的IP地址。

ScreenShot_2025-10-17_194746_090.png

常见问题

1、/usr/share/doc/openvpn/examples/sample-config-files中不存在任何文件。

点击这里下载sample-config-files.zip。

本文由人工编写,AI优化,转载请注明原文地址: OpenVPN安装配置完整指南:从零搭建安全VPN服务器与客户端

评论 (1)

登录后发表评论
刘小萌2025-11-23 17:51:16
很详细的OpenVPN搭建教程,跟着一步步操作终于成功了!对服务器安全更有底了,感谢作者分享!