在 CentOS 6.5 上搭建 OpenVPN 服务器实现安全远程访问

随着企业网络规模的扩大和远程办公需求的增长,构建一个稳定、安全的虚拟私人网络(VPN)成为网络管理员的重要任务,CentOS 6.5 作为一款长期支持(LTS)版本的 Linux 发行版,在许多遗留系统中依然广泛使用,本文将详细介绍如何在 CentOS 6.5 系统上部署 OpenVPN 服务器,为远程用户提供加密通道,确保数据传输的安全性与隐私性。

环境准备
首先确认你的 CentOS 6.5 服务器已安装并配置好基本网络环境,包括静态 IP 地址、主机名解析(/etc/hosts 或 DNS)、防火墙规则允许必要的端口(如 UDP 1194),以及关闭 SELinux(或设置为 permissive 模式)以避免权限冲突,可以通过以下命令检查:

# 若为 enforcing,则临时关闭:
setenforce 0

安装 OpenVPN 和 Easy-RSA
OpenVPN 是开源的、跨平台的 VPN 解决方案,而 Easy-RSA 是用于生成证书和密钥的工具包,我们通过 yum 安装:

yum install -y openvpn easy-rsa

配置证书颁发机构(CA)
进入 Easy-RSA 目录并初始化 PKI(公钥基础设施):

cd /usr/share/easy-rsa/
cp -r /usr/share/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/

编辑 vars 文件,设置国家、组织名称等信息(如 CN=MyCompany, O=IT Department),然后执行以下脚本生成 CA 证书:

./clean-all
./build-ca

生成服务器证书和密钥
继续执行:

./build-key-server server

此步骤会提示输入相关信息,最后生成 server.crtserver.keyca.crt,同时还需要生成 Diffie-Hellman 参数(用于密钥交换):

./build-dh

配置 OpenVPN 服务端
复制示例配置文件到 /etc/openvpn/ 并命名为 server.conf

cp /usr/share/doc/openvpn-2.3.6/sample-config-files/server.conf /etc/openvpn/
vi /etc/openvpn/server.conf

关键配置项如下(可根据实际网络调整):

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

启用 IP 转发和防火墙规则
确保内核允许 IP 转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置 iptables 规则,使客户端流量能通过服务器转发:

iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save

启动 OpenVPN 服务并配置开机自启

service openvpn start
chkconfig openvpn on

生成客户端证书和配置文件
回到 Easy-RSA 目录,生成客户端证书:

./build-key client1

将以下文件打包分发给客户端(client.ovpn):

  • ca.crt
  • client1.crt
  • client1.key
  • dh.pem(可选,若未在服务端单独生成)

客户端配置示例(client.ovpn):

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

测试与维护
客户端连接成功后,可通过 ifconfigip addr show 确认获得 10.8.0.x 的 IP 地址,说明隧道建立成功,建议定期更新证书(每 1-2 年),并通过日志 /var/log/messages 或 OpenVPN 日志监控运行状态。


在 CentOS 6.5 上搭建 OpenVPN 服务器虽然略显陈旧,但其稳定性仍适合中小型企业部署,只要严格遵循上述步骤,并结合合理的安全策略(如双因素认证、日志审计、证书吊销机制),即可构建一个可靠且易于管理的远程访问解决方案,对于仍在使用该系统的用户,这是一项值得掌握的核心技能。

查看当前 SELinux 状态  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN