安装OpenVPN
在服务器上安装OpenVPN:
- Debian/Ubuntu:
sudo apt-get update sudo apt-get install openvpn
- RedHat/CentOS:
sudo yum update sudo yum install openvpn
生成证书和密钥
使用easy-rsa工具生成证书和密钥:
- 安装
easy-rsa:sudo apt-get install easy-rsa
- 生成证书和密钥:
cd /etc/openvpn sudo easy-rsa --init-server sudo touch server.key sudo touch server.pem sudo touch ca.key sudo touch ca.pem
- 配置证书和密钥:
sudo cp server.key server.pem ca.key ca.pem /etc/openvpn/ chmod 400 /etc/openvpn/{server,key,ca,*.pem}
配置OpenVPN服务器
创建配置文件server.conf:
sudo nano /etc/openvpn/server.conf
port 1194 proto tcp key_size 2048 ca /etc/openvpn/ca.pem cert /etc/openvpn/server.pem crl /etc/openvpn/ca.crl dh /etc/openvpn/dh2048.pem push "route 192.168.1. 255.255.255." push "route 10.10.1. 255.255.255."
生成密钥:
sudo openvpn --genkey --pkcs12 /etc/openvpn/server.pki
启动OpenVPN服务
-
创建启动脚本(以systemd为例):
sudo nano /etc/systemd/system/openvpn@.service
[Unit] Description=OpenVPN server After=network.target [Service] ExecStart=/usr/sbin/openvpn --daemon --config /etc/openvpn/server.conf User=openvpn Group=openvpn ProtectHome=true PrivateDevices=yes [Install] WantedBy=multi-user.target
-
启动服务并启用:
sudo systemctl daemon-reload sudo systemctl enable openvpn@* sudo systemctl start openvpn@*
测试连接
使用客户端连接到服务器,确保能够成功登录。
管理用户和权限
创建OpenVPN用户:
sudo useradd -g openvpn -d /dev/null -s /bin/false openvpn sudo passwd openvpn
设置权限:
mkdir -p /home/openvpn/.openvpn chmod 700 /home/openvpn/.openvpn
定期维护
- 清理旧连接:
sudo openvpn --flush-sessions
- 更新软件:
sudo apt-get update && sudo apt-get upgrade openvpn
- 备份配置:
sudo mv /etc/openvpn/* /etc/openvpn.bak
处理可能的错误
- 连接被拒绝:检查防火墙规则,确保1194端口开放。
- 日志问题:查看
/var/log/auth.log或/var/log/openvpn,查找错误信息。 - 证书问题:检查证书是否过期,私钥是否被损坏。
高级配置(可选)
- x509证书:
sudo openvpn --x509 /etc/openvpn/ca.pem /etc/openvpn/server.pem
- TLSv1.2支持:
proto tcp-client cipher TLSv1.2
- IP转换:
push "redirect-gw %s"`
通过以上步骤,您可以成功配置并管理OpenVPN服务器,确保其安全稳定运行,如果在过程中遇到问题,可以查阅OpenVPN的官方文档或社区获取进一步帮助。




