允许OpenVPN UDP端口(默认1194)

dfbn6 2026-05-04 半仙VPN 2 0

CentOS系统中配置OpenVPN与iptables防火墙的完整指南

在企业网络或远程办公环境中,使用虚拟私人网络(VPN)技术实现安全的数据传输至关重要,CentOS作为一款稳定、可靠的Linux发行版,在服务器部署中广泛应用,本文将详细介绍如何在CentOS系统中配置OpenVPN服务,并结合iptables防火墙规则,确保网络安全与访问控制。

安装OpenVPN服务,在CentOS 7或8上,可通过YUM包管理器快速安装:

sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

安装完成后,需生成证书和密钥,进入EasyRSA目录并初始化PKI环境:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server
sudo ./easyrsa gen-req client1 nopass
sudo ./easyrsa sign-req client client1

上述步骤生成服务器和客户端所需的证书与密钥文件,随后,复制相关文件到OpenVPN配置目录:

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/

接下来配置OpenVPN服务器主文件 /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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

启动OpenVPN服务:

sudo systemctl enable openvpn@server.service
sudo systemctl start openvpn@server.service

此时OpenVPN已运行,但若未配置iptables,外部无法访问该服务,为允许OpenVPN流量通过,需添加以下iptables规则:

# 启用IP转发(使客户端能访问内网)
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
# 添加NAT规则,让客户端流量通过主机网卡出去
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

最后保存iptables规则,防止重启后失效:

sudo service iptables save

至此,一个完整的基于CentOS的OpenVPN服务已部署完毕,具备防火墙保护和路由转发功能,用户可通过客户端配置连接至服务器,实现加密隧道通信,此方案适用于中小型组织的远程办公需求,兼顾安全性与易用性,建议定期更新证书、监控日志,并根据实际网络结构调整iptables策略,以确保长期稳定运行。

允许OpenVPN UDP端口(默认1194)

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