内外网连接部署

系列文章目录

VPN部署

前期准备

centos 7

公网IP内网IP主机名
192.168.15.123172.168.1.123VPN

关闭防火墙

systemctl disable --now firewalld

systemctl status firewalld

关闭selinux

vi /etc/selinux/config
SELINUX=enforcing
修改为
SELINUX=disabled

openvpn安装

下载安装openvpn和证书管理工具

yum -y install openvpn

yum -y install easy-rsa

openvpn的安装
在这里插入图片描述

easy-rsa工具安装

在这里插入图片描述

准备相关配置文件

切换目录到/etc/openvpn下

cd /etc/openvpn

在这里插入图片描述

有服务端和客户端

1、生成服务器配置文件,将配置文件复制到当前所在目录文件下

 cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn/

2、证书签发文件

 cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-server

3、证书签发变量的相关文件

cp /usr/share/doc/easy-rsa-3.0.8/vars.example /etc/openvpn/easy-rsa-server/vars

4、要修改证书文件配置

vim /etc/openvpn/easy-rsa-server/vars

# ca证书修改
    #set_var EASYRSA_CA_EXPIRE     3650
    set_var EASYRSA_CA_EXPIRE      36500
# 服务器证书修改
 #set_var EASYRSA_CERT_EXPIRE   825 
 set_var EASYRSA_CERT_EXPIRE    3650

初始化PKI并生成PKI相关目录和文件

切换目录到服务端目录

 cd /etc/openvpn/easy-rsa-server/3
 
 ./easyrsa init-pki

在这里插入图片描述

生成CA证书

 ./easyrsa build-ca nopass
 
 nopass:是代表不加密私钥,主要方便后续到处公钥和颁发服务器证书

在这里插入图片描述

格式化输出证书内容

openssl x509 -in pki/ca.crt -noout -text

openssl x509主要用于输出证书信息,也能签署证书请求文件、自签署、转换证书格式等
-in 指定证书输入文件
-noount 默认out选项为指定输出文件,noout为默认不输出到文件
-text 以text格式输出证书内容,即以最全格式输出

在这里插入图片描述

创建服务端证书申请

./easyrsa gen-req server nopass

在这里插入图片描述

签发服务端证书

./easyrsa sign server server

在这里插入图片描述

对比两个文件密码是否一致

注意:1F20FC89EFA287F7721DD2B500131E8.pem不同,需自行查看进行比对

 diff pki/certs_by_serial/F1F20FC89EFA287F7721DD2B500131E8.pem  pki/issued/server.crt 
 
 

创建Diffie-Hellman密钥

生成dh.pem文件

./easyrsa gen-dh


客户端证书环境

 cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-client
 
  cp /usr/share/doc/easy-rsa-3.0.8/vars.example /etc/openvpn/easy-rsa-client/3/vars
  cd /etc/openvpn/easy-rsa-client/3

在这里插入图片描述

初始化客户端证书目录

  cd /etc/openvpn/easy-rsa-client/3
  
  ./easyrsa init-pki

在这里插入图片描述

生成用户raoxurou的请求文件和key文件

./easyrsa gen-req raoxurou nopass

在这里插入图片描述

切换目录到服务端中,

cd /etc/openvpn/easy-rsa-server/3

 ./easyrsa import-req /etc/openvpn/easy-rsa-client/3/pki/reqs/raoxurou.req raoxurou

在这里插入图片描述

签发客户端证书

 ./easyrsa sign client raoxurou
 
 

在这里插入图片描述

将CA和服务器证书相关文件复制到服务端响应目录

mkdir /etc/openvpn/certs

cp /etc/openvpn/easy-rsa-server/3/pki/ca.crt /etc/openvpn/certs/

cp /etc/openvpn/easy-rsa-server/3/pki/issued/server.crt /etc/openvpn/certs/

cp /etc/openvpn/easy-rsa-server/3/pki/private/server.key /etc/openvpn/certs/

cp /etc/openvpn/easy-rsa-server/3/pki/dh.pem /etc/openvpn/certs/

 ls /etc/openvpn/certs/

