配置frp实现内网穿透

0x01 简介

frp全名Fast Reverse Proxy,是用于提供内网穿透服务的工具,主要用于解决一些内网服务没有公网ip但是却需要提供外网访问的问题。使用frp你可以将内网中的TCP、UDP、HTTP、HTTPS等协议类型的服务发布到公网,并且支持Web服务根据域名进行路由转发。

如上图的frp架构图所示:配置前的准备如下

(1)公网服务器1台(182.92.1.1)
(2)内网服务器1台(我这里演示的是linux环境:192.168.126.135)
(3)内网服务器部署一个web服务,这里直接用的lamp
(4)公网服务器绑定域名1个(非必须)

0x02 环境配置

2.1 服务器

#下载
wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz

#解压
tar -zxvf  frp_0.30.0_linux_amd64.tar.gz

#赋予权限
chmod 777 -R frp_0.30.0_linux_amd64/

#进到相应目录下
cd frp_0.30.0_linux_amd64

frp的目录下主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。

2.2 配置服务器

vim ./frps.ini
[common]
bind_port = 7000           #与客户端绑定的进行通信的端口
vhost_http_port = 6081     #访问客户端web服务自定义的端口号

保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &

2.3 客户端

还是同服务器的下载操作:

#下载
wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz

#解压
tar -zxvf  frp_0.30.0_linux_amd64.tar.gz

#赋予权限
chmod 777 -R frp_0.30.0_linux_amd64/

#进到相应目录下
cd frp_0.30.0_linux_amd64

2.4 配置客户端

vi ./frpc.ini
[common]
server_addr = 182.92.1.1    #公网服务器ip
server_port = 7000          #与服务端bind_port一致
 
#公网通过ssh访问内部服务器
[ssh]
type = tcp                 #连接协议
local_ip = 192.168.126.135 #内网服务器ip
local_port = 22            #ssh默认端口号
remote_port = 6000         #自定义的访问内部ssh端口号
 
#公网访问内部web服务器以http方式
[web]
type = http        #访问协议
local_port = 80    #内网web服务的端口号
custom_domains = 182.92.1.1    #所绑定的公网服务器域名,我这里的公网服务器没有域名,直接放他的IP也可以的

保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &

0x03 实现效果

内网客户端已开启了apache服务:

启动frp服务器后,访问相应端口:

启动frp客户端后,访问相应端口:

成功实现内网穿透!

细心地同学应该发现配置客户端的时候,除了配置了web服务,还给内网的主机配置了一个ssh服务,我们来连一下:

ssh成功连接!

0x04 参考链接

https://www.jianshu.com/p/617972428455
https://blog.csdn.net/u013144287/article/details/78589643/

posted @ 2019-12-13 15:05  肖洋肖恩、  阅读(794)  评论(0编辑  收藏  举报
jQuery火箭图标返回顶部代码