
docker离线安装
一、准备工作:确认架构并下载安装包 1.1 确认目标服务器架构 在目标服务器上执行以下命令,确认系统架构: 输出 x8664:对应 amd64 架构(Intel/AMD 64位服务
操作系统:推荐使用 Ubuntu 22.04 / Debian 12
权限:需要 root 或 sudo 权限
网络:确保服务器有公网 IP,并且 UDP 1194 端口可访问(OpenVPN 默认端口)
sudo apt update sudo apt install -y openvpn easy-rsa
openvpn:VPN 服务端和客户端工具
easy-rsa:用于生成证书和密钥
初始化 PKI 目录:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
编辑 vars 文件(可选修改默认参数,如国家、组织等):
nano vars
示例修改:
set_var EASYRSA_REQ_COUNTRY "CN" set_var EASYRSA_REQ_PROVINCE "Beijing" set_var EASYRSA_REQ_CITY "Beijing" set_var EASYRSA_REQ_ORG "MyVPN" set_var EASYRSA_REQ_EMAIL "admin@example.com" set_var EASYRSA_REQ_OU "MyVPN-Unit"
初始化 PKI 并生成 CA:
./easyrsa init-pki ./easyrsa build-ca nopass
nopass表示 CA 不设置密码(方便自动化,如果安全要求高,可以不加)
生成服务器证书和密钥:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
生成 Diffie-Hellman 参数:
./easyrsa gen-dh
生成 HMAC 认证密钥(加强安全):
openvpn --genkey --secret ta.key
创建服务端配置文件:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz
编辑 /etc/openvpn/server.conf,修改关键参数:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem tls-auth ta.key 0 cipher AES-256-CBC auth SHA256 server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" keepalive 10 120 persist-key persist-tun status openvpn-status.log log-append /var/log/openvpn.log verb 3
将生成的证书和密钥复制到 /etc/openvpn/:
sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/ sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/ sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/ sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/ sudo cp ~/openvpn-ca/ta.key /etc/openvpn/
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server sudo systemctl status openvpn@server
确认没有报错,即服务器启动成功。
生成客户端证书:
cd ~/openvpn-ca ./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
生成客户端配置文件模板(例如 client.ovpn):
client dev tun proto udp remote <服务器公网IP> 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC auth SHA256 key-direction 1 verb 3 <ca> # 将 ca.crt 内容复制到这里 </ca> <cert> # 将 client1.crt 内容复制到这里 </cert> <key> # 将 client1.key 内容复制到这里 </key> <tls-auth> # 将 ta.key 内容复制到这里 </tls-auth>
可以为每个客户端生成单独配置,便于管理。
下载 OpenVPN 客户端:
Windows / macOS:官网下载 GUI 版本
Linux:sudo apt install openvpn
将 client.ovpn 文件导入客户端,连接即可。
Linux 命令行连接示例:
sudo openvpn --config client.ovpn
查看在线客户端:
cat /etc/openvpn/openvpn-status.log
禁用客户端(删除对应证书或 CRL):
./easyrsa revoke client1 ./easyrsa gen-crl sudo cp ~/openvpn-ca/pki/crl.pem /etc/openvpn/
重启 OpenVPN 服务:
sudo systemctl restart openvpn@server
客户端连接成功后,执行:
ping 10.8.0.1
验证公网 IP 已被 VPN 转发:
curl ifconfig.me
✅ 至此,一个基础的本地 OpenVPN 已经部署完成,并且支持多用户管理和客户端连接。
评论 0