在当今远程办公和数据隐私日益重要的时代,搭建一个属于自己的 Ubuntu VPN服务器 不仅能保障网络通信安全,还能实现异地访问内网资源。本教程将手把手教你如何在 Ubuntu 系统上使用 OpenVPN 搭建一个功能完整、安全可靠的 VPN 服务器。即使你是 Linux 新手(小白),也能轻松完成配置!

在开始之前,请确保你具备以下条件:
首先,我们需要更新系统软件包,并安装 OpenVPN 及其配套工具 Easy-RSA(用于生成证书和密钥)。
sudo apt updatesudo apt upgrade -ysudo apt install openvpn easy-rsa -y我们将使用 Easy-RSA 创建一个独立的 PKI 目录,避免影响系统原有文件。
mkdir ~/openvpn-cacp -r /usr/share/easy-rsa/* ~/openvpn-ca/cd ~/openvpn-ca编辑 vars 文件以设置你的 CA(证书颁发机构)信息:
nano vars在文件末尾找到如下字段并按需修改(可选,但建议填写):
export KEY_COUNTRY="CN"export KEY_PROVINCE="Beijing"export KEY_CITY="Beijing"export KEY_ORG="MyCompany"export KEY_EMAIL="admin@example.com"export KEY_OU="MyVPN"保存并退出(Ctrl+O → Enter → Ctrl+X)。
初始化 PKI 并生成 CA:
./easyrsa init-pki./easyrsa build-ca系统会提示你输入 CA 密码(建议设置)和通用名称(如:MyVPNCa)。
接着生成服务器证书和密钥(不加密私钥,便于自动启动):
./easyrsa gen-req server nopass./easyrsa sign-req server server再生成 Diffie-Hellman 参数(用于密钥交换)和 TLS 认证密钥:
./easyrsa gen-dhopenvpn --genkey --secret pki/ta.key将生成的证书和密钥复制到 OpenVPN 配置目录:
sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem pki/ta.key /etc/openvpn/server/创建服务器配置文件 /etc/openvpn/server/server.conf:
sudo nano /etc/openvpn/server/server.conf填入以下内容(已优化,适合大多数场景):
port 1194proto udp# 使用 tun 设备(路由模式)dev tun# 证书和密钥路径ca ca.crtcert server.crtkey server.keydh dh.pemtls-auth ta.key 0# 加密方式cipher AES-256-CBCauth SHA256# 虚拟子网(客户端将从此网段获取IP)server 10.8.0.0 255.255.255.0# 客户端特定配置目录client-config-dir /etc/openvpn/ccd# 允许客户端之间通信client-to-client# 保持连接keepalive 10 120# 压缩(可选,部分客户端需开启 comp-lzo)compress lz4-v2push "compress lz4-v2"# 将客户端 DNS 设置为 Google DNS(可自定义)push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"# 允许客户端访问服务器所在局域网(可选);push "route 192.168.1.0 255.255.255.0"# 以 nobody 用户运行(安全加固)user nobodygroup nogroup# 持久化选项persist-keypersist-tun# 日志status openvpn-status.logverb 3explicit-exit-notify 1为了让客户端通过 VPN 访问外网,需开启 IP 转发:
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.confsudo sysctl -p配置 UFW 防火墙(若未安装可跳过,或使用 iptables):
sudo ufw allow 1194/udpsudo ufw allow OpenSSH# 启用 NAT 转发sudo nano /etc/ufw/before.rules在文件顶部添加以下内容(在 *filter 之前):
# START OPENVPN RULES# NAT table rules*nat:POSTROUTING ACCEPT [0:0]# Allow traffic from OpenVPN client to eth0 (change eth0 to your interface)-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADECOMMIT# END OPENVPN RULES然后启用 UFW:
sudo ufw enablesudo systemctl start openvpn-server@server.servicesudo systemctl enable openvpn-server@server.service检查服务状态:
systemctl status openvpn-server@server.service为每个用户生成客户端证书(例如用户 client1):
cd ~/openvpn-ca./easyrsa gen-req client1 nopass./easyrsa sign-req client client1创建客户端配置模板 client.ovpn:
clientdev tunproto udpremote YOUR_SERVER_IP 1194resolv-retry infinitenobindpersist-keypersist-tunremote-cert-tls servercipher AES-256-CBCauth SHA256key-direction 1compress lz4-v2verb 3将以下文件合并成一个 .ovpn 文件供客户端使用:
ca.crtclient1.crtclient1.keyta.keyclient.ovpn 配置你可以使用脚本自动合并,或手动用文本编辑器拼接(注意格式)。
至此,你已经成功完成了 Ubuntu VPN服务器配置!通过本教程,你不仅学会了如何安装和配置 OpenVPN,还掌握了证书管理、防火墙设置等关键技能。现在,你可以在任何支持 OpenVPN 的设备上导入客户端配置文件,安全地连接到你的私有网络。
记住定期更新系统和 OpenVPN,以确保 Linux远程访问安全。如果你在 Ubuntu搭建VPN 过程中遇到问题,欢迎查阅官方文档或社区论坛。
希望这篇 OpenVPN安装教程 对你有所帮助!祝你网络安全无忧!
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123931.html