内网穿透(frp+openvpn)部署方式

目的

工作环境为内网环境,离开公司后无法访问内部资源,特部署一套穿透工具,提高外地办公时的工作效率。
拓扑图

openvpn安装( windows系统)

openvpn是开源VPN软件,只需要简单的配置,就可以在企业搭建安全虚拟网络中使用,满足日常远程办公的需求。本篇文档为在windows服务器安装搭建openvpn记录,仅供参考

一、openvpn软件下载

安装包可以在github下载,或者去官网下载:

github.com/OpenVPN/ope...

OpenVPN

Community Downloads - Open Source VPN | OpenVPN

The OpenVPN community shares the open source OpenVPN. Download the latest version of the open source VPN release OpenVPN 2.6.3 for a secure network.

二、服务端安装

openvpn软件服务端和客户端都是同一个安装包,本次使用的openvpn安装包为2.5.6版本。

1.安装的时候要选择Customize, 勾选openvpn service和EasyRSA3 安装,用于服务端配置和证书生

2.安装完成后软件默认位置C:\Program Files\OpenVPN目录

三、证书生成

上一步我们已经安装了证书生成工具EasyRSA3,使用此工具即可生成所需证书。

1.进入EasyRSA shell 环境dos窗口

进入C:\Program Files\OpenVPN\easy-rsa目录,双击EasyRSA-Start.bat 进入EasyRSA shell 环境dos窗口中;

2.初始化证书生成程序

弹出的dos窗口中输入./easyrsa init-pki 初始化证书生成程序,初始化成功后会在C:\Program Files\OpenVPN\easy-rsa目录下新建文件夹kpi,如下图示:

3.生成ca证书

在dos窗口中输入./easyrsa build-ca nopass生成无密码CA证书,生成过程中会要求输入证书名称,随意输入即可,本次使用Open_CA作为名称,生成结束后会打印出证书所在目录easy-rsa\pki\ca.crt;

4.生成服务端证书

输入./easyrsa build-server-full server nopass 生成无密码服务端证书,生成后证书文件在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹

5.生成客户端证书

输入./easyrsa build-client-full client nopass生成无密码客户端证书,生成后证书在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹

6.生成DH密钥交换协议

输入./easyrsa gen-dh生成DH密钥交换协议文件,生成文件在C:\Program Files\OpenVPN\easy-rsa\pki目录下

7.目录C:\Program Files\OpenVPN\easy-rsa\pki\private下为证书key

四、服务器配置

服务端配置文件模板为server.ovpn ,在 C:\Program Files\OpenVPN\sample-config目录下

1.修改服务端配置文件

复制server.ovpn文件至C:\Program Files\OpenVPN\config目录, 修改如下选项:

a)端口:(公网需要对应开通此端口)port udp 1194

b)协议文件名:dh dh2048.pem修改为dh dh.pem

c)运行多用户使用同一客户端证书:;duplicate-cn取消注释(前面;号删除)修改为duplicate-cn

