内网穿透神器-frp的概念,搭建和使用,方便访问内网服务

FRP概念

FRP是什么(借助官网的描述)?

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

为什么是用FRP(借助官网的描述)?

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
  • 采用 TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
  • 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp客户端完成某些工作。
  • 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

原理

frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
代理 在这里插入图片描述

FRP的安装

下载

访问:https://github.com/fatedier/frp/releases
在这里插入图片描述也可以通过如下命令来看:

[root@VM-0-15-centos ~]# arch
x86_64

下载之后上传至公网服务器:
在这里插入图片描述
解压:

tar -zxf frp_0.51.3_linux_amd64.tar.gz

加粗样式

frpc:客户端可执行程序
frpc_full.ini:客户端所有配置项(可以在此文件查看frp的所有的配置项)
frpc.ini:客户端配置项
frps:服务端可执行程序
frps_full.ini:服务端所有配置项(可以在此文件查看frp的所有的配置项)
frps.ini:服务端配置项

配置并启动服务端

编辑配置文件:frps.ini

[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,这个token之后在客户端会用到
token = e10adc3949ba59abbe56e057f20f883e
# 开启HTTP
#vhost_http_port = 8088
# 去除TCP速度限制
tcp_mux = false

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin123456
enable_prometheus = true

# frp日志配置
log_file = /home/frp/frp/frps.log
log_level = info
log_max_days = 3

然后启动服务端:

./frps -c frps.ini  # 启动服务端
 nohup ./frps -c frps.ini & # 后台启动

切记一定将云服务器防火墙对应的端口打开。

然后访问FRP后台:http://云服务器IP:管理后台端口
在这里插入图片描述

配置客户端

一样的方式,下载对应系统版本的客户端。这个地方以ubuntu的ssh服务为例演示。
然后解压:
在这里插入图片描述
编辑frpc.ini

[common]
server_addr = 47.xxx.xxx.xxx  # 服务端所在的公网ip地址
server_port = 7000  # 服务端默认端口号,与服务端配置文件保持一致
token = e10adc3949ba59abbe56e057f20f883e
# 去掉速度限制
tcp_mux = false

[ssh]
type = tcp # 注意:这个地方一律填写tcp
local_ip = 192.168.1.211  # 所在内网服务器的ip地址
local_port = 22 # 本地访问端口号
remote_port = 8088 # 映射到云服务器的端口号
use_compression = true
use_encryption = true

[rdp]
type = tcp # 注意:这个地方一律填写tcp
local_ip = 192.168.1.211  # rdp所在内网服务器的ip地址
local_port = 3389 # 本地访问端口号
remote_port = 8081 # 映射到云服务器的端口号

然后启动客户端:

./frpc -c frpc.ini # 启动客户端
nohup ./frpc -c frpc.ini & # 后台启动客户端

然后观察frp后台:
在这里插入图片描述
直接:ssh 用户名@云服务器ip -p 映射的端口
即可访问内网的SSH服务。

注意配置/etc/ssh/sshd_config
将PermitRootLogin 改为yes
去掉PasswordAuthentication yes前的#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Frp是一个常用的内网穿透工具,而宝塔是一款简单易用的服务器管理面板。将宝塔与frp搭建结合可以实现内网穿透的功能,下面是实现该功能的步骤: 1. 安装宝塔面板:通过wget命令下载宝塔面板的安装脚本,然后执行安装命令进行安装。安装完成后,通过浏览器访问服务器的IP地址,即可进入宝塔面板的登录页面。 2. 登录宝塔面板:在登录页面中输入用户名和密码,点击登录按钮即可登录到宝塔面板的控制台。 3. 添加网站:在宝塔面板控制台内,点击“网站”选项卡,然后点击“添加网站”按钮。在添加网站的页面中,填写站点名称、绑定域名等信息,并选择对应的站点目录。 4. 配置frp:在宝塔面板控制台内,点击“软件商店”选项卡,然后搜索并安装“frps”软件。安装完成后,点击“软件管理”选项卡,在列表中找到“frp”,点击“设置”按钮进行配置。 5. 配置frp参数:在frp配置页面中,填写服务器IP地址、远程端口等参数,并保存配置。然后点击“启动”按钮启动frp。 6. 完成内网穿透:在PC端安装frp客户端,然后根据frp客户端的配置文档,配置客户端的参数。将客户端与服务器进行连接,即可完成内网穿透。 通过以上步骤,我们可以通过宝塔与frp搭建一个内网穿透的环境。这样就可以实现远程访问内网服务器或应用的功能,方便服务器管理与应用开发。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miracle_PHP|JAVA|安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值