史上最详细保姆级教程部署OpenVPN

GDXLB 2024-08-22 16:37:01 阅读 60

OpenVPN简单详细部署流程

作用

提供给公司与子公司或者公司个人与公司之间建立安全的数据传输

整体环境搭建

cbad695c012d41c59713d7c078f4bd93.png

主机 内网(均无网关) 外网
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

 

84eedd5a2dda4b2dba579ac8cd3d87c0.png

 

VPN Server(CentOS 7)

添加两张网卡

一张VMnet 1(192.168.37.10/24),连接内网

一张VMnet 8(192.168.124.10/24),连接外网

e963fec8a3674f27a43aaffafa1453d9.png

a1493709464b4f74aa7ecd1c2ec500a6.png

 

Client(Win10)

daa44f6589ed4cd982964f4b863bc3ba.png

82a1fbb1f170405a935f4df70e0e3f8c.png

Client(Win 2008)

 

34a2c0cae033456e828e8014038cba19.png

f04329617a4640cbbf12e111216bbba7.png

一、openVPN证书制作工具下载

下载easy-rsa

e85fa7e28d9c4e5da2b037b5869eec43.png

38481749972249418636486a7701a5fb.png

1、修改vars文件证书参数

aef6dfa881b24ba4b177066823a3e113.png

使vars文件生效

[root@xlb_agent 2.0]# source vars

7bee71ddcbbc4c25b711ef16551aaa9f.png

生成keys目录,用来存放证书的信息,如私钥

[root@xlb_agent 2.0]# ./clean-all

88ee9632dffd4163bb376bd6cfde48b1.png

2、生成根证书和根密钥

[root@xlb_agent 2.0]# ./build-ca

35f1e81a04ea418aa5049d338185d69d.png

keys目录生成ca.crt和ca.key文件

d6eee431b6eb4995ad6893bbccee3524.png

3、生成服务端证书和密钥

[root@xlb_agent 2.0]# ./build-key-server server

e0d1b367aea64cce9186144a34cb79d7.png

keys目录下生成server.crt、server.key、server.csr等文件

1a6ea055bb924ee9bad5b318c44fa521.png

 4、生成客户端证书和密钥

[root@xlb_agent 2.0]# ./build-key client

109e38c084714182aade4b9bf6966bcc.png

keys目录下生成client.crt、client.key、client.csr等文件

b9bebd7a5f524435a769d0a7a2eb8d47.png

5、生成密钥交换文件

[root@xlb_agent 2.0]# ./build-dh

9d89c6d94d394cd79779638b6cde1676.png

keys目录下生成dh2048.pem文件

15a662f4eb8c4d9abdb80129b80ea218.png

二、配置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

e5dd79c660564d2b9f7bc6cbffb95bd6.png

2、安装OpenVPN

[root@xlb_agent ~]# yum -y install openvpn

72cd34c7f85b42b89e61712c5f446b2d.png

 3、配置OpenVPN

 openvpn目录下建立keys文件夹

[root@xlb_agent ~]# cd /etc/openvpn/

[root@xlb_agent openvpn]# mkdir keys

0d4db55daf634b2eb749b299db2231d5.png

 将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

8f5f44bed45d4d6db27bbfd36f930d28.png

//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 ./

57cf011495734b97b7f858fb7e4b2c0f.png

 修改配置文件vim server.conf

1、更改文件位置,以当前配置文件位置为准

2、修改vpn虚拟网段,用户通过vpn拨号进来就能自动获取到该网段IP地址

3、定义路由转发

4、修改拒绝服务攻击证书文件ta.key位置(还未建立)

5、修改加密模式,2.4版本后不能用CBC,得改成GCM

b3277ad358d74bafb9ed774b4d167402.png

05f0241563bb47769297f978ea8162ef.png

a140dd6be75743408e02d12a0c7cdec6.png

 

90eb7e96846c4e4e9ac1b9b5ef7b94dd.png

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 

9119cb9f58544835a9f4cb5052ccf720.png

5、建立ta.key文件(拒绝服务攻击证书文件)

[root@xlb_agent openvpn]# cd keys

[root@xlb_agent keys]# openvpn --genkey --secret ta.key

8aaa70f32cbd42cd9bf7cce2014e960c.png

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是否启动成功

782697b0964741acaa343033a1c8da75.png

 7、 查看并关闭VPN Server防火墙

[root@xlb_agent ~]# firewall-cmd --state

[root@xlb_agent ~]# systemctl stop firewalld

[root@xlb_agent ~]# systemctl disable firewalld

c0e508582a9440448597dc293f129399.png

 8、临时关闭selinux策略

[root@xlb_agent ~] # setenforce 0

a1046299a8304c6384b454ba2392a298.png

三、配置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 ./

f500ddc0c0704018bccd89560078323f.png

 编辑配置文件vim client.conf

1、添加远程主机

2、修改加密模式为GCM

538a7da988164a39ba74d38741bd2106.png

98fbd39cdef34ecebad6f86098edbdf3.png

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

3e840932b4bd417bbd312c4fb475be48.png

将client.conf改名为client.ovpn(因客户端识别ovpn后缀文件)

[root@xlb_agent openvpn_client]# mv client.conf client.ovpn

5c51effe89104f86823990687d990e2b.png

将ca.crt、client.key、client.crt、ta.key、client.ovpn打包上传至客户端

[root@xlb_agent ~]# zip openvpn_client.zip openvpn_client/*

28755f054f3f4fe1a00866aad274d2c0.png

 

2588ad6ca5434a928a053baebbc8b244.png

3、安装OpenVPN Windows客户端

 

45651675a7a0438e92c668b7c72ff6c4.png

4、虚拟专用网连接设置

将openvpn_client.zip解压到OpenVPN安装目录的config文件夹中

9d81dc9db0894f4cbd2776f0402f2f9a.png

新建client.log文件放入OpenVPN安装目录的log文件夹中

710025fa64e14e88ae61fd7dfa475e68.png

更改配置路径 

efdc3b8290c94d859c3eb1d6c0781099.png

 

四、Windows 客户端连接测试 

1、连接虚拟专用网

159f9196f689437391805df325e28358.png

08529b50b4ce464e9e604c6ab10eec64.png

2、查看隧道接口地址分配

Client外网:

2b01cbc156624c658c6140587ea4f762.png

VPN Server:

60cd046eafdf45a78f04b7837d3fe592.png

3、虚拟专用网Ping测试

af873b658fb84d57b21486bb78685c0c.png

五、测试内网连通性

 1、查看路由表 

ed9a8fd86b884ea997db0e55bc199487.png

2、外网Ping内网接口

4ad80b1b3e47453db51fc4689a12ee73.png

3、外网Ping内网服务器

492a38555c6142909398dbe911ea17b4.png

六、配置NAT地址转换功能 

a6b3e5fdb7514245ae5261226c60db47.png

1、配置iptables的NAT功能

[root@xlb_agent network-scripts]# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE

f0bb6ececee849479249e47054c897c6.png

2、外网Ping内网服务器

9c253c086e6f4b3fa0b27d72a7503545.png

七、功能测试

1、内网提供共享文件

ec880ef260a34d58baf6b69b673ca1db.png

a86fd135333445cca3d6f0e20053b80a.png

a6e2824ffac643798812d4cf2b1df07a.png

2、内网添加新用户供外网访问共享文件 

4ebecfc010e84e059ea510cd219d9694.png

3、外网访问内网共享文件 

49261b4213a544ba8179d48514191c30.png

 输入账号密码

eee8e66730f54876a553a3e2365728cc.png

a3be353abf914ab39b051871bd211f3f.png

 

 

 

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。