使用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

# 下载后解压

配置frps.ini

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

[common]
bind_port = 60000
vhost_http_port = 18080
token = 22N2UMYA4AL772BE1

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

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

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

服务端启动服务

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

服务端停止服务

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

#sudo kill -9 <PID>
sudo kill -9 12512

Windows客户端启动服务

D:\frp>frpc.exe -c frpc.ini

暴露本地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

需要暴露的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

然后在frp文件夹运行

D:\frp>frpc.exe -c frpc.ini

另一台需要连接到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

然后在frp文件夹运行

D:\frp>frpc.exe -c frpc.ini

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

公网:

[common]
bind_port = 7000
sk = abcdefg

客户端:

[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
相关文章
|
Linux 网络安全 Windows
使用阿里云搭建FRP
使用frp穿透进行远程桌面
|
XML 弹性计算 网络协议
阿里云ECS+frpc/frps+RDP_CnC 实现内网穿透远程桌面,无公网家庭版Win10台式机变身远程工作站
本文是实操笔记,记录了通过自建内网穿透和解锁 Windows 10 Home 的远程桌面功能,将没有公网 IP 的家用台式机配置成远程工作站的大致过程。在此过程中我练习了简单的 Linux 系统操作,了解了一些实用的服务器工具软件(如文中提到的 frpc/frps 套件与 Windows 系统上的 WinSW 服务封装工具)。
2903 0
|
弹性计算 Ubuntu 网络安全
借助阿里云ECS实现本地电脑连接实验室内网服务器
在实验室的服务器上进行开发,往往只能通过内网电脑进行ssh连接。然而疫情当下,很多时候都要居家办公,或远程办公。借助阿里云ECS,我们可以搭建一个FRP服务,实现内网穿透,在家里的电脑也可以ssh连接内网服务器。
1882 1
借助阿里云ECS实现本地电脑连接实验室内网服务器
|
弹性计算
阿里云ECS配置内网穿透服务器
阿里云ECS配置内网穿透服务器 包含FRP zerotier
|
网络协议 Linux 网络安全
如何用阿里云实现内网穿透?如何在外网访问家里内网设备?
使用NPS自建内网穿透服务器教程,带WEB管理
37887 12
|
安全 网络协议 Linux
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
2046 67
|
网络安全 开发工具 数据安全/隐私保护
自建内网穿透服务器
本文介绍了如何使用FRP实现内网穿透。首先准备一台具有公网IP的云服务器和一台内网服务器,接着在云服务器上安装Docker和FRP服务端,配置`frps.ini`文件并启动服务。在内网服务器上手动安装FRP客户端,配置`frpc.ini`文件并启动服务。最后通过FRP控制台验证连接状态,确保可以通过公网IP访问内网服务。
4480 10
自建内网穿透服务器
|
10月前
|
存储 人工智能 网络协议
为什么NAS需要内网穿透,如何给自建NAS做内网穿透
内网穿透是一种解决外网访问内网服务的技术,通过公网服务器中转或直连方式,实现对家中的NAS、摄像头等设备的远程访问。文章详细介绍了内网与外网的区别、NAS为何需要内网穿透,以及两种主要实现方式:端口转发和P2P直连。同时列举了常见工具如NAT123、FRP、Ngrok和Infortress,分别适合不同技术基础的用户。总结指出,内网穿透让远程访问变得便捷,而相关工具则降低了使用门槛,让更多人受益于这项技术。
|
安全 数据安全/隐私保护
frp http转发
通过FRP实现HTTP转发,可以方便地将内网服务暴露到外网,解决了内网穿透问题。在实际应用中,通过合理配置FRP和增强安全措施,可以实现稳定、高效和安全的内网服务外网访问。
1247 12
|
网络协议 Shell Linux
使用NPS内网穿透图文详细教程
使用NPS内网穿透图文详细教程
4826 2