在CentOS 7上安装和配置OpenVPN,可以确保外部员工安全地访问内部办公网服务器,以下是详细的步骤和注意事项:
准备工作
1、关闭防火墙:为了便于测试,需要关闭防火墙。

- systemctl stop firewalld
- systemctl disable firewalld
2、关闭SELinux:同样为了简化配置,暂时关闭SELinux。
- sed i 's/enforcing/disabled/' /etc/selinux/config
- setenforce 0
3、安装依赖包:安装编译OpenVPN所需的软件包。
- yum install y vim wget lrzsz gccc++ openssl openssldevel nettools lzo lzodevel pam pamdevel
4、下载并解压OpenVPN和EasyRSA:创建目录并下载所需文件。
- mkdir /tmp/install
- cd /tmp/install
- wget https://swupdate.openvpn.org/community/releases/openvpn2.5.6.tar.gz
- wget https://github.com/OpenVPN/easyrsa/releases/download/v3.0.8/EasyRSA3.0.8.tgz
安装OpenVPN和EasyRSA
1、安装OpenVPN:解压缩并编译安装OpenVPN。
- cd /tmp/install
- tar zxvf openvpn2.5.6.tar.gz
- cd openvpn2.5.6
- ./configure prefix=/data/openvpn/
- make && make install
2、添加环境变量:将OpenVPN的可执行路径添加到系统PATH中。
- echo e "PATH=\$PATH:/data/openvpn/sbin" > /etc/profile.d/openvpn256.sh
- source /etc/profile
3、验证安装:检查OpenVPN版本以确认安装成功。

- openvpn version
4、安装EasyRSA:解压缩并移动EasyRSA到指定目录。
- cd /tmp/install
- tar zxvf EasyRSA3.0.8.tgz
- mv EasyRSA3.0.8 /data/EasyRSA
服务端配置
1、准备CA签发机构环境:拷贝EasyRSA到OpenVPN的easyrsa目录并初始化。
- cp r /data/EasyRSA /data/openvpn/easyrsaserver
- cd /data/openvpn/easyrsaserver
- ./easyrsa initpki
2、创建CA机构与服务器证书:生成根证书及服务器证书。
- ./easyrsa buildca nopass
- ./easyrsa genreq openvpnserver nopass
客户端配置
1、生成客户端密钥和证书:为每个客户端生成密钥和证书。
- ./easyrsa genreq client1 nopass
- ./easyrsa sign client1 client1
2、配置客户端配置文件:创建客户端的配置文件(client.ovpn)。
- tee client.ovpn <<EOF
- client
- dev tun
- proto udp
- remote YOUR_SERVER_IP 1194
- resolvretry infinite
- nobind
- persistkey
- persisttun
- remotecerttls server
- auth SHA256
- cipher AES256GCM
- keydirection 1
- verb 3
- EOF
启动和配置服务端
1、启动OpenVPN服务:使用systemd管理OpenVPN服务。
- systemctl start openvpn@server
- systemctl enable openvpn@server
2、配置防火墙和NAT:允许OpenVPN流量通过防火墙并启用IP转发。
- firewallcmd permanent addservice openvpn
- firewallcmd permanent addmasquerade
- firewallcmd reload
常见问题FAQs
1、Q1: OpenVPN连接后无法访问内网资源怎么办?
A1: 请检查以下几点:
确保服务器的路由设置正确,允许客户端访问内网网段。
检查防火墙规则,确保允许相关流量通过。
检查OpenVPN配置文件中的“push”指令,确保正确推送了路由信息。
2、Q2: OpenVPN客户端频繁断线如何解决?
A2: 可以尝试以下方法:
检查网络稳定性,确保没有高丢包率或延迟。
调整Keepalive参数,增加检测频率。
查看日志文件(如/var/log/openvpn.log)以获取更多错误信息。
通过以上步骤,您可以在CentOS 7上成功安装和配置OpenVPN,为外部员工提供安全的远程访问服务。