当本地设备需要通过加密通道访问远程网络资源时,OpenVPN 是一个非常成熟且强大的解决方案。本文将介绍如何在 Linux 上快速部署 OpenVPN 并进行详细配置。

1. 快速安装 OpenVPN
我们将使用一个开源脚本来简化安装过程。
1.1 下载并运行脚本
1 2 3 4 5 6 7 8 9 10 11
| mkdir OpenVPN && cd OpenVPN
wget http://pic.uilucky.com/blog/source/assets/blogimage/20240326/10-22-22-JZ265v_openvpn-install.sh
chmod +x openvpn-install.sh
./openvpn-install.sh
|
1.2 交互式配置
运行脚本后,根据指引进行配置:
- IP Address: 确认检测到的公网 IP 是否正确。
- Protocol: 推荐选择 UDP (速度更快),也可以选择 TCP。
- Port: 设置 OpenVPN 监听端口,默认 1194。
- DNS: 选择 DNS 服务器 (如 Google, AdGuard 等)。
- Client Name: 输入第一个客户端用户的名称。
安装完成后,脚本会生成一个 .ovpn 文件(通常在 /root 目录下),将其下载到客户端电脑导入 OpenVPN Connect 即可连接。
2. 服务端配置详解
配置文件默认路径:/etc/openvpn/server.conf
如果修改了配置文件,记得重启服务:
1
| systemctl restart openvpn-server@server.service
|
2.1 常用配置项说明
以下是一些关键配置项的解释,您可以根据需求进行修改:
网络与路由
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 监听端口 port 51194
# 协议 (udp 或 tcp) proto tcp
# 网络设备类型 (tun: 路由模式, tap: 桥接模式) dev tap
# VPN 虚拟网段 (不要与服务器局域网段冲突) server 10.8.0.0 255.255.255.0
# 允许客户端之间互访 client-to-client
|
推送设置 (Push Options)
1 2 3 4 5 6 7 8 9 10 11 12
| # 推送路由信息给客户端 # 让客户端能够访问服务器所在的内网网段 (例如 192.168.0.0/24) push "route 192.168.0.0 255.255.255.0"
# 全局流量转发 # 启用后,客户端的所有上网流量都会通过 VPN 转发 (默认网关重定向) # push "redirect-gateway def1 bypass-dhcp"
# 推送 DNS 设置 # 如果客户端无法打开网页,可能需要推送 DNS # push "dhcp-option DNS 223.5.5.5" # push "dhcp-option DNS 8.8.8.8"
|
证书与安全
1 2 3 4 5 6 7 8 9
| ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/openvpn-server.crt key /etc/openvpn/pki/openvpn-server.key dh /etc/openvpn/pki/dh.pem tls-auth /etc/openvpn/pki/ta.key 0
# 加密算法配置 (建议保持默认或根据客户端支持情况修改) cipher AES-256-CBC auth SHA256
|
日志与运维
1 2 3 4 5 6 7 8
| # 状态日志路径 status /var/log/openvpn/openvpn-status.log
# 运行日志 # log-append /var/log/openvpn/openvpn.log
# 日志级别 (0-9,4 为合理详细程度) verb 4
|