类别: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

以上文件保存路径和权限如图所示

image.png


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 客户端的安装和配置。


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章