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的架构

准备工作

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

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

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

frp下载地址

github页面地址:https://github.com/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 https://github.com/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 所在服务器的 IP
server_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,这里替换为https
custom_domains = www.yourdomain.com #这里是你的公网服务器IP或域名
auth_token = 123

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

2、 服务器端:启动 frps:

$ ./frps -c ./frps.ini

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

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

4、客户端:启动 frpc:

1)linux系统的启动方式:

$ ./frpc -c ./frpc.ini

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

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

更多配置

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

小结

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

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

frp内网穿透工具实现内网穿透相关推荐

  1. 诚龙网刻报错_网刻工具|诚龙网维全自动PXE网刻工具V11.0下载(暂未上线)_预约_飞翔下载...

    使用诚龙网维全自动PXE网刻工具进行网刻,你无须架设DHCP和TFTP服务器,也无须进行GHSOT服务端设置,真正全自动的网刻.你只需要将客户机设置从网卡启动即可,支持NF系列网卡. 支持全盘网刻和单 ...

  2. 网刻工具linux,批量网刻操作系统(使用GHOST工具)

    一.安装操作系统并备份成镜像文件 1.首先安装操作系统,然后使用ghost工具将母盘做一个全盘镜像备份.(选择disk to image) 2.镜像备份好后,就可以通过设置诚龙网刻工具来进行的网刻. ...

  3. linux查看网速工具,ubuntu查看网速的工具

    1.工具一:slurm 安装 sudo apt-get install slurm  (Ubuntu系统)查看网速命令 slurm -i eth0  (etho为网卡名) ************** ...

  4. 内网端口 转发 穿透 工具简介

    目录 一.LCX 1.lcx 内网端口转发(类似于SSH远程转发-R) 2.本地端口转发(类似于SSH本地转发-L) 二.nc反弹 正向连接 反向连接 三.socks代理工具 (1)Earthworm ...

  5. 推荐一款免费的内网穿透工具ngrok

    内网穿透工具让外网可以正常访问我们内网的资源.网上虽然有多内网穿透工具,但是大部分都是收费的.今天发现一款免费的内网穿透工具ngrok,特意分享推荐给大家. 1.介绍         ngrok 是一 ...

  6. 钉钉提供的内网穿透工具pierced 速度超快

    钉钉提供的内网穿透工具 介绍 内网穿透示意图 使用方法 natapp与pierced工具对比 下载地址 介绍 本仓库及以下说明来自钉钉官方开发文档. 注意:鉴于很多开发者在临时体验开发时往往没有公网域 ...

  7. 外网访问内网80端口【内网穿透】

    微信公众号开发.本地搭建web服务器,或者在本地服务器搭建了IIS或apache等web网站时,需要解决80端口映射的问题. 但很多人在路由器映射80端口的时候,会出现映射失败的情况.造成这种情况的原 ...

  8. 【内网渗透工具】炫彩蛇安装教程

    点击查看[学习资料] Viper是一款图形化内网渗透工具,将内网渗透过程中常用的战术及技术进行模块化及武器化. Viper基础功能已集成杀软绕过,内网隧道,文件管理,增强命令行等基础功能. Viper ...

  9. 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

    内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...

最新文章

  1. Samba服务器配置(1)--源码安装
  2. 云原生思想 — 云原生的 DevOps
  3. Minimum Array
  4. DA模拟量控制外接600V高压直流源-设计分析
  5. WTL学习笔记——初章
  6. Laravel最佳实践--根据搜索参数为Model查询应用不同的Where条件
  7. SAP License:SAP增强应用实例
  8. Java文档对象_java从文件读取对象
  9. 线性空间与坐标空间的同构
  10. 线性同余法[纯理论]
  11. html js定义json对象,JS中的JSON对象的定义和取值实现代码
  12. 什么是3322域名?3322域名如何注册?
  13. Linux系统通过console口连接交换机
  14. [转]读《简约至上》有感 - 及我的支语片言
  15. 无盘启动服务器f12,无盘pxe引导winpe
  16. English # 英语学习第一天(audience)
  17. 输出斐波拉契数列前30项,每行5个
  18. php打印马赛克,PHP-如何用PHP给一张图生成马赛克效果?
  19. 天圆地方#183; 围棋界的盲棋天才 -- 鲍云
  20. 声网-本地视频录制sdk配置说明

热门文章

  1. 基金投资好简单,从入门到精通 -学习笔记day7
  2. 吃鸡专用计算机,死得不明不白 推荐你一台吃鸡专用显示器
  3. 美国高防服务器和香港高防服务器的区别是什么
  4. 爬取人民日报_【爬虫项目】人民日报
  5. c++如何将十进制转换成二进制
  6. 记录金蝶苍穹开发代码实例
  7. 计算机登陆后如何防止自动注销,电脑取消自动注销_电脑怎么取消自动注销
  8. 馆藏档案数字化加工:古籍爱好者的福利
  9. 苹果电脑连linux密码错误,Mac系统登录不进系统解决办法
  10. sonix c语言 pdf,sonix c语言编程教程1.ppt