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

09-38-08-J2VxkM_扫码_搜索联合传播样式-标准色版

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 交互式配置

运行脚本后,根据指引进行配置:

  1. IP Address: 确认检测到的公网 IP 是否正确。
  2. Protocol: 推荐选择 UDP (速度更快),也可以选择 TCP。
  3. Port: 设置 OpenVPN 监听端口,默认 1194。
  4. DNS: 选择 DNS 服务器 (如 Google, AdGuard 等)。
  5. 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