frps内网穿透

1 原理讲解

请添加图片描述

frp工作原理

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

2 frps软件准备

云端服务器和本地下载frps

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

3 云服务器(公网IP)准备

1)配置文件

修改 frps.ini 配置文件
示例:

[common]
# frp服务端口
bind_port = 7000
# 用户连接时的url端口
vhost_http_port = 10000
# 主域名 通过此域名连接(也可用公网IP)
subdomain_host = test.com
# 管理台
dashboard_port = 7500
dashboard_user = admin   # 账户
dashboard_pwd = admin123 # 密码
max_pool_count = 10
# 日志文件位置及名字
log_file = ./frps.log
# 日志级别
log_level = info
# 日志最多记录天数
log_max_days = 3
# token 客户端token需要与此一致
token = testtoken

2)端口放行

步骤3自定义配置好了后

放行frp服务端口(步骤三的 bind_port = 7000)

放行自定义访问端口(步骤三的 vhost_http_port = 10000)

3)启动frp服务

先切换到frp的根目录

再用命令 ./frps -c ./frps.ini 启动服务

(上面是相对路径,也可不切换路径,直接在启动命令中用绝对路径)

此种方式启动服务后不能关闭命令窗口,命令窗口关闭后服务也会关闭

挂后台方式参考 步骤13

在这里插入图片描述

4. 服务器(动态IP)准备

2.2、客户端配置

1、下载frp库
https://github.com/fatedier/frp/releases/download

选择对应版本下载

2、解压frp压缩包

tar -zxvf frp_0.33.0_linux_amd64.tar.gz

3、进入该解压目录:
cd frp_0.33.0_linux_amd64/

并打开配置文件:

vi frpc.ini  (注意哦,不是frps.ini)

将文件内容修改为如下:

# 客户端配置
# 心跳维持
[common]   
# 与subdomain_host保持一致
server_addr = test.com
# 与bind_port 保持一致
server_port = 7000 
token = testtoken

# 配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
 # 这个自定义,之后再ssh连接的时候要用
remote_port = 6000 

 # 端口映射
[frp] 
type = http
local_ip = localhost
local_port = 8080
# 自定义的远程服务器端口,例如8080   即本地8080→云服务器8080
remote_port = 8080 
# subdomain = frp  # 与custom_domains 保持一致
custom_domains =  test.com

修改后如下图:

在这里插入图片描述
注意:[ssh]、[frp]这样的名称必须全局唯一,即就算有多个客户端,也只能使用一次,其他的可以用[ssh2]、[ssh3]等;意思就是说,如果你要配置多个客户端,必须将另外的客户端的[ssh]改为[ssh2]、[ssh3]等,并且remote_port也要变,比如6002,6003等

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值