frp实现p2p远程连接桌面,非服务器中转

本文介绍了如何利用frp工具实现P2P远程桌面连接,避免依赖服务器中转。重点强调了需要公网IP,并提供了服务器端和客户端A、B的配置示例,包括stcp和xtcp两种类型的代理设置,适用于大文件传输的场景。
摘要由CSDN通过智能技术生成

frp实现p2p远程连接桌面

此篇文章主要目的是解决无法使用微软的远程桌面,使用向日葵卡(没充钱)的要死要活的。重要的事情说3遍,得有个公网IP,公网IP,公网IP。这里推荐阿里云服务器购买地址「一年几十块钱」

什么是frp?

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且
web 服务支持根据域名进行路由转发。frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与
Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持
https,甚至可以用它进行小程序开发。

代理类型

类型描述
tcp单纯的 TCP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
udp单纯的 UDP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
http针对 HTTP 应用定制了一些额外的功能,例如修改 Host Header,增加鉴权。
https针对 HTTPS 应用定制了一些额外的功能。
stcp安全的 TCP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
sudp安全的 UDP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
xtcp点对点内网穿透代理,功能同 stcp,但是流量不需要经过服务器中转。
tcpmux支持服务端 TCP 端口的多路复用,通过同一个端口访问不同的内网服务。

使用工具

FRP下载地址,这里不详细介绍安装过程,只说如何启用。

因为点对点远程连接需要两个客户端都下载frp,如果是通过服务器中转的,只需要被远程方下载frp即可,这种受限于服务器网络。

服务器端配置(frp_0.37.1_linux_amd64)

frps.ini

[common]
bind_port = 7001      # 可自己定义设置
bind_udp_port = 7001      # 可自己定义设置,启动xtcp的关键,并不是能穿通所有网关

vhost_http_port = 8080      # http服务端口,开启后服务端完成通过域名访问部署于内网的 Web 服务部署,这里将 HTTP 访问端口设为 8080
vhost_https_port = 443      # https服务端口

token = 123456      # 自己设置
dashboard_port = 7500      # 自己设置

# dashboard 用户名密码,默认都为 admin
dashboard_user = admin
dashboard_pwd = admin

# 超时时间为秒,如果没有报错,可以不设置
heartbeat_timeout = 90

user_conn_timeout = 60

vhost_http_timeout = 90



客服端A【被远程的电脑】配置(frp_0.37.1_windows_amd64)

frpc.ini

[common]
server_addr = 公网IP
server_port = 7001
token = 123456      # 跟服务器的token一致

[rdp]      # mstsc直接输入公网的IP和端口就能远程       
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

[p2p_rdp]
type = stcp
sk = xxx123
local_ip = 127.0.0.1
local_port = 3389
use_encryption = false
use_compression = false

[p2p_rdp_xtcp]
type = xtcp
sk = xxx123
local_ip = 127.0.0.1
local_port = 3389
use_encryption = false
use_compression = false

客服端B【远程电脑】配置(frp_0.37.1_windows_amd64)

[common]
server_addr = 公网IP
server_port = 7001
token = 123456      # 跟服务器的token一致

[p2p_rdp_visitor]
role = visitor
type = stcp
server_name = p2p_rdp
sk = xxx123
bind_addr = 127.0.0.1
bind_port = 10000
use_encryption = false
use_compression = false

[p2p_rdp_visitor2]
role = visitor
type = xtcp
server_name = p2p_rdp_xtcp
sk = xxx123
bind_addr = 127.0.0.1
bind_port = 10001
use_encryption = false
use_compression = false

如果以上都没有问题,则可以通过mstsc远程程序,输入127.0.0.1:10001并输入账号和密码进行远程登录。这种不受限于服务器的网络限制,可以进行大文件传输。

服务器启动程序命令,cd到解压目录执行 nohup ./frps -c frps.ini >/dev/null 2>&1 &

window服务器可以建立start.bat,内容为
frpc.exe -c frpc.ini

frp是一种第三方远程桌面服务,类似于TeamViewer和Windows远程桌面。它可以让用户通过浏览器访问服务器的控制台端口来查看相关数据。frp可以在Windows和CentOS系统上进行设置和安装。 对于CentOS服务端的设置和开机自启动,您可以按照以下步骤进行操作: 1. 编辑systemd配置文件 `/usr/lib/systemd/system/frps.service`,并将以下内容复制到文件中并保存: ``` [Unit] Description=frps After=network.target [Service] TimeoutStartSec=30 ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target ``` 2. 执行以下命令重新加载服务文件: ``` systemctl daemon-reload ``` 3. 将frps服务加入开机自启动: ``` systemctl enable frps ``` 4. 启动服务: ``` systemctl start frps ``` 对于Windows客户端/服务端的设置和开机自启动,您可以按照以下步骤进行操作: 1. 在frp目录下创建一个名为`start.bat`的文件,并将以下内容复制到文件中。请根据您的实际情况替换最后的路径。 ``` @echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin D:\frp\frpc.exe -c D:\frp\frpc.ini ``` 2. 将`start.bat`添加到开机服务。右键点击“此电脑”->“管理”->“任务计划程序”->“创建任务”,然后按照提示操作并确定。 以上是frp的远程桌面连接的设置步骤,您可以根据需要进行相应的配置。希望能对您有所帮助!
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值