frp应用实例

frp 是一个用于内网穿透的反向代理应用,这是一个非常优秀的开源项目,开发者是 fatedier

server端配置

# frps.ini
[common]
bind_port = 7000
token = passwd

# 可选 通过浏览器查看frp的状态以及代理统计信息展示
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = passwd

# 可选 点对点内网穿透使用
bind_udp_port = 7001
./frps -c frps.ini

client端配置

先展示3种基础用法:

# frpc.ini
[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = passwd
# 可选 启动的代理 默认全部启动
start = everything,msts,http_proxy

# 每个代理均可按需配置use_encryption和use_compression

# Everything提供的HTTP Server
[everything]
type = tcp
# local_ip也可配置成其他提供服务的服务器的ip地址, 如果是本机提供
# 该服务, 则设置127.0.0.1, 以下服务均由本机提供, 故省略该配置项
local_ip = 127.0.0.1
local_port = 80
remote_port = 7080

# 远程桌面连接
[msts]
type = tcp
local_port = 3389
remote_port = 7389
use_compression = true

# HTTP代理
[http_proxy]
type = tcp
remote_port = 7100
plugin = http_proxy
plugin_http_user = abc
plugin_http_passwd = abc
use_encryption = true
use_compression = true
frpc.exe -c frpc.ini

以上3种用法,本质上是将处于内网的C的端口 local_ip:p1 映射到处于公网的S的端口 p2,访问 S:p2,即是访问 C:local_ip:p1,这些流量都要通过S中转,但对于访问者都是透明的。

接下来是两种高端玩法

安全地暴露内网服务

作者称该玩法为 stcp(secret tcp),访问者也需要运行另外一个 frpc,模式可用下图描述:

frpc::local_ip:port1 ----- frps ----- visitor::port2
访问本地的port2端口,相当于访问远端的frpc上的local_ip:port1端口

上节中的 frpc.ini 需要添加如下配置:

# frpc.ini
[secret_tcp]
type = stcp
sk = abcdefg
local_port = 80

visitor 的 frpc 需要做如下配置:

# frpc2.ini
[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = passwd

[secret_service]
role = visitor
type = stcp
# server_name和sk要和上面frpc.ini中一致
server_name = secret_tcp
sk = abcdefg
bind_port = 8000

点对点内网穿透

frp 提供了一种新的代理类型 xtcp 用于应对在希望传输大量数据且流量不经过服务器的场景。
使用方式同 stcp 类似,需要在两边都部署上 frpc 用于建立直接的连接。
目前处于开发的初级阶段,并不能穿透所有类型的 NAT 设备,所以穿透成功率较低。穿透失败时可以尝试 stcp 的方式。

frps 除正常配置外需要额外配置一个 udp 端口用于支持该类型的客户端,在上面 frps.ini 中已添加。frpc.ini 需要额外添加:

[p2p_service]
type = xtcp
sk = abcdefg
local_port = 80

在要访问这个服务的机器上启动另外一个 frpc,配置如下:

# frpc.ini
[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = passwd

[p2p_visitor]
type = xtcp
role = visitor
# server_name和sk要和上面frpc.ini中一致
server_name = p2p_service
sk = abcdefg
bind_port = 9000

参考

frp还提供很多其他功能,如有需求,可查看:
frp项目地址
frp中文文档
frps_full.ini
frpc_full.ini

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
frp是一种用于内网穿透的工具,可以实现将内网服务暴露到公网上,从而可以通过公网访问内网服务。腾讯云是一家云计算服务提供商,提供了各种云计算产品和服务,包括虚拟机、云数据库、云存储等。 要在Mac上连接腾讯云使用frp,可以按照以下步骤进行操作: 1. 在腾讯云上创建一个虚拟机实例,并确保该实例已经开启并运行正常。 2. 在腾讯云控制台中获取虚拟机实例的公网IP地址。 3. 在Mac上下载并安装frp客户端,可以从frp的官方网站或者GitHub上获取最新版本的客户端。 4. 配置frp客户端,打开frpc.ini配置文件,在文件中添加以下内容: ``` [common] server_addr = 腾讯云公网IP server_port = frp服务端口 token = 认证token [ssh] type = tcp local_ip = 本地IP local_port = 本地端口 remote_port = 远程端口 ``` 其中,腾讯云公网IP是你的虚拟机实例的公网IP地址,frp服务端口是你在腾讯云上配置的frp服务端口,认证token是用于验证客户端身份的密钥,本地IP是Mac的本地IP地址,本地端口是你要映射的本地服务端口,远程端口是在腾讯云上映射的端口。 5. 保存并关闭frpc.ini配置文件。 6. 在终端中运行frp客户端,命令如下: ``` ./frpc -c /path/to/frpc.ini ``` 其中,/path/to/frpc.ini是你保存frpc.ini配置文件的路径。 7. 等待frp客户端连接到腾讯云的frp服务端,连接成功后,你就可以通过腾讯云的公网IP和映射的远程端口访问Mac上的本地服务了。 希望以上步骤对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值