类别:CentOS / 日期:2025-11-24 / 浏览:25 / 评论:0
参考之前文章《Ubuntu22.04安装openvpn客户端》
在 CentOS 7 上安装和配置 OpenVPN 客户端的完整步骤:
1. 安装 OpenVPN 客户端
# 更新系统 sudo yum update -y # 安装 EPEL 仓库 sudo yum install epel-release -y # 安装 OpenVPN sudo yum install openvpn -y # 验证安装 openvpn --version
2. 准备配置文件
创建配置目录
sudo mkdir -p /etc/openvpn/client
上传客户端配置文件
将 OpenVPN 服务端提供的以下文件上传到 /etc/openvpn/client/:
你需要从你的 VPN 服务提供商处获取以下文件:
客户端配置文件(通常以 .ovpn 结尾,如 client.ovpn)
证书/密钥文件(如 ca.crt、client.crt、client.key)
此外,还需要以下两个文件auth.txt和pass.txt
3. 配置 OpenVPN
将 client.ovpn、ca.crt、client.crt、client.key配置文件复制到 /etc/openvpn/client/
设置权限(防止泄露):
sudo chmod 600 /etc/openvpn/client/client.key
创建证书私钥密码文件
sudo vi /etc/openvpn/client/pass.txt
写入证书私钥密码(单行,无多余空格或换行。此密码为当初创建证书key时设的):
your_private_key_password
设置权限(防止泄露):
sudo chmod 600 /etc/openvpn/client/pass.txt
创建登录用户和密码文件,用户一行,密码为另一行,不能有其它多余字符,例如用户名是:admin,密码是:abc123456
sudo vi /etc/openvpn/client/auth.txt
内容:
admin abc123456
设置权限(防止泄露):
sudo chmod 600 /etc/openvpn/client/auth.txt
以上文件保存路径和权限如图所示
4.修改 client.ovpn 配置文件
sudo vi /etc/openvpn/client/client.ovpn
以下是我的配置:
client dev tun proto tcp #端口类型 remote vpn.itdog.net 9454 #远程服务器和端口 resolv-retry infinite #确保在域名解析临时失败时自动恢复 nobind persist-key persist-tun tls-client remote-cert-tls server verb 4 mute 10 cipher AES-128-CBC #这是旧版本的验证加密,要根据VPN服务器具体情况设置。因为ros当时已设好为旧版本了,所以不要修改。 auth SHA1 auth-user-pass #需要输入登录用户名和密码 auth-nocache #redirect-gateway #这个配置很关键,如果开启,所有数据走VPN。如果关闭,只有访问VPN站时才走VPN,其它都走默认路由。一般情况下关闭或删除不配置 keepalive 10 60 #保持自动重连 ca /etc/openvpn/client/ca.crt #定义CA cert /etc/openvpn/client/client.crt #定义cert key /etc/openvpn/client/client.key #定义key auth-user-pass /etc/openvpn/client/auth.txt #获取登录用户名和密码 askpass /etc/openvpn/client/pass.txt #获取证书密码
5. 配置系统服务
创建 systemd 服务文件
sudo vi /etc/systemd/system/openvpn-client.service
服务文件内容:
[Unit] Description=OpenVPN Client After=network.target [Service] Type=simple ExecStart=/usr/sbin/openvpn --config /etc/openvpn/client/client.ovpn ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
6. 启动 OpenVPN 客户端
# 重新加载
systemdsudo systemctl daemon-reload
# 启动 OpenVPN 客户端服务
sudo systemctl start openvpn-client
# 设置开机自启
sudo systemctl enable openvpn-client
# 检查服务状态
sudo systemctl status openvpn-client
# 查看连接日志
sudo journalctl -u openvpn-client -f
7. 验证连接
检查网络接口
# 查看是否创建了 tun 接口 ip addr show tun0 # 检查路由表 ip route
测试连接
# 测试是否能访问 VPN 内网 ping 10.8.0.1 # 测试外网连接(通过 VPN) curl ifconfig.me
8. 手动连接方式(可选)
如果需要手动测试连接:
# 前台运行,便于调试 sudo openvpn --config /etc/openvpn/client/client.ovpn # 后台运行 sudo openvpn --config /etc/openvpn/client/client.ovpn --daemon
9. 防火墙配置(如果需要)
# 开放 OpenVPN 端口(通常是 1194) sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
10. 故障排除
查看详细日志
sudo openvpn --config /etc/openvpn/client/client.ovpn --verb 5
常见问题解决
权限问题:确保证书文件权限为 600
sudo chmod 600 /etc/openvpn/client/*
配置文件路径:检查配置文件中证书路径是否正确
网络连接:确保能访问 OpenVPN 服务器地址和端口
11.注意事项
确保从可信的 OpenVPN 服务端获取配置文件和相关证书
根据实际服务器配置调整 client.ovpn 文件中的参数
生产环境建议使用更严格的文件权限
这样就完成了 CentOS 7 上 OpenVPN 客户端的安装和配置。


