有时候,我们需要在网外访问内网中的内容,比如公司内网中的git、数据库、远程操作等。有时候为了调试一些需要异步回调的三方服务,比如微信、支付宝,我们通常需要一个外接服务器,
有时候,我们需要在网外访问内网中的内容,比如公司内网中的git、数据库、远程操作等。
有时候为了调试一些需要异步回调的三方服务,比如微信、支付宝,我们通常需要一个外接服务器,但是外接服务器对于代码调试不是很方便。PHP虽然有Xdebug这样的开发工具,但是配置远程调试很麻烦,很容易失败。
因此,我们需要一个方便易用的内网渗透服务。今天我们要在腾讯云轻量级应用服务器上用FRP搭建一个内网穿透服务器。
什么是玻璃钢
这是一个专注于内网渗透的高性能反向代理应用,支持TCP、UDP、HTTP、HTTPS等协议。内部网服务可以通过与公共网络的IP节点的转接,以安全和方便的方式暴露给公共网络。
为什么要用玻璃钢?
通过在具有公网IP的节点上部署FRP服务器,很容易将内网服务渗透到公网中,同时提供了很多专业的特性,包括:
-客户端-服务器通信支持TCP、KCP、Websocket等协议。
-采用TCP连接流复用,在单个连接之间承载更多请求,节省连接建立时间。
-代理组之间的负载平衡。
-端口多路复用,通过同一个服务器端口公开多个服务。
-多个本地支持的客户端插件(静态文件查看、HTTP、SOCK5代理等。)方便独立使用frp的客户完成一些工作。
-高度可扩展的服务器端插件系统,方便根据自身需求进行功能扩展。
-服务器和客户端UI页面。
部署环境准备
1外网服务器:我个人推荐使用腾讯云的轻量级应用服务器。
轻量级应用服务器(腾讯云灯塔)是面向轻量级应用场景的新一代开箱即用的云服务器产品。它帮助中小企业和开发者在云中方便高效地构建网站、小程序/游戏、电子商务、云盘/图形床以及各种开发、测试和学习环境。相比普通的云服务器,更容易上手。它提供高带宽的流量包,并以包的形式整体销售基础云资源,将流行的开源软件进行整合打包,实现一键应用构建。是你使用腾讯云的最佳入口。
轻量级应用服务器Lighthouse在云端“轻”,1核1G3M低至128元/年,高带宽首选,内网机一台。
第三,在服务器上安装FRP
下载地址下载linux版本
wget https://github . com/fate dier/FRP/releases/download/v 0 . 31 . 1/FRP _ 0 . 31 . 1 _ Linux _ amd64 . tar . gz
解压到/usr/local/frp目录。
tar zxf FRP _ 0 . 31 . 1 _ Linux _ amd64 . tar . gz
mv FRP _ 0 . 31 . 1 _ Linux _ amd64/usr/local/FRP
配置服务器frps.ini
vim frps.ini
[常见]
绑定端口= 7000
vhost_http_port = 8080
用ins或I插入,复制完成后按esc退出:wq保存退出。
开始
cd /usr/local/frp
。/frps -c ./frps.ini
四。客户端配置
下载地址https://github.com/fatedier/frp/releases下载win版
解压缩到C:Program Filesfrp目录。
配置frpc.ini
[常见]
server_addr = xxx.xxx.xxx.xxx
服务器端口= 7000
[RDP]
类型= tcp
local_ip = 0.0.0.0
本地端口= 3389
远程端口= 6666
在命令行上启动frp客户端(建议以管理员模式运行)
C:程序Filesfrpfrpc.ini
等待启动完成。
2020/01/11 13:18:22[I][service . go:250][e 126185 CB 2716 a8e]登录服务器成功,获取运行id [e126185cb2716a8e],服务器udp端口[0]2020/01/11 13:18:22[I][proxy _ manager . go:144][e 126185 CB 2716 a8e]代理添加:[RDP]2020
连接测试
第五,启动配置服务。
在linux下配置服务
vim/etc/systemd/system/frps . service
[单位]
描述=frps守护进程
After=syslog.target网络.目标
Wants =网络.目标
[服务]
类型=简单
ExecStart =/usr/local/FRP/frps-c/usr//local/FRP/frps . ini
重启=始终
重启秒= 1分钟
[安装]
WantedBy =多用户.目标
启动frps
sudo系统控制启动frps
#启动服务
sudo系统控制启用frps
#开机开机。
sudo系统控制状态frps
#状态查询
sudo系统重启frps
#重新启动服务
sudo系统停止frps
Win配置服务
使用winsw工具,frpc可以在windows系统中注册为服务。
将下载的winsw.xml放在frpc.exe的同一个目录下,填写winsw.xml配置文件。
& lt服务& gt
& ltid & gt玻璃钢& lt/id >
& lt名称& gt玻璃钢& lt/name >
& lt描述& gt用frp将本地计算机网站发布到外部网络
& lt可执行文件& gtfrpc & lt/executable >
& lt参数& gt-c frpc . ini </arguments >
& ltlogmode & gt重置& lt/log mode >& lt/service >
然后使用winsw install将frpc安装为系统服务。
Winsw下载地址:https://github.com/kohsuke/winsw/releases
创建一个与winsw同名的配置文件,后缀为xml。
以FRP客户端的配置为例:
& lt服务& gt
& lt!-服务的唯一标识->:
& ltid & gt玻璃钢& lt/id >
& lt!-服务的名称->:
& lt名称& gtwindows-amd64<。/name >
& lt!-服务描述-->:
& lt描述& gtfrpc客户端服务使用frpc来实现intranet渗透
& lt!-程序运行的路径->:
& lt可执行文件& gtd:software frpfrp _ 0 . 27 . 1 _ windows _ amd 64 frpc . exe </executable >
& lt!-携带的参数->:
& lt参数& gt-c frpc . ini </arguments >
& lt!-第一次启动失败,60秒后重启->
& lton failure action = " restart " delay = " 60秒"/>
& lt!-第二次启动失败后120秒后重新启动->
& lton failure action = " restart " delay = " 120秒"/>
& lt!-日志模式->
& ltlogmode & gt追加& lt/log mode >
& lt!-指定日志文件目录(相对于可执行文件配置的路径)->:
& ltlogpath & gt日志& lt/log path >& lt/service >
使用的方法。
//注册服务
Winsw.exe//Uninstall服务
Winsw.exe卸载//启动服务
Winsw.exe//Stop服务
Winsw.exe//restart服务
Winsw.exe重启//检查状态
winsw.exe地位
以上所有操作最好在管理员模式下运行。