搭建OpenVPN服务
学腾讯云产品的时候看到了VPN服务,然后自己之前也了解过VPN很常用,并且很方便,但是自己从来没体会到过,那就搭建一个体验体验
一、简介
原理:在互联网上构建一条安全加密的网络隧道,实现任意位置访问内网。
作用:互联网访问内网、局域网互联、
软件:OpenVPN
二、实操
1、模拟环境介绍
网络:
- vmnet1 192.168.0.0/24 企业内网
- vmnet2 172.16.0.0/16 internet外网
作用 | 系统 | 网卡数 |
---|---|---|
VPN服务器 | Linux | 内网和外网各一张 |
模拟在外出差 | Windows | 一张外网 |
模拟内部服务器 | Windows Server | 一张内网 |
2、openVPN证书制作
使用easy-rsa制作证书,软件请到giehub上下载后上传到/opt/openvpn 目录下
https://github.com/OpenVPN/easy-rsa
编辑vars文件
set_var EASYRSA_REQ_COUNTRY "CN" #国家
set_var EASYRSA_REQ_PROVINCE "Liaoning" #省份
set_var EASYRSA_REQ_CITY "shenyang" #城市
set_var EASYRSA_REQ_ORG "lzcwy" #组织单位
set_var EASYRSA_REQ_EMAIL "857493511@qq.com" #邮箱地址
生成根证书和密钥
/opt/openvpn/easy-rsa/build-ca
#会在/opt/openvpn/easy-rsa/key目录下生成.crt和.key文件
生成服务端证书和密钥
/opt/openvpn/easy-rsa/build-key-server 密钥名称
#会生成.crt文件和.key文件
生成客户端证书和密钥
/opt/openvpn/easy-rsa/build-key
#会生成.key和.crt
生成密钥交换文件
/opt/openvpn/easy-rsa/build-dh
#会生成dh2048.pem文件
3、配置openVPN
安装openvpn(需要使用epel源)
yum install openvpn -y
将认证文件拷贝到open VPN的配置目录下
cp {根证书.crt,服务端.crt,服务端.key,dh2048.pem} /etc/openvpn/keys/
查询服务端配置文件
rpm -ql openvpn |grep server.conf
/usr/share/doc/openvpn/sample/sample-config-files/server.conf
将这个文件复制到/etc/openvpn下
修改server.conf
local 0.0.0.0 #监听地址
port 1194 #监听端口
proto tcp #监听协议
dev tun #采用路由隧道模式
ca /etc/openvpn/keys/ca.crt #ca证书路径
cert /etc/openvpn/keys/server.crt #服务器证书
key /etc/openvpn/keys/server.key # This file should be kept secret 服务器秘钥
dh /etc/openvpn/keys/dh.pem #密钥交换协议文件
server 10.8.0.0 255.255.255.0 #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0" #定义路由转发,即两个route之间可以互通
push "route 10.8.0.0 255.255.255.0"
persist-key
persist-tun
开启路由转发功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
建立ta.key文件(拒绝服务攻击证书文件)
openvpn --genkey --secret ta.key
启动openvpn
openvpn --daemon --config server.conf
4、配置客户端
在sample-config 文件下,配置client.ovpn 模板
client
dev tun
proto tcp //改为tcp
remote xxx.xxx.xxx.xxx 1194 //OpenVPN服务器的外网IP和端口,ip和域名都行
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt //client1的证书
key client.key //client1的密钥
comp-lzo
verb 3
然后将配置文件和需要用到的密钥文件复制给windows,通过openvpn使用即可
文章内容仅用于作者学习使用,如果内容侵犯您的权益,请立即联系作者删除,作者不承担任何法律责任。