官网文档:https://gofrp.org

1 Frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp,

frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
2 配置教程
想要配置frp穿透,首先必须先要有一台具有外网ip(即:可以外网访问)的服务器。如果没有,接下来的教程就不用看了。配置教程主要分为两个部分,一是服务器端(外网服务器)的配置;二是客户端(内网服务器)配置。

2.1 服务端配置

1).下载

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -zxvf frp_0.33.0_linux_adm64.tar.gz

2).进入解压目录,修改配置文件cd frp_0.33.0_linux_amd64/

vim frps.ini

[common]
# frp默认监听的端口,可以进行修改
bind_port = 7000
# 访问外放服务的端口
vhost_http_port = 8080
vhost_https_port = 443

# 授权码,客户端链接需要使用
token = 52010
# frp管理后台端口
dashboard_port = 8500

# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin

enable_prometheus = true

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

3)设置并启动frp服务

sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp sudo cp frps /usr/bin sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps

4)开放防火墙端口

# 添加监听端口
sudo firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --reload

注意:

a. 如果是ubuntu或者centos 6,请使用ufw/iptables工具放行端口;

b. 7000和7500两个端口分别对应frps.ini配置中的bind_port和dashboard_port

6)验证

访问:http://服务器IP:后台管理端口” ,输入用户名和密码可以查看连接状态
如:http://62.244.114.4:7500/,用户名和密码分别对应frps.ini文件中的dashboard_user和dashboard_pwd

2.2客户端配置

1)下载客户端包

tar -zxvf frp_0.33.0_linux_amd64.tar.gz

cd frp_0.33.0_linux_amd64/

2)编辑配置文件

vim frpc.ini

[common]
# 服务端ip
server_addr = 112.122.144.114
# 与frps.ini的bind_port一致
server_port = 7000 token = 52010 [ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 自定义, ssh链接使用
remote_port = 6000 # 配置http服务,可用于小程序开发, 远程调试
[web]
type = http
local_ip = 192.168.54.181
local_port = 8100
custom_domains = xx.xaix.top,xx2.xaix.top
#所绑定的公网服务器域名,一级、二级域名都可以,绑定多个域名时用英文“,”分开,没有域名的直接公网ip也可以

注意:

[ssh]这样的名称必须全局唯一,即就算有多个客户端,也只能使用一次,其他的可以用[ssh2]、[ssh3]等;

意思就是说,如果你要配置多个客户端,必须将另外的客户端的[ssh]改为[ssh2]、[ssh3]等,并且remote_port也要变,比如6002,6003等

3)开放防火墙

sudo firewall-cmd --permanent --add-port=6000/tcp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

4)启动客户端

./frpc -c frpc.ini

内网穿透之frp的更多相关文章

  1. 内网穿透工具--frp

    对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy.FRP 是一个使用 ...

  2. 【代理】内网穿透工具 frp&frps

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

  3. 分享一个内网穿透工具frp

    首先简单介绍一下内网穿透: 内网穿透:通过公网,访问局域网里的IP地址与端口,这需要将局域网里的电脑端口映射到公网的端口上:这就需要用到反向代理,即在公网服务器上必须运行一个服务程序,然后在局域网中需 ...

  4. 内网穿透—使用 frp 实现内外网互通

    前言 什么是内网穿透? 内网穿透,又叫 NET 穿透,是计算机用语.用通俗的说法就是你家里的个人电脑,可以直接被外网的人访问.例如你在公司,不通过远程工具,直接也可以访问到家里的电脑(本文章特指 we ...

  5. 【网络】内网穿透方案&FRP内网穿透实战(基础版)

    目录 前言 方案 方案1:公网 方案2:第三方内网穿透软件 花生壳 cpolar 方案3:云服务器做反向代理 FRP简介 FRP资源 FRP原理 FRP配置教程之SSH 前期准备 服务器配置 下载FR ...

  6. 内网穿透工具FRP的使用

    目录 FRP 使用FRP建立隧道 服务端 客户端

  7. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  8. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

  9. 分享下超实用的用skura frp做内网穿透的经验

    操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...

  10. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公

    当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...

随机推荐

  1. Coursera Self-driving1, introduction

    有哪些 Sensors? 摄像头和激光雷达,毫米波雷达等 sensor 分类: exteroceptive (surrounding), 有 camera(Resolution, FOV, Dynam ...

  2. web 3d 技术预研及数据可视化技术

    web 3D 技术 白纸一张,先理一理概念: webGL 是low level 库,three.js 是high level 库,一般只要理解webGL里的概念,实际用thee.js 开发更容易 3D ...

  3. Docker 知识梳理及其安装使用

    Docker 介绍 Docker 是一个强大的工具,用于高效开发.打包和部署应用程序.Docker 是一种容器管理服务.Docker 于 2013 年发布.它是开源的,可用于 Windows.macO ...

  4. Angular 学习笔记 work with excel (导出 excel)

    更新: 2020-04-15 补上 read excel 先用 file reader 把文件变成 buffer 然后调用 exceljs 就可以了, 它很聪明的哦, date number, boo ...

  5. Excel 国产化替换新方案

    前言 在当前数字化转型和信创(信息技术应用创新)战略背景下,企业对于安全性.自主可控性和高效办公工具的需求日益增加.作为一款国产自主研发的高性能表格控件,SpreadJS 正成为替换 Excel 的最 ...

  6. Java序列化、反序列化、反序列化漏洞

    目录 1 序列化和反序列化 1.1 概念 1.2 序列化可以做什么? 3 实现方式 3.1 Java 原生方式 3.2 第三方方式 4 反序列化漏洞 1 序列化和反序列化 1.1 概念 Java 中序 ...

  7. Java poi 读取 word 、 pdf

    从各个博客 CV 出来的,不好意思 pom <dependency> <groupId>org.apache.poi</groupId> <artifactI ...

  8. 【赵渝强老师】Oracle数据库的内存结构

    首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下: 每个数据库实例有两个关联的内存结构-系统全局区(SGA),程序全局区(PGA). 系统全局(SGA):一组共享的内存结构(称为SG ...

  9. Vue的nextTick的原理

    知识储备:事件循环有宏任务和微任务,宏任务所处的队列就是宏任务队列,队列可以有多个,第一个队列只有一个任务就是执行主线程的js代码,剩余队列任务有setTimeout setInterval微任务所处 ...

  10. 解决 -Code 安装似乎损坏。请重新安装

    问题: 1. 安装插件  fix VSCode Checksums 2. ctrl+shift+P打开命令面板 3. 输入 Fix Checksums: Apply 4.  重新启动VSCode