frp内网穿透服务使用

这篇具有很好参考价值的文章主要介绍了frp内网穿透服务使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,frp简介

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

有了内网穿透你能干什么?

  • 远程访问内网的 http/https 服务
  • 远程桌面(Windows/Mac)
  • 远程文件、 SSH
  • 小程序开发
    有了内网穿透在外访问家里的电脑、NAS、树莓派、摄像头等网络设备或远程控制,那都不是事儿~

frp是一个开源的内网穿透应用,有客户端软件和服务端软件,大概工作过程如下:

服务端运行在具有公网IP的服务器上,比如Linux上,并监听某个端口,等待客户端连接。
客户端运行在需要穿透的内网机器上,比如本地电脑上,连接到服务器之后,服务器开始监听客户端需要穿透的指定端口。
外网用户连接服务器监听的指定端口,然后服务器将用户数据转发到内网客户端,实现内网穿透

frp工作原理

服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

原理简单解释
服务器端和客户端约定通过7000端口通信,客户端告诉服务端要监听6000端口(客户端配置的remote_port =6000),然后外网服务器就会监听是否有连接请求:外网服务器Ip地址:6000,如果有就把连接给客户端,这样就可以达到内网穿透的目的。

2,frp下载

准备一个阿里云服务器,准备安装frp服务端,准备一台电脑安装frp客户端。所以这里需要下载Linux版本和windows版本

下载地址:https://github.com/fatedier/frp/releases

frp文件说明:https://gitee.com/yijicai/frp

frp内网穿透服务使用

2,解压安装

这里frp服务端安装在Linux上,frp客户端安装在Windows上。

将下载的Linux压缩包上传到服务器上解压。

tar -xvf frp_0.38.0_linux_amd64.tar.gz 

解压之后目录结构如下,这里可以选择把客户端没有的程序和配置删掉,也可不删。文件中所有显示frps的都是服务端文件,显示frpc的都是客户端文件。

# 删除客户端配置
rm -f frpc*

frp内网穿透服务使用

下载Windows版本的frp解压到本地,删除所有服务端文件。

3,配置使用

frp使用参考:https://www.cnblogs.com/hahaha111122222/category/1171545.html

frps和frpc配置文件参数:https://www.cnblogs.com/hahaha111122222/category/1171545.html

3.1,查看默认配置

查看服务端默认配置文件frps.ini

[common]
bind_port = 7000	# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改

查看客户端默认配置文件frpc.ini

[common]
server_addr = 云服务器公网IP		#frps服务端所在的公网IP
server_port = 7000		# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改

[ssh]		# frp内网穿透通道的名称,一定要唯一
type = tcp	# 连接类型
local_ip = 127.0.0.1	# 本地的地址
local_port = 22		# 穿透到本地内网的端口号
remote_port = 6000	# 本次TCP服务要监听的端口,就是外网服务器要监听的端口

3.2,开放端口

阿里云服务器端口是没有开放的,所以我们需要先在阿里云安全组中开放7000(frp客户端和服务端通信端口),6000(服务器端要监听的端口),7500(这是frp面板的端口,下面会提到)这三个端口。
frp内网穿透服务使用

3.3,配置frp管理面板

frp面板是frp服务的一个可视化界面,可以知道有哪些穿透服务。

编辑服务端的配置文件

vim frps.ini	# linux上编辑服务端的配置文件
#默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改
bind_port = 7000 

# 控制台配置,frp的web管理控制台的用户名和密码,7500是默认端口(所以前面把7500端口提前放开了),可以通过服务端ip+7500端口登录
dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin

#token = 123456789 #用于验证,为了安全,和客户端对应,服务端配置了token客户端也要配置一样的,这个配置根据需要配置,这里就不配了。

编辑客户端配置文件
只需要配置公网的IP就可以,别的不要改动

server_addr = 云服务器公网IP

3.4,启动

要先启动frp服务端

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

客户端启动后
frp内网穿透服务使用

再启动frp客户端

Windows黑窗口使用命令

frpc.exe -c frpc.ini  # windown上启动客户端

客户端启动后
frp内网穿透服务使用
客户端启动后,Linux服务端也显示了信息
frp内网穿透服务使用

查看面板

frp穿透服务已经成功了,我们再查看下frp面板,浏览器地址栏输入:服务器公网IP+7500

frp内网穿透服务使用
frp内网穿透服务使用

还有一种验证方式:
Linux上输入命令

ssh 127.0.0.1 -l root -p 6000

