1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > frp内网穿透工具实现内网穿透

frp内网穿透工具实现内网穿透

时间:2023-09-23 20:36:21

相关推荐

frp内网穿透工具实现内网穿透

frp实现内网穿透

前言frp简介frp是什么frp 的作用frp的架构准备工作frp下载地址frp的文件结构frp配置与使用linux公网服务器的配置(windows配置同理,这里不做说明)通过 ssh 访问公司内网机器通过IP或指定域名访问部署于内网的 web 服务更多配置小结

前言

工作中遇到项目中需要开发公众号的情况,公众号平台需要指定域名,且要求端口需要是80或443端口才行。而公司的公网域名和端口已经被使用,为了方便开发调试,使用了frp来实现内网穿透。这里使用的frp版本为0.35.1

frp简介

frp是什么

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

frp 的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。可查看通过代理的所有 http 请求和响应的详细信息。(待开发)

frp的架构

准备工作

有公网ip的设备(云服务器,VPS都可以)

保证公网设备响应的端口要对外开启,如果是云服务器则到响应的云服务器产商的控制台中开启,以供后续使用

如果有使用域名的需求的话,记得将域名映射到公网ip

frp下载地址

github页面地址:/fatedier/frp/releases

跟据自己的机器下载对应的版本就好~不然不兼容版本无法运行!!

我下载的是:

linux服务器:frp_0.35.1_linux_amd64.tar.gz

windows内网机器:frp_0.35.1_windows_amd64.zip

如果是32位系统就选386结尾的!

frp的文件结构

以windows版本为例

可以看出,frp中包含了frpc和frps,c即client客户端,s即server服务端。

frpc.ini、frps.ini 分别是客户端的配置文件和服务端的配置文件,修改配置也是在这里修改

一般情况下公网机器上只用运行frps,内网机器只用运行frpc

frp配置与使用

linux公网服务器的配置(windows配置同理,这里不做说明)

1、下载frp文件

$ wget /fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz

2、下载完后解压压缩包

$ tar -zxvf frp_0.35.1_linux_amd64.tar.gz

3、根据需求修改配置(见下文)

4、启动frps

$ cd frp_0.35.1_linux_amd64/ $ ./frps -c ./frps.ini

通过 ssh 访问公司内网机器

1、 服务器端:修改 frps.ini 文件,配置一个名为 ssh 的反向代理:

# frps.ini[common]bind_port = 7000 #该端口用于与内网通信[ssh]listen_port = 6000 #该端口用于监听ssh请求auth_token = 123

2、 服务器端:启动 frps:

$ ./frps -c ./frps.ini

3、 客户端:修改 frpc.ini 文件:

# frpc.ini[common]server_addr = x.x.x.x #frps 所在服务器的 IPserver_port = 7000 #frps 配置中bind_port的端口,两者要一直,不然怎么通信auth_token = 123[ssh]local_port = 22 #本地ssh监听的端口

4、客户端:启动 frpc:

1)linux系统的启动方式:

$ ./frpc -c ./frpc.ini

2)windows系统需要cmd启动frpc.exe:

5、 通过 ssh 访问内网机器,假设用户名为 test:

ssh -oPort=6000 test@x.x.x.x

通过IP或指定域名访问部署于内网的 web 服务

有时想要让其他人通过域名访问或者测试我们在本地搭建的 web 服务,但是由于本地机器没有公网 IP,无法将域名解析到本地的机器,通过 frp 就可以实现这一功能,以下示例为 http 服务,https 服务配置方法相同, vhost_http_port 替换为 vhost_https_port, type 设置为 https 即可。

1、 修改 frps.ini 文件,配置一个名为 web 的 http 反向代理,设置 http 访问端口为 80,绑定IP或域名:

# frps.ini[common] bind_port = 7000 #该端口用于与内网通信vhost_http_port = 80 #公网访问的端口,如果是https,这里替换为vhost_https_port[web]type = http #如果是https,这里替换为httpscustom_domains = #这里是你的公网服务器IP或域名auth_token = 123

上述的 [web] 下的配置可以不要

2、 服务器端:启动 frps:

$ ./frps -c ./frps.ini

3、 客户端:修改 frpc.ini 文件:

# frpc.ini[common]server_addr = x.x.x.x #frps 所在服务器的 IPserver_port = 7000 #frps 配置中bind_port的端口,两者要一直,不然怎么通信auth_token = 123[web]type = http #如果是https,这里替换为httpslocal_port = 8080 #内网环境web服务的端口custom_domains = #这里是你的公网服务器IP或域名,如果需要IP或域名同时可以访问,将IP和域名使用逗号分隔写到这里!!!!!!!!!!!

4、客户端:启动 frpc:

1)linux系统的启动方式:

$ ./frpc -c ./frpc.ini

2)windows系统需要cmd启动frpc.exe:

5、通过浏览器访问(没有配域名这边就写ip地址):端口(frps中vhost_http_port的值)即可访问到处于内网机器上的 web 服务。

更多配置

DNS、提供文件服务等更多功能,可以参考/wefeng/frp

小结

frp是一款方便、快捷、高效的内网穿透工具,但是需要有公网IP的机器,而且访问速度同时受限于内网所处网络和公网机器网络的速度,不过平常使用已经是很不错的选择了。frp还有其他妙用,这里就不再赘述。

如果有帮到你,那就点赞支持下吧,或者有什么问题,还请留言或者私信~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。