使用frp内网穿透

简介: 使用frp内网穿透

最近,某第三方公司说我们封了frp, 为了证明我们没有,而是他们配置有问题。所以我利用自己的服务器部署来证明。

frp部署

frp Github
frp分成 frps和frpc, frps与frps.ini配置文件是Server使用的,同理,frpc与frpc.ini配置文件是需要被内网穿透的机器(客户端)使用的。

以Ubuntu部署frps为例:

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

# 下载后解压
AI 代码解读

配置frps.ini

在更新的版本,不再使用.ini,而是使用.toml

[common]
bind_port = 60000
vhost_http_port = 18080
token = 22N2UMYA4AL772BE1
AI 代码解读

bind_port是服务器端与客户端统一绑定的端口
vhost_http_port或者vhost_https_port 是映射到公网端口
token是密码,用于验证。

配置frpc.ini

[common]
server_addr = 156.146.88.125
server_port = 60000
token = 22N2UMYA4AL772BE1
tls_enable = true

[web]
type = http
local_ip = 192.168.1.101
local_port = 80
custom_domains = ppp.example.com
AI 代码解读

server_addr是服务端地址
[web]的内容是穿透到本地机器的web服务
custom_domains是绑定自定义域名

其中tls_enable并非必须,但是有时候如果没有添加这一行,会导致本机服务无法链接。
错误提示是:login to server failed: EOF

服务端启动服务

直接cd到解压后文件夹,然后在终端输入:
./frps -c ./frps.ini
AI 代码解读

服务端停止服务

netstat -tulpn
#找到端口对应的服务PID

#sudo kill -9 <PID>
sudo kill -9 12512
AI 代码解读

Windows客户端启动服务

D:\frp>frpc.exe -c frpc.ini
AI 代码解读

暴露本地RDP 3389远程桌面链接

我们可以通过公网的服务器暴露机器B的RDP,在机器C也安装frp client的情况下实现p2p链接。

公网IP服务器A配置

我使用docker部署了frps, 以下是配置内容:(将文件映射到裸机文件夹)
参考:https://gofrp.org/zh-cn/docs/features/xtcp/
XTCP 的配置方式和 STCP 很类似。但是会采用 P2P 的方式进行打洞穿透,如果成功,后续的流量将不会经过 frps,而是直接通信,不再受到 frps 所在服务器的带宽限制。

[common]
bind_port = 7000
AI 代码解读

需要暴露的RDP机器B

sk是preshared key,也可以没有的。

[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh]
type = xtcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 3389
AI 代码解读

然后在frp文件夹运行

D:\frp>frpc.exe -c frpc.ini
AI 代码解读

另一台需要连接到RDP的C机器

[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh_visitor]
type = xtcp
role = visitor
server_name = secret_ssh
sk = abcdefg
bind_addr = 127.0.0.1
bind_port = 6000
AI 代码解读

然后在frp文件夹运行

D:\frp>frpc.exe -c frpc.ini
AI 代码解读

只有1台公网和1台客户端情况下直接访问

公网:

[common]
bind_port = 7000
sk = abcdefg
AI 代码解读

客户端:

[common]
server_addr = x.x.x.x
server_port = 7000

[rdp]
type = stcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000
AI 代码解读
目录
打赏
0
0
0
0
69
分享
相关文章
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
782 67
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
732 0
阿里云域名备案流程(从域名注册到域名备案成功图文详解流程)
本教程以实操形式为阿里云新老用户详细讲解从“注册阿里云账号”、“阿里云账号实名”、“租赁阿里云服务器”、“创建阿里云域名模板”、“注册阿里云域名”、“阿里云域名备案”、“域名备案信息查询”、“阿里云域名解析”一整套流程图文详细讲解。
307 4
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
3353 1
阿里云主机构建FRP内网穿透家用服务器避坑指南
阿里云服务器ecs和轻量应用服务器的区别——如何选择比较好?
阿里云ECS与轻量应用服务器对比:ECS适合企业专业场景,功能强大、配置灵活;轻量应用服务器基于ECS简化而来,面向个人开发者,适用于低访问量网站或学习测试,操作简单、成本低。两者在适用人群、使用场景、计费方式、网络带宽等方面各有差异,用户可根据需求选择。如需简易管理与低成本,选轻量应用服务器;追求高性能与复杂业务支持,则云服务器ECS更优。
746 6
自建内网穿透服务器
本文介绍了如何使用FRP实现内网穿透。首先准备一台具有公网IP的云服务器和一台内网服务器,接着在云服务器上安装Docker和FRP服务端,配置`frps.ini`文件并启动服务。在内网服务器上手动安装FRP客户端,配置`frpc.ini`文件并启动服务。最后通过FRP控制台验证连接状态,确保可以通过公网IP访问内网服务。
1764 10
自建内网穿透服务器
阿里云云效产品使用合集之如何配置流水线里的npm构建
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
Python中导入错误(ImportError)
【7月更文挑战第14天】
724 11
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问