引言
OpenVPN是一款开源的VPN软件,能够在Linux系统中提供加密的网络连接。在CentOS 6系统上配置OpenVPN,可以让您的网络连接更加安全,适合于需要远程访问私有网络的场景。本文将详细讲解在CentOS 6上配置OpenVPN的步骤,并通过实战案例帮助您快速上手。
准备工作
在开始配置OpenVPN之前,请确保您的CentOS 6系统满足以下要求:
- 系统已安装EPEL源(Extra Packages for Enterprise Linux)。
- 已安装必要的网络工具,如OpenVPN、easy-rsa等。
以下是在CentOS 6上安装EPEL源和OpenVPN的步骤:
# 安装EPEL源
sudo yum install epel-release
# 安装OpenVPN
sudo yum install openvpn easy-rsa
easy-rsa工具的使用
easy-rsa是OpenVPN的一个工具集,用于简化证书的生成过程。以下是如何使用easy-rsa工具创建CA(Certificate Authority)、服务器和客户端证书的步骤:
- 初始化easy-rsa目录
sudo mkdir -p /etc/openvpn/easy-rsa
sudo chmod 700 /etc/openvpn/easy-rsa
sudo cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa
- 编辑变量文件
sudo vi vars
在文件中,找到以下变量并设置合适的值:
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Zhejiang"
export KEY_CITY="Hangzhou"
export KEY_ORG="Your Organization"
export KEYORG_UNIT="Your Department"
- 生成CA证书
source vars
./clean-all
./build-ca
此时,会在/etc/openvpn/easy-rsa/keys/目录下生成ca.crt和ca.key文件。
- 生成服务器证书和私钥
source vars
./build-key-server server
- 生成Diffie-Hellman参数
./build-dh
- 生成客户端证书
source vars
./build-key user
重复上述步骤为每个客户端用户生成证书。
服务器配置
将以下配置文件保存为/etc/openvpn/server.conf:
local 10.8.0.1
port 1194
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
client-config-dir /etc/openvpn/client
client-to-client
tls-server
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
status openvpn-status.log
log /var/log/openvpn.log
客户端配置
为每个客户端生成一个配置文件。例如,客户端名为client1,则创建文件/etc/openvpn/client1.ovpn:
client
remote your.server.ip 1194
proto tcp
dev tun
ca /path/to/ca.crt
cert /path/to/client1.crt
key /path/to/client1.key
tls-remote your.server.ip
cipher AES-256-CBC
ns-cert-type server
reneg-sec 1800
route-up /etc/openvpn/client1-route-up.sh
route-down /etc/openvpn/client1-route-down.sh
ifconfig 10.8.0.2 255.255.255.0
ifconfig-pool-persist ipp.txt
确保替换your.server.ip为您的服务器IP地址,ca.crt、client1.crt和client1.key为对应的客户端证书和私钥文件路径。
启动OpenVPN服务
sudo systemctl start openvpn@server.service
sudo systemctl enable openvpn@server.service
测试连接
在客户端上,使用OpenVPN客户端连接到服务器。连接成功后,您应该在客户端的命令行界面看到如下输出:
TCP/UDP: Starting openvpn
TCP/UDP: Trying to resolve server: your.server.ip
TCP/UDP: Resolving server... done
TCP/UDP: Connecting to your.server.ip on port 1194...
TCP/UDP: Connection established with your.server.ip
TCP/UDP: OPENvpn client on 192.168.0.5
TCP/UDP: Using Diffie-Hellman, key-fingerprint: ...
TCP/UDP: Outgoing Control Channel activated
TCP/UDP: Data Channel activated with key-fingerprint: ...
此时,您可以通过ping命令测试与服务器的网络连接:
ping 10.8.0.1
如果成功,您就可以开始享受安全的VPN连接了。
总结
本文详细介绍了在CentOS 6上配置OpenVPN的步骤,并通过实战案例帮助您快速上手。配置完成后,您可以享受安全稳定的VPN连接。在实际使用过程中,您可以根据需要进行进一步优化和配置。
