在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为保障网络安全、实现远程访问的重要工具,作为Linux发行版中广受欢迎的操作系统,Ubuntu因其稳定性、开源性和丰富的社区支持,成为搭建个人或企业级OpenVPN服务的理想选择,本文将手把手带你完成Ubuntu系统下OpenVPN服务的搭建全过程,涵盖服务器端安装、证书生成、配置文件编写、防火墙设置以及客户端连接步骤,适合初学者与中级用户参考。

第一步:准备工作
确保你有一台运行Ubuntu Server 20.04/22.04 LTS的物理机或云服务器(如阿里云、腾讯云、AWS等),并拥有root权限或sudo权限,建议使用静态IP地址,便于客户端连接,通过SSH登录服务器后,执行以下命令更新系统:

sudo apt update && sudo apt upgrade -y

第二步:安装OpenVPN和Easy-RSA
OpenVPN是开源的SSL/TLS协议实现,而Easy-RSA用于生成数字证书和密钥,执行如下命令安装:

sudo apt install openvpn easy-rsa -y

第三步:初始化PKI(公钥基础设施)
复制Easy-RSA模板到本地目录,并配置证书参数:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
nano vars

vars文件中修改以下参数(可根据需要调整):

  • KEY_COUNTRY="CN"
  • KEY_PROVINCE="Beijing"
  • KEY_CITY="Beijing"
  • KEY_ORG="MyCompany"
  • KEY_EMAIL="admin@mycompany.com"

保存退出后,执行脚本初始化证书颁发机构(CA):

./clean-all
./build-ca

第四步:生成服务器证书和密钥
继续执行以下命令,生成服务器证书和密钥文件:

./build-key-server server
./build-key client1

注意:client1是客户端名称,可按需创建多个客户端。

第五步:生成Diffie-Hellman参数和TLS密钥
这些参数增强加密强度:

./build-dh
openvpn --genkey --secret ta.key

第六步:配置OpenVPN服务端
复制必要文件至OpenVPN配置目录:

cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,ta.key,dh2048.pem} /etc/openvpn/

编辑主配置文件:

sudo nano /etc/openvpn/server.conf

添加以下关键配置(根据网络环境调整):

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

第七步:启用IP转发与防火墙规则
编辑/etc/sysctl.conf,取消注释:

net.ipv4.ip_forward=1

应用更改:

sysctl -p

配置iptables(若使用UFW则更简单):

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

第八步:启动OpenVPN服务

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

第九步:客户端配置
ca.crtclient1.crtclient1.keyta.key打包发送给客户端,创建.ovpn配置文件(示例):

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
comp-lzo
verb 3

将该文件导入OpenVPN客户端即可连接。

至此,你的Ubuntu OpenVPN服务已成功搭建!整个过程无需复杂依赖,安全可靠,适合家庭或小型企业使用,记住定期备份证书,防止意外丢失,欢迎在评论区交流经验!

Ubuntu系统下搭建OpenVPN服务的完整教程,从安装到客户端配置详解  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN