frp简介

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

环境准备

ssh连接

1. 需要一台可以直接访问外网的服务器,比如阿里云服务器(服务端)

2. 需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端)

web访问

3. 需要额外的已经备案的域名

下载地址

安装步骤

客户端跟服务端都需要的安装操作

cd /usr/local/

wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz

tar -zxvf frp_0.27.0_linux_amd64.tar.gz

mv frp_0.27.0_linux_amd64 frp

下载完毕frp的目录文件

frpc:客户端可执行程序

frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)

frpc.ini:客户端配置项

frps:服务端可执行程序

frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)

frps.ini:服务端配置项

LICENSE:许可证

服务端只需要编辑frps.ini文件

客户端只需要编辑frpc.ini文件

服务端配置

查看frps.ini文件,修改为如下内容

[common]

bind_port = 7000 # 客户端跟服务端绑定的端口号

默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一。阿里云服务器需要在esc管理中配置安全组规则中暴露7000端口

启动服务端

./frps -c frps.ini

如下表示启动成功

启动成功之后,关闭xshell或者是退出回话,都会使连接断开,可以使用nohup来进行后台启动(后面启动都可以使用这种方式)

如下是后台启动并将日志输入到file.log文件中

nohup ./frps -c ./frps.ini > file.log 2>&1 &

客户端配置

查看frpc.ini文件,修改为如下内容

[common]

server_addr = 39.105.97.50 # 你的公网ip

server_port = 7000 # 绑定的端口,自定义,跟服务端一直即可

[ssh]

type = tcp

local_ip = 127.0.0.1 # 绑定的ip,填写127.0.0.1表示本机即可

local_port = 22

remote_port = 6008 # ssh默认是22,现在转发为6008端口

[common]表示以下配置信息是一些公用配置信息

server_addr是我们服务端即外网服务器的公网访问ip

server_port是我们前面在服务端配置的frps.ini中bind_port中对应的端口。需保持两边一致

[ssh]表示以下配置信息是我们使用ssh连接内网服务器时需要的一些配置信息

type 是连接类型,ssh方式连接就用tcp

local_ip 是本机ip,直接使用127.0.0.1即可

local_port 是本地ssh端口,ssh默认端口为22

remote_port 是外网服务器请求过来的端口 注:阿里云服务器需要在esc管理中配置安全组规则中添加6008端口

启动客户端

./frpc -c ./frpc.ini

OK,之后可以通过xshell来连接,只需要指定端口号为remote_port(6008)即可,如下

多个ssh配置

单个ssh配置成功,项配置多个,一样的操作,在另一台机器进行下载frp,之后只需要修改frpc.ini文件,修改格式如下

[common]

server_addr = 39.105.97.50

server_port = 7000

[ssh001] # 不能重复

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6009 # 不能重复

需要将remote_port进行修改,[ssh]名称不能重复

frpc命令启动即可。

外网服务器HTTP配置

配置了http之后,就可以访问内网的web服务了,比如云盘前提是需要有已经备案的域名,这样才能配置。

配置方式

服务端:修改frps.ini,内容如下

[common]

bind_port = 7000

vhost_http_port = 6001 # 访问6001端口,映射到内网web服务

bind_port和之前做ssh时是一个意思。也是为了和客户端建立通信的端口,只需要在之前的配置文件中添加上vhost_http_port = 6001,这个配置意思是让别人在访问我们的服务器6001端口时。frp将http请求转发到内网服务器

客户端:修改frpc.ini,修改内容如下

[common]

server_addr = 39.105.97.50

server_port = 7000

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6008

[web]

type = http

local_port = 8080 # 访问本地8080web服务

custom_domains = www.chendahai.cn # 必须已经备案

[web]表示我们的配置是一个web服务

type表示我们的请求方式是http方式

local_port表示我们的本地服务端口号为80

custom_domains表示配置为一个已经备案的域名(必填,并且需要域名可用) 并且域名解析配置为外网服务器ip

OK,使用frpc命令重启即可,通过www.chendahai.cn:6001,即可访问内网的8080服务了。

多个web服务配置

如果想配置多个web服务怎么办,跟ssh类似,添加多个[web]即可,注意不能重名

服务端不需要做任何修改,修改ftpc.ini内容如下

[common]

server_addr = 39.105.97.50

server_port = 7000

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6008

[web01]

type = http

local_port = 8080

custom_domains = www.chendahai.cn

[web02]

type = http

local_port = 80

custom_domains = cd.chendahai.cn # 使用二级域名进行配置

之后访问内网的80端口web服务可以通过cd.chendahai.cn:6001就可以访问了,二级域名是需要配置域名解析的。

如下是配置了2个ssh和3个web服务,服务端日志如下

结束

OK,内网穿透基本配置完毕

frp的使用和配置相当简单,如有疑问或者想了解关于frp的其它功能可以查看官方中文文档

补充

倘若想配置连接数据库mysql

可以这么操作,修改frpc.ini,添加如下配置

[mysql]

type = tcp

local_ip = 127.0.0.1

local_port = 3306

remote_port = 3366

重启,连接即可

切记,如果需要,记得添加安全组规则

搭建 Frp 来远程内网 Windows 和 Linux 机子

魏刘宏 2019 年 5 月 19 日 一.使用一键脚本搭建服务端 Frp 这个内网穿透项目的官方地址为 https://github.com/fatedier/frp ,不过我们今天搭建服务端时不直 ...

LanProxy 内网映射穿透

前言:用过 ngrok 的人都知道,这是一个免费并且简便的内网映射工具,可是现在ngrok不知道弄啥?不能用了,那我们只能去找一些新的工具,下面是我跟我朋友一起弄的(主要是他教我(✪ω✪)),免费的, ...

工具篇:使用natapp工具映射内网到外网访问

一.环境说明 开发基于微信公众号的应用最大的痛苦之处就是调试问题,每次实现一个功能后都需要部署到一个公网服务器进行测试,因为微信用户每次向公众号发起请求时,微信服务器会先接收到用户的请求,然后再转发到 ...

win 内网frp反弹到内网liunx

前提:frp不同系统 但是版本必须完全相同 这是我的两个版本 我这个就是验证frp可以在不同系统之间使用 准备工作 靶机 win2003 ip 192.168.1.132 公网 vps windows ...

单线拨号上网时RouterOS内网端口映射的配置

很多时候routeros 是通过单线拨号上网,假设PPP接口名为pppoe-out1 若需要添加内网ip=18.16.1.92主机的3389端口映射 ,可以在命令行键入: ip firewall na ...

内网环境下为Elasticsearch 5.0.2 添加head服务

背景: 本项目的服务器是内网环境,没有网络,因此需要在离线的环境中,安装head服务. 需要用到的安装包有: node的安装包 elasticsearch的head插件源码 说明:此次只讲述为elas ...

内网 LAN IPv6 环境配置 H3C S5500 Huawei S5700

# 使能IPv6报文转发功能. system-view [Sysname] ipv6 # 使能DHCPv6服务器功能. system-v ...

阿里云apache服务器外网无法访问(配置安全组,添加80服务)

CentOS的系统 ,已经安装好了 apache php mysql 常规排错过程(ps:没耐心的童鞋请直接看最后一步,学习在阿里云控制台配置 安全组,允许 http服务) 第一步:检查apache ...

随机推荐

HDU 2255 & KM模板

题意: 一张完备二分图求最优完备匹配. SOL: 这题就不讲什么sol了...毕竟是裸的KM,不会的话可以看老人家的大白鼠,一些问题看代码注释.讲讲经历(悲惨的经历) 刚打完,自信地交上去发现MLE. ...

iOS越狱程序开发

iOS越狱程序开发http://www.docin.com/p-760246852.html

开源 java CMS - FreeCMS2.3 留言管理

frps 多个_使用frp工具实现内网的穿透以及配置多个ssh和web服务相关推荐

  1. frp工具实现内网穿透以及配置多个ssh和web服务

    frp简介 frp简介 环境准备 安装及配置步骤 frp简介 frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力, ...

  2. 基于FRP反向代理工具实现内网穿透攻击

    文章目录 前言 FRP反向代理 内网环境搭建 服务端的配置 客户端的配置 FRP内网穿透 FRP进阶使用 fscan内网神器 总结 前言 当我们拿下目标单位的一台外网服务器后,需要借助外网服务器作为跳 ...

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

    frp实现内网穿透 前言 frp简介 frp是什么 frp 的作用 frp的架构 准备工作 frp下载地址 frp的文件结构 frp配置与使用 linux公网服务器的配置(windows配置同理,这里 ...

  4. 【群晖NAS】 利用云服务器 FRP技术 实现内网穿透

    一. 前言 我在之前的文章有介绍过使用服务商提供的内网穿透,但是这也存在着一些缺点,有的服务商提供的节点并不稳定,容易掉线,一旦掉线,就直接与机器"失联"了. 因为我本身有一台云服 ...

  5. c++使用netsh命令_渗透常用命令IPC$内网(一)

       一.IPC$命令 IPC$命令在内网渗透测试中还是经常使用的,也是一款不错的命令.说白了就是一个共享命名管道的资源,它是为了让进城间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限, ...

  6. 内网穿透 NPS工具实现内网穿透

    内网穿透    NPS工具实现内网穿透 官网的简介 NPS是一款轻量级.高性能.功能强大的内网穿透代理服务器.目前支持tcp.udp流量转发,可支持任何tcp.udp上层协议(访问内网网站.本地支付接 ...

  7. 渗透测试常用工具-stunnel内网穿透

    关于内网穿透原理可以查看我另外一篇文章介绍:渗透测试常用工具-ptunnel内网穿透 目录 关于内网穿透原理可以查看我另外一篇文章介绍:[渗透测试常用工具-ptunnel内网穿透](https://b ...

  8. frp工具实现外网代理访问

    外网代理frp工具 以外网访问自建的git服务器为例 工具下载github上的 搜索frp即可,下载对应的系统版本 在服务端(建议在云平台的服务器上配置好frps.ini,绑定好公网ip或者域名),启 ...

  9. frp:开源内网穿透工具

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

最新文章

  1. 干货满满的 Python 实战项目,点赞收藏
  2. 微服务的分解和组合-文末赠书
  3. android+高仿视频录制,android高仿微信视频编辑页
  4. 云原生思想 — 云原生的 DevOps
  5. ASP.NET 判断客户端是否为手机的函数
  6. Web自动化测试 Selenium+Eclipse+Junit+TestNG+Python
  7. Hadoop 命令操作
  8. PyMongo官方文档翻译——VNPY
  9. 95-910-144-源码-FlinkSQL-Flink的UDF
  10. VS2005里自定义控件设计时语法
  11. Pandas csv 文件,按条件删除行
  12. 农行2021软件开发笔试题
  13. 使用dockerfile搭建java运行环境
  14. 利用vlmcs客户端区分KMS服务器是KMS模拟器还是正版微软KMS服务器
  15. 计算机错误代码0x 00000006,什么原因造成了蓝屏 电脑蓝屏错误代码介绍
  16. ORACLE中的INTERVAL
  17. 常用PHP开发工具都有哪些(2021整理)
  18. NetScaler AG自定义用户门户
  19. 亲身经历!4个月写完硕士毕业论文一稿过,我是如何做到的?
  20. vb.net 教程 3-4 窗体编程 公共控件6 PictureBox ProgressBar

热门文章

  1. 动态网页和静态网页的差异
  2. unity打开ppt 打包后也可以运行
  3. 展示数据使用:recyclerview,retrofit,greendao,butterknife,eventbus,fresco。实现效果图列表。MVP模式。
  4. 《MapReduce: Simplified Data Processing on Large Clusters》译文
  5. 经商要看《大染坊》,做人要学陈寿亭
  6. 2022云南省职业院校技能大赛(高职组) Web技术(网站设计与开发)赛项规程
  7. 基于Lora的远程农业监测与控制系统,过程回顾及经验总结
  8. 面试题练习(Java基础(二))
  9. 华为云城市峰会深圳站 · 华为云区块链助力金融创新
  10. 自动生成sitemap地图PHP代码