在这里插入图片描述

将客户端私钥与证书相关的文件复制到服务器相关目录

mkdir /etc/openvpn/client/raoxurou

find /etc/openvpn/ \( -name "raoxurou.key" -o -name "raoxurou.crt" -o -name ca.crt \) -exec cp {} /etc/openvpn/client/raoxurou \;

cd /etc/openvpn/client/raoxurou

在这里插入图片描述

服务端配置文件

cp server.conf server.conf.bak    #备份文件

>server.conf   	#清空配置内容

vi server.conf

# 指定默认端口号
port 1194
# 指定vpn使用的协议为tcp,生产环境推荐使用
proto tcp
# 创建一个路由IP隧道,生产环境推荐使用tun
dev tun
# 指定ca证书文件
ca  /etc/openvpn/certs/ca.crt
# 指定服务器证书文件
cert  /etc/openvpn/certs/server.crt
# 指定服务器私钥文件
key  /etc/openvpn/certs/server.key
# 指定dh参数文件
dh  /etc/openvpn/certs/dh.pem
# 指定客户端连接后分配ip的地址池,服务器默认会占用第一个ip作为网关
server 10.8.0.0 255.255.255.0
# 推送路由信息到客户端,以允许客户端能够连接到服务器背后的其他私有子网
push "route 172.168.1.0 255.255.255.0"
# 设置服务端检测的间隔和超时时间,10秒ping一次,120秒没回应则认为对方down
keepalive 10 120
# 加密算法
cipher AES-256-CBC
# 启用openvpn新版压缩算法
compress lz4-v2
# 推送客户端使用新版压缩算法,不能和comp-lzo同时使用
push "compress lz4-v2"
# 最大客户端数
max-clients 2048
# 运行openvpn服务的用户和组
user openvpn
group openvpn
# openvpn状态记录文件,每分钟记录一次
status  /var/log/openvpn/openvpn-status.log
# 指定日志路径,生产环境建议使用
log-append   /var/log/openvpn/openvpn.log
# 设置日志级别,数字越大记录的内容越详细
verb 3
# 相同类别信息只有前20条会输出到日志文件中
mute 20

在这里插入图片描述

创建日志文件夹

 getent passwd openvpn

mkdir /var/log/openvpn/
修改文件夹权限
chown openvpn.openvpn /var/log/openvpn

客户端配置文件

vi /etc/openvpn/client/raoxurou/raoxurou.ovpn

client
dev tun
proto tcp
remote 192.168.15.123 1194
resolv-retry infinite
nobind
# persist-key
# persist-tun
ca ca.crt
cert raoxurou.crt
key raoxurou.key
remote-cert-tls server
# tls-auth ta.key 1
cipher AES-256-CBC
verb 3
compress lz4-v2

在这里插入图片描述

安装iptables

 yum -y install iptables-services

在这里插入图片描述

添加路由

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

开启防火墙

systemctl start iptables

查看防火墙策略

iptables -nvL -t nat

清空防火墙策略

iptables -F

在这里插入图片描述

修改内核参数

cat /etc/sysctl.conf 
 	net.ipv4.ip_forward = 1
 
 sysctl -p

在这里插入图片描述

启动Vpn

systemctl daemon-reload

systemctl enable --now openvpn@server

在这里插入图片描述

将先前生成的用户命名的文件夹下载下来

scp -r root@192.168.15.123:/etc/openvpn/client/raoxurou /Users/raoxurou/Desktop/

在这里插入图片描述

Mac使用的vpn连接软件

Tunnelblick Mac版

https://github.com/Tunnelblick/Tunnelblick/releases

在这里插入图片描述

在这里插入图片描述

将生成的文件夹里的内容删除,复制自己生成的文件

在这里插入图片描述

双击打开.ovpn结尾的文件,选择所有用户可用,输入mac电脑密码

在这里插入图片描述

选择连接

在这里插入图片描述

在这里插入图片描述

通过内网连接成功

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值