史上最详细保姆级教程部署OpenVPN
GDXLB 2024-08-22 16:37:01 阅读 60
OpenVPN简单详细部署流程
作用
提供给公司与子公司或者公司个人与公司之间建立安全的数据传输
整体环境搭建
主机 | 内网(均无网关) | 外网 |
CentOS 7 | 192.168.37.10/24 | 192.168.124.10/24 |
Win10 | N/A | 192.168.124.100/24 |
Win Server 2008 | 192.168.37.100/24 | N/A |
VPN Server(CentOS 7)
添加两张网卡
一张VMnet 1(192.168.37.10/24),连接内网
一张VMnet 8(192.168.124.10/24),连接外网
Client(Win10)
Client(Win 2008)
一、openVPN证书制作工具下载
下载easy-rsa
1、修改vars文件证书参数
使vars文件生效
[root@xlb_agent 2.0]# source vars
生成keys目录,用来存放证书的信息,如私钥
[root@xlb_agent 2.0]# ./clean-all
2、生成根证书和根密钥
[root@xlb_agent 2.0]# ./build-ca
keys目录生成ca.crt和ca.key文件
3、生成服务端证书和密钥
[root@xlb_agent 2.0]# ./build-key-server server
keys目录下生成server.crt、server.key、server.csr等文件
4、生成客户端证书和密钥
[root@xlb_agent 2.0]# ./build-key client
keys目录下生成client.crt、client.key、client.csr等文件
5、生成密钥交换文件
[root@xlb_agent 2.0]# ./build-dh
keys目录下生成dh2048.pem文件
二、配置OpenVPN服务器
1、配置阿里云源
[root@xlb_agent ~]# cd /etc/yum.repos.d/
[root@xlb_agent yum.repos.d]# curl -o epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@xlb_agent yum.repos.d]# yum clean all
[root@xlb_agent yum.repos.d]# yum makecache
2、安装OpenVPN
[root@xlb_agent ~]# yum -y install openvpn
3、配置OpenVPN
openvpn目录下建立keys文件夹
[root@xlb_agent ~]# cd /etc/openvpn/
[root@xlb_agent openvpn]# mkdir keys
将ca.crt、server.crt、server.key、dh2048.pem文件拷贝到/etc/openvpn/keys目录中
[root@xlb_agent openvpn]# cd ~
[root@xlb_agent ~]# cd /easy-rsa-old-master/easy-rsa/2.0/keys
[root@xlb_agent keys]# cp {ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/keys
//openvpn安装好后指定目录有模板文件
//(usr/share/doc/open...,不知道可以用Tab键补全提示)
//将模板配置文件server.conf复制到/etc/openvpn目录下
[root@xlb_agent keys]# cd ..
[root@xlb_agent openvpn]# cp /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf ./
修改配置文件vim server.conf
1、更改文件位置,以当前配置文件位置为准
2、修改vpn虚拟网段,用户通过vpn拨号进来就能自动获取到该网段IP地址
3、定义路由转发
4、修改拒绝服务攻击证书文件ta.key位置(还未建立)
5、修改加密模式,2.4版本后不能用CBC,得改成GCM
4、启用路由转发功能
将net.ipv4.ip_forward = 1导入到内核里去,使系统永久生效开启路由转发功能
[root@xlb_agent openvpn]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
生效指令
[root@xlb_agent openvpn]# sysctl -p
5、建立ta.key文件(拒绝服务攻击证书文件)
[root@xlb_agent openvpn]# cd keys
[root@xlb_agent keys]# openvpn --genkey --secret ta.key
6、启动OpenVPN服务
[root@xlb_agent keys]# cd ..
[root@xlb_agent openvpn]# openvpn --daemon --config server.conf //启动openvpn服务
[root@xlb_agent openvpn]# netstat -lntup | grep 1194 //查看openvpn是否启动成功
7、 查看并关闭VPN Server防火墙
[root@xlb_agent ~]# firewall-cmd --state
[root@xlb_agent ~]# systemctl stop firewalld
[root@xlb_agent ~]# systemctl disable firewalld
8、临时关闭selinux策略
[root@xlb_agent ~] # setenforce 0
三、配置OpenVPN客户端
1、复制并修改模板client.conf配置文件
[root@xlb_agent openvpn]# cd
[root@xlb_agent ~]# mkdir openvpn_client
[root@xlb_agent ~]# cd openvpn_client/
[root@xlb_agent openvpn_client]# cp /usr/share/doc/openvpn-2.4.12/sample/sample-config-files/client.conf ./
编辑配置文件vim client.conf
1、添加远程主机
2、修改加密模式为GCM
2、打包上传客户端所需证书等文件
将ca.crt、client.key、client.crt、ta.key文件拷贝到/root/openvpn_client目录中
[root@xlb_agent openvpn_client]# cd ~
[root@xlb_agent ~]# cd easy-rsa-old-master/easy-rsa/2.0/keys
[root@xlb_agent keys]# cp {ca.crt,client.key,client.crt} /root/openvpn_client
[root@xlb_agent keys]# cd /etc/openvpn/keys
[root@xlb_agent keys]# cp ta.key /root/openvpn_client
将client.conf改名为client.ovpn(因客户端识别ovpn后缀文件)
[root@xlb_agent openvpn_client]# mv client.conf client.ovpn
将ca.crt、client.key、client.crt、ta.key、client.ovpn打包上传至客户端
[root@xlb_agent ~]# zip openvpn_client.zip openvpn_client/*
3、安装OpenVPN Windows客户端
4、虚拟专用网连接设置
将openvpn_client.zip解压到OpenVPN安装目录的config文件夹中
新建client.log文件放入OpenVPN安装目录的log文件夹中
更改配置路径
四、Windows 客户端连接测试
1、连接虚拟专用网
2、查看隧道接口地址分配
Client外网:
VPN Server:
3、虚拟专用网Ping测试
五、测试内网连通性
1、查看路由表
2、外网Ping内网接口
3、外网Ping内网服务器
六、配置NAT地址转换功能
1、配置iptables的NAT功能
[root@xlb_agent network-scripts]# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
2、外网Ping内网服务器
七、功能测试
1、内网提供共享文件
2、内网添加新用户供外网访问共享文件
3、外网访问内网共享文件
输入账号密码
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。