搭建frp内网穿透服务器

说明:

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。
使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

前提:

需要一台具有公网ip的电脑/手机来部署frp服务器(其他客户端不需要公网ip)

下载frp:

官方文档:https://gofrp.org/zh-cn/docs/

下载对应系统架构的frp:https://github.com/fatedier/frp/releases
其中包含服务器和客户端的执行文件”frps/frpc”和配置文件”frps.ini/frpc.ini”
(服务器和客户端最好统一版本)

服务器:

1.修改配置frps.ini(示例)

1
2
3
4
5
6
7
8
[common]
bind_port = 7000 # Frp 服务器监听的主要端口
dashboard_port = 7200 # Frp 服务器的 Web 控制面板端口
vhost_http_port = 7110 # 虚拟主机 HTTP 代理端口
token = 123456 # Frp 服务器身份验证令牌
allow_ports = 7000-8000,47000-49000,5353 # 允许的端口范围
dashboard_user = admin # 控制面板用户名
dashboard_pwd = admin # 控制面板密码

2.启动服务器

1
2
3
./frps -c ./frps.ini
或者
./frps -c ./frps.toml

客户端:

1.修改配置frpc.ini(示例)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[common]
server_addr = x.x.x.x # Frp 服务器的 IP 地址
server_port = 7000 # Frp 服务器的端口
token = 123456 # Frp 服务器的身份验证令牌

# RDP,即Remote Desktop 远程桌面,Windows的RDP默认端口是3389
[rdp]
type = tcp
local_ip = 127.0.0.1 # 本地 IP 地址
local_port = 3389 # 本地端口
remote_port = 7001 # 远程端口

#SMB,即Windows文件共享所使用的协议,默认端口号445
[smb]
type = tcp
local_ip = 0.0.0.0
local_port = 445
remote_port = 7002

#远程通过指定www.inktea.eu.org访问本地7110端口的web
[web]
type = http
local_port = 7110
custom_domains = www.inktea.eu.org

#远程p2p访问本电脑
[company_p2p]
type = xtcp
sk = company
local_ip = 127.0.0.1
local_port = 3389
use_encryption = false # 不使用加密
use_compression = false # 不使用压缩

#本电脑p2p访问远程电脑
#输入127.0.0.1:7103 p2p连接sk = home的远程客户端
[company_p2p_rdp_visitor]
role = visitor
type = xtcp
server_name = home_p2p
sk = home
bind_addr = 127.0.0.1
bind_port = 7003
use_encryption = false
use_compression = false

#远程Moonlight端口开放
[range:Moonlight-tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 47984,47989,48010
remote_port = 47984,47989,48010
[range:Moonlight-udp]
type = udp
local_ip = 127.0.0.1
local_port = 47998,47999,48000,48002,48010,5353
remote_port = 47998,47999,48000,48002,48010,5353

2.启动客户端

1
2
3
./frpc -c ./frpc.ini
或者
./frpc -c ./frpc.toml

设置开机自启:

linux参考:https://gofrp.org/zh-cn/docs/setup/systemd/
windows可以使用:任务计划程序

安卓部署frp:

1.安装Termux

https://f-droid.org/zh_Hans/packages/com.termux/
使用Termux下载和启动frp

2.使用Termux下载和启动frp

https://github.com/fatedier/frp/releases
下载linux_arm64架构,版本号需要跟随服务器(配置同客服端,但是p2p建立隧道失败)

注意:

1.需要打开服务器防火墙开放端口(如果是云服务器,还需要添加开放指定端口策略)
2.windows客户端p2p如果报内部错误,需要在远程桌面连接窗口=》高级=》设置=》选择不使用RD网关服务器

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!