安装OpenVPN服务器 在 Ubuntu/Debian 系统中安装 OpenVPN 更新软件包索引:sudo apt update 安装 OpenVPN 和相关工具:sudo apt install openvpn easy-rsa 启动 OpenVPN 服务并启用系统启动脚本:sudo systemctl start openvpn sudo systemctl enable openvpn 在 Windows 系统中安装 OpenVPN 下载并安装 OpenVPN 界面工具。 从 OpenVPN官网 下载安装文件。 安装后,运行 OpenVPN 界面工具。 配置 OpenVPN 服务器 生成证书(使用 easy-rsa 工具) 创建并进入 CA 证书目录: mkdir -p /etc/openvpn/easy-rsa/keys cd /etc/openvpn/easy-rsa/keys 初始化 CA 证书: ./easy-rsa.sh --init-ca 生成服务器证书和密钥: ./easy-rsa.sh --server 填写必要信息: CA 证书路径:/etc/openvpn/easy-rsa/keys/ca.crt 服务器证书路径:/etc/openvpn/easy-rsa/keys/server.crt 服务器密钥路径:/etc/openvpn/easy-rsa/keys/server.key 输入密码,记住这两个密码。 生成客户端证书和密钥(可选): ./easy-rsa.sh --client 类似地填写信息,生成客户端证书和密钥。 配置 OpenVPN 服务器配置文件 创建配置文件:sudo cp /usr/share/openvpn/server.conf /etc/openvpn/server.conf 编辑配置文件:sudo nano /etc/openvpn/server.conf 设置参数: 绑定地址和端口:listen 1194 bind 192.168.2.1 设置为服务器模式:server 设置协议版本:proto udp proto...
安装OpenVPN服务器
在 Ubuntu/Debian 系统中安装 OpenVPN
- 更新软件包索引:
sudo apt update
- 安装 OpenVPN 和相关工具:
sudo apt install openvpn easy-rsa
- 启动 OpenVPN 服务并启用系统启动脚本:
sudo systemctl start openvpn sudo systemctl enable openvpn
在 Windows 系统中安装 OpenVPN
- 下载并安装 OpenVPN 界面工具。
- 从 OpenVPN官网 下载安装文件。
- 安装后,运行 OpenVPN 界面工具。
配置 OpenVPN 服务器
生成证书(使用 easy-rsa 工具)
-
创建并进入 CA 证书目录:
mkdir -p /etc/openvpn/easy-rsa/keys cd /etc/openvpn/easy-rsa/keys
-
初始化 CA 证书:
./easy-rsa.sh --init-ca
-
生成服务器证书和密钥:
./easy-rsa.sh --server
- 填写必要信息:
- CA 证书路径:
/etc/openvpn/easy-rsa/keys/ca.crt - 服务器证书路径:
/etc/openvpn/easy-rsa/keys/server.crt - 服务器密钥路径:
/etc/openvpn/easy-rsa/keys/server.key
- CA 证书路径:
- 输入密码,记住这两个密码。
- 填写必要信息:
-
生成客户端证书和密钥(可选):
./easy-rsa.sh --client
类似地填写信息,生成客户端证书和密钥。
配置 OpenVPN 服务器配置文件
- 创建配置文件:
sudo cp /usr/share/openvpn/server.conf /etc/openvpn/server.conf
- 编辑配置文件:
sudo nano /etc/openvpn/server.conf
- 设置参数:
- 绑定地址和端口:
listen 1194 bind 192.168.2.1
- 设置为服务器模式:
server
- 设置协议版本:
proto udp proto tcp
- 设置密码验证:
auth user-pass
- 设置证书和密钥路径:
ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key
- 设置管理用户:
user manager pass 12345678
- 绑定地址和端口:
- 保存并关闭编辑器。
设置 OpenVPN 服务器权限
-
创建管理用户:
sudo useradd -g openvpn -s /bin/false manager sudo passwd manager
输入密码,记住它。
-
设置 OpenVPN 运行用户:
sudo nano /etc/openvpn/server.conf
- 添加以下行:
user-openvpn group-openvpn
- 保存并退出编辑器。
- 添加以下行:
配置 OpenVPN 客户端(可选)
生成客户端证书和密钥
- 复制并编辑客户端配置文件:
sudo cp /usr/share/openvpn/cli.conf /etc/openvpn/cli.conf
- 编辑配置文件:
sudo nano /etc/openvpn/cli.conf
- 设置客户端参数:
- 服务器信息:
remote 192.168.2.1 1194
- 证书和密钥路径:
cert /etc/openvpn/easy-rsa/keys/client.crt key /etc/openvpn/easy-rsa/keys/client.key
- 设置为客户端模式:
client
- 服务器信息:
- 生成并安装客户端证书:
./easy-rsa.sh --client
- 根据提示输入信息。
- 安装客户端证书和密钥。
测试 OpenVPN 连接
使用 OpenVPN 管理界面测试
- 启动 OpenVPN 服务:
sudo systemctl start openvpn
- 连接测试:
- 在 OpenVPN 界面工具中,点击“连接”按钮,输入服务器地址和端口(如
168.2.1:1194)。 - 输入客户端证书和密码,点击“连接”。
- 在 OpenVPN 界面工具中,点击“连接”按钮,输入服务器地址和端口(如
使用命令行测试
- 生成管理用户证书:
./easy-rsa.sh --generate-client-cert server manager
- 连接测试:
sudo openvpn --remote 192.168.2.1 --port 1194 --cert /etc/openvpn/easy-rsa/keys/client.crt --key /etc/openvpn/easy-rsa/keys/client.key
输入管理用户的密码,尝试连接。
后续配置
设置 OpenVPN 服务为系统服务
- 启用和启动服务:
sudo systemctl enable openvpn sudo systemctl start openvpn
设置 OpenVPN 管理界面(可选)
- 安装 Nginx 和 PHP-FPM:
sudo apt install nginx php-fpm
- 配置 Nginx:
sudo nano /etc/nginx/sites-available/default
- 添加以下内容:
server { listen 443; server_name your-server.com; proxy_pass http://localhost:808; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
- 添加以下内容:
- 启动 Nginx 服务:
sudo systemctl start nginx
处理证书续费
- 定期续费 CA 证书:
./easy-rsa.sh --renew-ca
- 续费服务器和客户端证书:
./easy-rsa.sh --renew-server ./easy-rsa.sh --renew-client
安全注意事项
- 定期备份配置文件和证书。
- 限制管理用户访问,确保只允许管理所有权限的用户登录。
- 配置防火墙,只允许 OpenVPN 服务通过。
- 监控日志文件,及时处理错误和警告。
额外配置(可选)
- 限制 OpenVPN 服务器的协议:
proto udp proto tcp
- 设置 IPMASQ 为服务器地址:
push "route 192.168.2.1 255.255.255."
- 启用 IPv6:
enable_ipv6=yes
通过以上步骤,你应该可以成功配置并运行 OpenVPN 服务器,记得定期检查日志文件和更新证书,以确保服务的稳定性和安全性。

相关文章







