本文转载于SegmentFault社区
写在前面
因为之前一直用于内网渗透的ngrok使用的是ngrok 1.x的最新版本1.7.1,1.7.1存在严重的内存泄漏问题。另外,1.x早就不维护了,ngrok 2.x之后也不再开源了,所以考虑换一个内网渗透工具。
一、商业情景
设备如下:
一个阿里巴巴云服务器(Windows Server 2012)和公共IP。
有三个内部网服务器,包括两个Windows服务器和一个CentOS。
已解析为公共IP的一级域名。
要求:可以通过域名或IP访问部署在三个内网的http服务,通过域名或IP与三个内网的远程桌面或SSH通信
第二,为什么选择玻璃钢
开源和频繁维护。
支持TCP、UDP、HTTP、HTTPS、STCP等协议。
GoLang开发占用内存少,代理稳定。
简单方便的配置,自定义的插件配置,可以开发自己业务需求的插件。
它提供了许多功能,如安全地公开内部网服务、加密和压缩、用于底层通信的可选kcp协议、端口多路复用、负载平衡、健康检查、URL路由、范围端口映射和请求的报头处理。
在第一次之前,您还可以通过浏览器查看frp的状态和代理统计的显示。在代理服务器上,您可以在浏览器中访问每个代理状态的可视仪表板。
内网渗透服务器提供查看渗透状态、动态在线配置、热更新配置等功能。
第三,服务器配置1。打开云服务器的端口
登录阿里巴巴云服务平台,进入实例安全组,打开渗透代理所需的端口。首先打开端口,如下所示:
打开TCP端口,7000-7010。7000是frp服务器代理通信的默认端口,7001-7010可以代理内网服务器的TCP应用端口。如果不够,可以扩展端口。
开放TCP端口,7080和7443,方便HTTP和HTTPS代理。因为云服务器的80和443端口已经被其他应用占用,所以命名为后缀80和443,方便内存维护。
开放UDP端口,开放7001端口,必要时提供点对点内网穿透。
以上端口的开启不做规定,可定制灵活配置。
2.下载玻璃钢
输入GitHub发布frp的地址,查看最新版本,已经提供了常用操作系统架构编译的包,下载相应的云服务器系统版本。
也可以下载源代码,安装GoLang环境,自己编译。
3.配置FRP
下载后,解压并打开文件夹,找到frps.ini文件配置服务器端代理规则。不会使用frpc开头的文件代理服务器,但会在配置intranet的服务器上使用。
配置frps.ini的基本内容如下:
[common] # 设置地址及通信端口 bind_addr= 0.0. 0.0 bind_port= 7000#设置默认UDP端口bind_udp_port= 7001
#监听端口7080和7443,执行HTTP和HTTPS代理。可以将超文本传输协议和HTTPS端口设置为相同的超文本传输协议端口= 7080超文本传输协议端口= 7443
#设置用于查看仪表板的服务地址和端口。未设置dashboard_addr,默认情况下与bind_addr相同。如果未设置dashboard_port端口,此服务将不会启动。dashboard _ addr = 0 . 0 . 0 . 0 dashboard _ port = 7500
#设置仪表板服务的登录帐户和密码。如果未设置,默认值为admindashboard _ user = admindashboard _ pwd = admin
#设置云服务器的域名,方便简单地配置代理服务,通过子域方式访问subdomain _ host = example.com。
#设置Token,尽量让配置变得复杂。token= 123456789将用于配置frpc
#设置日志文件记录路径log_file=。/logs/frps.log #设置日志记录级别,包括跟踪、调试、信息、警告、errorlog _ level = info #设置日志记录最大天数log_max_days= 1
4.启动frps
启动frps服务非常简单。输入以下命令,代理服务器将被启动。
./frps - c./frps.ini5.将frps配置为系统服务
如果服务器是Windows系统,建议使用winsw工具将frps配置为系统服务。
如果服务器是Linux系统,那么在下载的FRP解压目录的systemd目录下,已经有一个用于将FRP配置为系统服务的文件。
具体的配置流程需要更新
四.客户端配置
1.下载frp
输入玻璃钢GitHub发布地址,查看已编译的最新版本,下载相应代理系统的版本。
2.配置frpc
下载后,解压打开文件夹,找到frpc.ini文件,配置服务器端代理规则。同样,FRP开头的文件不会在intranet服务器上使用。
配置frpc.ini的基本内容如下:
[common]# 云服务器的IP地址及 frps 里面设置的通信端口server_addr= x.x.x.x server_port= 7000#授权令牌与frps配置的令牌相同。token= 123456789
#设置日志文件记录路径log_file=。/logs/frps.log #设置日志记录级别,包括跟踪、调试、信息、警告、errorlog _ level = info #设置日志记录最大天数log_max_days= 1
#在浏览器admin _ addr = 127 . 0 . 0 . 1 admin _ port = 7400 admin _ user = admin admin _ pwd = admin中设置可以配置热更新的服务
# tcp范围7001-7010
# RDP,也就是远程桌面远程桌面。Windows的RDP默认端口是3389,协议是TCP [RDP]类型= TCP Local _ IP = 127 . 0 . 0 . 1 Local _ Port = 3389 Remote _ Port = 7001子域= RDP
# SMB,即Windows文件共享使用的协议,默认端口号为445,协议TCP。该规则可以实现远程文件访问。#[SMB]# type = TCP # local _ IP = 127 . 0 . 0 . 1 # local _ port = 445 # remote _ port = 7002
#代理本地ssh # [ssh] #类型= TCP # local _ IP = 127 . 0 . 0 . 1 # local _ port = 22 # remote _ port = 7003
#设置本地端口80。HTTP服务#的代理可以通过frps中配置的子域_主机域名#访问test.example.com plus HTTP代理端口,即HTTP://test . example . com:7080[web _ test]type = HTTP local _ port = 80 subdomain = test
4.启动frpc
启动frpc的服务类似于FRP。
./frpc - c./frpc.ini之后,您可以访问和测试远程连接、SSH、web服务等。
5.将frpc配置为系统服务
这里就不赘述了,类似于把frps配置成系统服务。
5.将渗透域名配置为通用域名证书
待更新
参考数据
Frp使用文件
参考链接:
https://github . com/liuvigonzooshi/summary-web-resources/blob/master/operation/FRP . MD
1.《frp内网穿透 记一次使用 frp 完成内网服务器实现穿透全过程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《frp内网穿透 记一次使用 frp 完成内网服务器实现穿透全过程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1108460.html