d)注释掉此行(前面加#号): tls-auth ta.key 0修改为#tls-auth ta.key 0

2.证书复制配置

将服务证书,服务key,ca证书,dh文件复制到文件夹C:\Program Files\OpenVPN\config下

3.连接

右键点击任务栏带锁小电脑图标,点击连接, 连接成功后会变绿,系统提示分配ip

注: 因为VPN需要通过公网访问,需要在路由器中将udp 1194端口转发到内网服务器所在ip

五、安装FRP

1、frp内网穿透简介

内网穿透,就是如果你有一台公网上的服务器,那么可以将家里的N个电脑映射到公网服务器上去,然后你就可以在公网的任意地方访问你家里的服务了。

2、下载安装包

安装包下载地址:

GitHub

Releases · fatedier/frp

A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - fatedier/frp

3、 注意事项

注意事项提前说,避免后面出现坑:

1.确认你的服务端口号:例如 你想远程桌面,默认是3389端口,你想做内网穿透的时候想改成 4489 ,那么需要以下这几点都做好,不然网不通。

2.验证本地端口:通过服务将默认端口改了,先从本地验证端口是正常的。

3.系统防火墙放行端口:从操作系统防火墙放行这个端口。

4.FRP客户端配置的代理端口和4489要一致。

5.如果在公司,公司层面的防火墙也要放行这个端口。

6.FRP服务器端口:如果用的是阿里云服务器做代理,注意阿里云控制台也得放行服务端的端口。

7.FRP所在的路径不能有中文。

8.FRP服务器不可以占用客户端所映射的端口。

部署流程

注意!无论是哪个平台的,要先部署服务器端,然后再部署客户端,否则客户端报错!!

4 windows版

4.1 服务端部署

1、拷贝frp安装包到服务器(目录不能有中文!),删除多余的文件,只留下面的三个:

2、修改服务端配置文件:直接编辑frps.ini(服务端配置文件):添加下面的内容,可以到frps-服务端配置文件模板.ini 里复制。

3、启动服务端**:** frps.exe -c ./frps.ini

4、登录控制台: http://127.0.0.1:7500/static/

5、防火墙放行7000端口**:** 7000这个端口是服务端和客户机之间通信用的默认端口,不是你转发服务时的那个端口,这个可以自己改,不过客户端也要跟着改才行。

6、配置开机自启动:将启动命令编辑到bat脚本,然后创建计划任务,设置成开机自启动即可。

4.2 客户端部署

1、拷贝frp安装包到你要映射端口的那个服务器,只留下面的三个文件:

2、然后编辑 frpc.ini 配置文件,添加下面的内容,可以参考:frpc-客户端配置文件模板.ini

3、启动客户端(从当前目录下运行cmd输入这个命令):frpc.exe -c frpc.ini

4.3 客户机访问

以上做好之后,在公网任意地方通过frp服务器的公网ip加上你的remote_port端口号来访问当前的服务即可。

4.4 客户端、服务端注册成服务

默认情况下,frp客户端和服务端需要用cmd命令行运行,而且窗口不能关,下面我们可以借助 nssm 工具将服务端和客户端注册成系统服务,然后开机自启动:

客户端和服务端注册方法相同

4.5 服务启动、停止命令

一、Linux启动和停止命令:

1、停止命令:

ps -aux|grep frp| grep -v grep --- 先找到frp进程

kill -9 进程ID --- 结束进程

2、启动客户端命令:nohup ./frpc -c ./frpc.ini --- 启动命令

二、Windows启动和停止命令:

1、启动服务端,在服务的所在目录下:frps.exe -c frps.ini

2、启动客户端,在服务的所在目录下:frpc.exe -c frpc.ini

3、停止服务:直接结束frp进程或者关闭frp命令行窗口。

4.6 Linux版客户机配置方法

1、上传安装包到/usr/frp下面,删除多余的文件(和Win版一样):

2、编辑配置文件,添加下面的内容:vim frpc.ini ,配置文件内容和windows版一样。

3、启动客户端:./frpc -c frpc.ini

4、设置成随系统启动:

(1)将启动命令制作成ssh脚本:vim ./start_frpc.ssh

(2)为脚本赋予可执行权限:chmod a+x ./start_frpc.sh

(3)将脚本添加到开机启动项:vim /etc/rc.local

有的时候一台服务器可能需要映射多个端口,这里就是配置多个端口的方法,Win和Linux版一样。

六、客户端安装

1.安装

双击OpenVPN-2.5.6-I601-amd64.msi,点击Install Now安装客户端,安装完成后目录C:\Program Files\OpenVPN

2.配置客户端文件

客户端配置文件client.ovpn,模板在C:\Program Files\OpenVPN\sample-config,复制该文件到C:\Program Files\OpenVPN\config目录下,修改客户端配置如下:

a)修改连接服务器地址: remote my-server-1 1194修改为remote 服务器公网ip 1194

b)注释掉此行(前面加#号): tls-auth ta.key 1修改为# tls-auth ta.key 1

3.证书复制

将客户端证书,客户端key,ca证书复制到该目录下C:\Program Files\OpenVPN\config

4.连接

右键点击任务栏带锁小电脑图标,点击连接,连接成功后系统分配ip,小电脑变绿

转载至记录下工作中内网穿透(frp+openvpn)部署方式 - 开发调优 / 开发调优, Lv2 - LINUX DO

因为后面工作需要使用openvpn,刚好看到,所以记录下~同时欢迎光临 LINUX DO

相关推荐
CC大煊1 小时前
【Linux】vi/vim 使用技巧
linux·运维·vim
聚名网1 小时前
什么叫中间件服务器?
运维·服务器·中间件
Hacker_xingchen2 小时前
影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE
linux·运维·unix
都适、隶仁ミ2 小时前
【密码学】SM4算法
linux·运维·服务器·算法·网络安全·密码学·网络攻击模型
黑蛋同志4 小时前
CentOS 上下载特定的安装包及其所有依赖包
linux·运维·centos
是程序喵呀4 小时前
部署GitLab服务器
运维·服务器·gitlab
●VON4 小时前
go语言的成神之路-标准库篇-os标准库
linux·运维·服务器·开发语言·后端·学习·golang
TracyGC4 小时前
ubuntu 新建脚本shell并增加图标 双击应用实现python运行
linux·运维·ubuntu
清风 0014 小时前
一、使用 mdadm 工具在 Ubuntu 上创建 RAID 1(镜像)
运维·服务器·数据库
LCL_185 小时前
ansible 自动化运维工具(三)playbook剧本
linux·运维·自动化·ansible