OpenVPN服务器配置指南
安装OpenVPN服务器(Linux)
-
更新包仓库并安装必要软件包:
- 打开终端,执行以下命令以更新包仓库:
sudo apt update
-安装OpenVPN及其依赖项:
sudo apt install openvpn openvpn-contrib openvpn-servers
- 打开终端,执行以下命令以更新包仓库:
-
生成OpenVPN证书和密钥:
- 创建
openvpn用户:sudo useradd -g openvpn openvpn sudo usermod -G openvpn openvpn
- 生成证书和私钥:
# 生成CA证书 openssl req -x509 -newkey rsa:2048 -keyout ca.key -out ca.crt -days 365 -nodes # 生成服务器证书和私钥 openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes # 生成客户端证书和私钥(可选) openssl req -x509 -newkey rsa:2048 -keyout client.key -out client.crt -days 365 -nodes
- 创建
-
配置OpenVPN服务器:
- 打开配置文件
server.conf:sudo nano /etc/openvpn/server.conf
- 添加以下内容:
# 设定为TUN模式,确保所有流量都通过VPN mode server # 使用TUN接口 dev tun # 设置为 TCP 或 UDP,默认为 TCP proto tcp # 端口号,默认为1194 port 1194 # 生成一个唯一的随机前缀 ifaces-push "route 192.168.1. 255.255.255." # 生成一个默认路由,确保所有流量都通过VPN push "route 0... 0..." # 服务器证书和私钥文件 ca ca.crt cert server.crt key server.key # 设置密码,建议使用强密码 password yoursupersecretpassword # 生成DH参数,确保安全性 dh 2048
- 保存并退出编辑器。
- 打开配置文件
-
初始化服务器目录:
- 创建
keys目录并移动证书和私钥:sudo mkdir -p /etc/openvpn/server/keys sudo mv ca.crt server.crt server.key client.crt client.key /etc/openvpn/server/keys/
- 创建
-
启动OpenVPN服务:
- 启动服务:
sudo systemctl start openvpn@server
- 确保服务在系统启动时自动运行:
sudo systemctl enable openvpn@server
- 启动服务:
-
配置防火墙:
- 使用iptables开放端口(假设使用iptables):
sudo iptables -A INPUT -p tcp --dport 1194 -j ACCEPT sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT sudo service iptables save sudo service iptables restart
- 或使用firewalld(RHEL/CentOS):
sudo firewall-cmd --permanent --add-service=openvpn sudo firewall-cmd --permanent --add-port=1194/tcp sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
- 使用iptables开放端口(假设使用iptables):
配置OpenVPN客户端(Windows)
-
下载OpenVPN安装文件:
- 访问OpenVPN下载页面,选择适合你操作系统的安装文件。
-
安装OpenVPN:
双击安装文件,按照指引完成安装。
-
配置客户端:
- 打开OpenVPN客户端,点击“设置”。
- 添加服务器信息:
- 服务器地址:你的服务器IP地址或域名。
- 服务器端口:默认1194。
- 加密方法:选择AES-256-CBC。
- 证书路径:选择你在服务器上生成的
client.crt和client.key文件。
- 点击“连接”,确保连接成功。
-
测试连接:
- 成功连接后,打开命令提示符,输入
ip link show,查看TUN接口是否出现,并显示IP地址。 - 测试与服务器的连接,使用
ping 服务器IP。
- 成功连接后,打开命令提示符,输入
高级配置(可选)
-
设置DNS和NAT:
- 在服务器配置文件中添加DNS服务器:
push "dhcp-option DNS 192.168.1.1"
- 确保客户端能够访问内部网络资源。
- 在服务器配置文件中添加DNS服务器:
-
启用Redundancy和LoadBalancing:
- 在服务器配置文件中添加多个服务器地址:
push "route 192.168.1. 255.255.255." push "dhcp-option DNS 192.168.1.1"
- 配置多个服务器,提高可用性和负载均衡。
- 在服务器配置文件中添加多个服务器地址:
-
设置并发连接限制:
- 在服务器配置文件中添加:
max_clients 100
- 在服务器配置文件中添加:
测试和验证
-
测试连接稳定性:
- 使用
ping和mtr工具测试连接质量,确保延迟和丢包率在可接受范围内。
- 使用
-
检查日志:
- 查看服务器日志,确认是否有错误信息:
sudo tail -f /var/log/openvpn/server.log
- 查看服务器日志,确认是否有错误信息:
-
备份配置:
定期备份服务器配置文件和私钥文件,以便在故障时恢复。
维护和更新
-
定期更新软件:
- 使用包管理器更新OpenVPN和相关软件包:
sudo apt update sudo apt upgrade openvpn openvpn-servers
- 使用包管理器更新OpenVPN和相关软件包:
-
监控和管理:
使用监控工具(如Zabbix或Prometheus)监控OpenVPN服务器的性能和连接状态。
-
安全更新:
定期检查并应用OpenVPN的安全更新,确保防止已知漏洞。
通过以上步骤,你应该能够顺利配置并运行一个安全的OpenVPN服务器,保护你的局域网中的设备通信,记得在配置过程中仔细检查每一步,确保所有配置文件和证书路径正确无误。