远程连接
图片时网上找的
frp内网穿透服务使用
如果frp客户端配置在Linux上,远程连接
连接:ssh -oPort=6001 test@x.x.x.x
注:test为内网机器的用户名,x.x.x.x为服务器的公网IP,连接时需要输入内网test用户的密码

四,配置http穿透

上面的穿透是TCP的一个简单穿透,下面配置http内网穿透

4.1有域名配置http穿透

编辑frps.ini文件
在阿里云上把要监听的http端口开放

#默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改
bind_port = 7000 

# 控制台配置,frp的web管理控制台的用户名和密码,7500是默认端口(所以前面把7500端口提前放开了),可以通过服务端ip+7500端口登录
dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin

# 配置http和https服务要监听的端口,这两个端口也要在阿里云安全组上放开,且不能是服务器已经使用的端口
# 为将服务器的80端口做http,443端口做https,原理就像nginx一样,可以多个网站使用这两个端口。
vhost_http_port = 80
vhost_https_port = 443

编辑frpc.ini文件

[common]
server_addr = 云服务器公网IP		#frps服务端所在的公网IP
server_port = 7000		# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改

[ssh]		# frp内网穿透通道的名称,一定要唯一,自定义
type = tcp	# 连接类型
local_ip = 127.0.0.1	# 本地的地址
local_port = 22		# 穿透到本地内网的端口号
remote_port = 6000	# 本次TCP服务要监听的端口,就是外网服务器要监听的端口

# 自己有域名配置http穿透,要将指定域名解析到frps服务端的IP上。
[httptest]	# frp内网穿透通道的名称,一定要唯一,自定义
type = http	# 连接类型
local_ip = 127.0.0.1	# 本地的地址
local_port = 8081	# 穿透到本地内网的端口号
custom_domains = test.yang.com	# 填写你已经解析到frps服务端IP上的域名
# custom_domains = 这里填写你已经解析到frps服务端IP上的域名,自己每个穿透对应服务,都可以绑定一个专属域名用于访问,包括使用tcp和udp协议。然后就可以通过这个已经自定义域域名访问到自己的对应HTTP服务。

访问test.yang.com:80就可以达到访问127.0.0.1:8081的目的

有域名的http穿透没有在客户端配置remote_port 监听端口信息,监听端口配置到了服务端vhost_http_port,常规情况下,frp 服务器端默认定义了 http 和 https 的服务端口为 80/443,所以配置 http 和 https 是无需配置 remote_port 远程端口信息.

另外一种配置方式

有域名的http穿透是通过在frpc.ini中配置custom_domains域名,还有另外一种方式,就是在当 frp服务器frps.ini 中配置了 subdomain_host 参数(配置二级域名),并为所有用户提供了子域名服务.那么此时可以在frpc.ini中使用 subdomain 参数,其参数值应仅为主机头 .

例如:服务器frps.ini提供了subdomain_host= frp.com 的泛域名服务,那么在frpc.ini中设置 subdomain = nas 就可以使用 nas.frp.com 来穿透本条服务,当然主机头也是唯一性的,先到先得.此种配置多数用于 自建frps服务器 ,方便自己使用一个域名的泛域名来配置穿透.

4.2,无域名配置http穿透

编辑frps.ini文件

#默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改
bind_port = 7000 

# 控制台配置,frp的web管理控制台的用户名和密码,7500是默认端口(所以前面把7500端口提前放开了),可以通过服务端ip+7500端口登录
dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin

编辑frpc.ini文件

[common]
server_addr = 云服务器公网IP		#frps服务端所在的公网IP
server_port = 7000		# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,客户端和服务端两边的配置文件都要改

[httpname]		# frp内网穿透通道的名称,一定要唯一,自定义
type = tcp	# 连接类型
local_ip = 127.0.0.1	# 本地的地址
local_port = 8082	# 穿透到本地内网的端口号
remote_port = 6000	# 访问公网IP+6000就可以访问127.0.0.1:8082了

注意:如果在客户端配置http请求的域名,一定要在阿里云上配置域名解析,不然请求不成功

五,说明

frp访问内网的流程,frp服务端和客户端通过配置约定走公网ip的7000端口,同时客户端告诉服务端需要监听6000的端口,如果出现公网ip+6000的请求,就把连接交给本地内网的22端口,请求本地的地址就是127.0.0.1:22,这样就达到访问内网的目的。

使用 HTTP 和 HTTPS 协议时,每一条穿透配置必须至少要有 custom_domain 和 subdomain 中的任意一个域名参数.否则会出现 custom_domains and subdomain should set at least one of them 错误提示.而 TCP 协议可无需配置域名,直接使用 frp 服务器的域名或者IP.

