之前通过 Frp,实现内网穿透,可惜网速受公网服务器限制,难免卡顿,升级 P2P 连接,能很大程度上缓解网速限制
之前的博客介绍了通过 Frp 来实现内网穿透,总体使用下来体验还是不错的,可是由于服务器上搭建的服务还挺多,难免占用带宽,加之服务器带宽仅有 8M,远程稍微传输点文件,这小水管瞬间显得捉襟见肘,一番搜索发现可以通过Frp搭建 P2P 点对点穿透,仅占用少量服务器带宽(占用的带宽可忽略不计),简直是传输大文件利器,下面介绍下操作过程。
前期准备
P2P 穿透所使用的协议为 xtcp,搭建最少需要一台公网服务器作为服务端,两台客户端进行 P2P 连接。
公网服务器配置
服务端frps
修改frps.ini
配置,新增一个 UDP 端口 7001
1
2
3
4
5
6
7
8
9
10
11
12
|
[common]
bind_port = 7000
bind_udp_port = 7001
vhost_http_port = 8888
vhost_https_port = 8889
max_pool_count = 20
allow_ports = 2000-3000 #端口白名单
dashboard_port = 8008 #frp管理后台端口
dashboard_user = admin #管理后台用户名
dashboard_pwd = admin #管理后台密码
token = 12341234 #客户端也要配置一样的token
authentication_timeout = 90000 #超时时间
|
内网服务器配置
修改客户端配置,frpc.ini
文件新增一个[Mstsc]
选项。
1
2
3
4
5
6
7
8
9
10
11
|
[common]
server_addr = 150.150.150.150 #远程VPS服务器地址
server_port = 7000
token = 12341234 #与服务端一致
tls_enable = true #是否开启TLS认证
[Mstsc]
type = xtcp # 设置协议xtcp
sk = abcdefg # 设置密钥
local_ip = 127.0.0.1 # 设置需要穿透的IP
local_port = 3389 # 设置需要穿透的端口
|
本地服务器配置
在需要访问穿透主机的主机上开启一个frpc
客户端,将配置文件写入frpc.ini
。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 连接服务器配置
[common]
server_addr = 150.150.150.150 #远程VPS服务器地址
server_port = 7000
token = 12341234 #与服务端一致
tls_enable = true #是否开启TLS认证
[Mstsc_visitor] # 设置需要访问穿透的命名,可随意命名
type = xtcp # 设置协议xtcp
role = visitor # 设置角色为visitor
server_name = Mstsc # 设置被穿透主机的frpc穿透名称
sk = abcdefg # 设置密钥
bind_addr = 127.0.0.1 # 将穿透的IP地址绑定为本地地址
bind_port = 3390 # 将穿透的端口绑定为本地端口
|
服务全部启动之后,在本地服务器输入 localhost:3390 就能点对点访问到内网服务器的 3389 端口了