OpenVPN是一个开源的应用程序,它允许您通过公共互联网创建一个安全的专用网络。OpenVPN实现一个虚拟专用网(VPN)来创建一个安全连接。
OpenVPN是一个开源的应用程序,它允许您通过公共互联网创建一个安全的专用网络。OpenVPN实现一个虚拟专用网(VPN)来创建一个安全连接。OpenVPN使用OpenSSL库提供加密,它提供了几种身份验证机制,如基于证书的、预共享密钥和用户名/密码身份验证。
在本教程中,我们将向您展示如何在CentOS 7.7服务器上逐步安装和配置OpenVPN。实现基于证书的OpenVPN认证。
修改OpenVPN配置文件
复制模板到主配置文件夹里面
[root@localhost server]# cp -p /usr/share/doc/openvpn-2.4.8/sample/sample-config-files/server.conf /etc/openvpn/server/
修改后的内容如下
[root@localhost server]# cat server.conf |grep '^1'
port 1194
proto udp
dev tun
ca ca.crt
cert server1.crt
key server1.key # This file should be kept secret
dh dh.pem
crl-verify crl.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 114.114.114.114"
duplicate-cn
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
explicit-exit-notify 1
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
开启转发
修改内核模块
[root@localhost server]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
[root@localhost server]# sysctl -p
net.ipv4.ip_forward = 1
修改防火墙
[root@localhost server]# firewall-cmd --permanent --add-service=openvpn
success
[root@localhost server]# firewall-cmd --permanent --add-interface=tun0
success
[root@localhost server]# firewall-cmd --permanent --add-masquerade
success
[root@localhost server]# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens33 -j MASQUERADE
success
[root@localhost server]# firewall-cmd --reload
success
启动服务并开机启动
[root@localhost server]# systemctl enable openvpn-server@server
[root@localhost server]# systemctl start openvpn-server@server
检查一下服务是否启动
[root@localhost server]# netstat -tlunp
[root@localhost server]# systemctl status openvpn-server@server
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
OpenVPN 客户端安装
在openvpn服务器端操作,复制一个client.conf模板到/etc/openvpn/client文件夹下面。然后编辑该文件/etc/openvpn/client/client.conf
[root@localhost openvpn]# cp -p /usr/share/doc/openvpn-2.4.8/sample/sample-config-files/client.conf /etc/openvpn/client/
修改后的内容如下
[root@localhost client]# cat client.conf |grep '^1'
client
dev tun
proto udp
remote 192.168.43.138 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
更改client.conf文件名为client.ovpn,然后把/etc/openvpn/client文件夹打包压缩:
更改client.conf文件名为client.ovpn
[root@localhost openvpn]# mv client/client.conf client/client.ovpn
安装lrzsz工具,通过sz命令把 client.tar.gz传到客户机上面
[root@localhost openvpn]# yum -y install lrzsz
打包client文件夹
[root@localhost openvpn]# tar -zcvf client.tar.gz client/
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
使用sz命令,把client.tar.gz传到客户机上面
[root@localhost openvpn]# sz client.tar.gz
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
在windows 10客户机连接测试
客户机安装openvpn-install-2.4.8-I602-Win10该软件包,安装完成之后解压刚才的client.tar.gz压缩包,把里面的文件复制到C:\Program Files\OpenVPN\config
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
需要把client.conf的名字改成client.ovpn,然后点击桌面上的OpenVPN GUI运行
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
电脑右下角有一个小电脑
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
右键点击连接,连接成功之后小电脑变成绿色。
Centos7.7 配置OpenVPN (二)Centos7.7 配置OpenVPN (二)
注意事项
做实验时在测试环境做的。如果在真实环境操作,请在出口防火墙添加端口映射,开放openvpn的端口1194 tcp和udp协议的。
- #|^; ↩