六,window上设置frpc客户端开启自启动

自启动设置1:https://blog.cndoor.vip/?p=140
自启动设置2:https://blog.csdn.net/leadseczgw01/article/details/103298118

1,在frpc.exe目录下新建一个文件frpc_start.bat,注意路径要写绝对路径

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
D:\frp_0.29.0\frpc.exe -c D:\frp_0.29.0\frpc.ini

2,创建自启动任务

右键我的电脑–》管理–》系统工具–》任务计划程序–》创建任务
frp内网穿透服务使用
frp内网穿透服务使用
frp内网穿透服务使用
frp内网穿透服务使用文章来源地址https://www.toymoban.com/news/detail-429935.html

到了这里,关于frp内网穿透服务使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • frp内网穿透(windows和服务器)

     1.frp下载 https://github.com/fatedier/frp/releases  windows端可以下载windows版本,服务器和客户端尽量保持版本一致,当前最新版本为0.43.0. 2.外网服务器frp服务端配置    2.1  使用    命令创建一个新的文件夹frp,然后在文件夹下使用命令:   2.2 解压,并进入解压文件夹   2 .3 删掉

    2024年02月05日
    浏览(61)
  • 虚拟机服务器搭建+FRP内网穿透

    一、虚拟机安装         这里安装的是vmware workstation 17 pro和CentOS-7-x86_64-DVD-2009镜像文件  centos虚拟机服务器手把手搭建_虚拟机搭建服务器_无名之辈之码谷娃的博客-CSDN博客  这篇文章对虚拟机搭建讲的还是比较详细。 完成后,需要为用户添加sudo权限,不然你创建的用户是

    2024年01月20日
    浏览(51)
  • 阿里云搭建frp服务实现本地内网穿透

    如果使用我的链接购买阿里云服务器,我将免费提供帮忙搭建阿里云的frp服务。 背景 利用阿里云搭建frp服务,本地frp客户端来实现内网穿透,来达到访问没有公网ip的远程机器 frp服务端搭建 首先我们先安装一键部署frp的脚本,如果是阿里云的服务器直接用以下源: Aliyun 首先选

    2024年01月19日
    浏览(42)
  • 使用 frp 内网穿透

    使用 frp 内网穿透是一种常见的实现本地服务暴露到公网的方式。要实现frp内网穿透,您可以按照以下步骤进行操作: 首先需要下载并安装 frp 客户端,可以从 frp 官方网站下载相应的客户端,根据您的操作系统选择合适的版本:https://github.com/fatedier/frp/releases。 在 frp 客户端

    2024年02月08日
    浏览(40)
  • 利用frp搭建自己的内网穿透服务器

    本教程基于以下环境完成 带有公网IP的云服务器一台,安装centos7.6系统 一个属于自己的域名,可以是二级域名 域名对应的证书文件 一台64位Windows系统的电脑 开源项目frp 证书文件主要是用来配置https访问的,如果没有证书文件可以参考我的这篇文章生成 centos7中申请Let‘s E

    2024年02月02日
    浏览(60)
  • frp实现内网穿透(内网服务器到公网访问的方案)

    目录 背景: 一、frp的简介 二、Frp Server的配置 三.Frp Client的配置 我使用python写了一个http后端,如代码所示,ip为10.1.136.73,port为8000,现在需要把http后端在公网可以被使用。一个较简单的方案是通过frp实现内网穿透。 这里我已有一个公网ip使用winserver的服务器,但配置太低部

    2024年02月09日
    浏览(47)
  • 使用frp进行内网穿透

    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。frp 采用 C/S 模式,将服务端部署在具有公网 IP 机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服

    2023年04月25日
    浏览(94)
  • 使用frp实现内网穿透

    本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 一打五师兄走之前留了一块树莓派给我,暑假闲来无事拿出来玩玩 如果每次都连接显示屏和键盘使用有点麻烦而且低级 正常笔记本和树莓派都连着实验室的WIFI,网段一样,是可以ssh远程登录的 但我突

    2024年02月09日
    浏览(44)
  • 群晖NAS配置之自有服务器frp实现内网穿透

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。今天跟大家分享一下frp实现内网穿透 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻

    2024年02月04日
    浏览(53)
  • 内网穿透工具frp原理和使用教程

    内网穿透(Port Forwarding)是将公网上的IP地址映射到内部网络中的一台计算机的某个端口上,以便外部网络可以访问该计算机中运行的应用程序。内网穿透技术可以通过一些开源工具来实现,其中比较常用的是frp。在本文中,我们将介绍frp的原理和流程。 一、frp的原理 frp是一

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包