内网穿透:frp
frp (opens new window) 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux
frp 主要由 客户端(frpc) 和服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问;用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
根据系统下载 (opens new window)程序并解压:frps 是服务端,frpc 是客户端
# 服务器
wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz
tar -zxvf frp_0.48.0_linux_amd64.tar.gz -C /app/service
mv /app/service/frp_0.48.0_linux_amd64 /app/service/frp
/app/service/frp/frps -c /app/service/frp/frps.ini
1
2
3
4
2
3
4
# 配置
修改 frps.ini (opens new window)
[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
vhost_http_port = 8080
vhost_https_port = 10443
dashboard_addr = 0.0.0.0
dashboard_port = 7002
dashboard_user = admin
dashboard_pwd = admin
#dashboard_tls_mode = true
#dashboard_tls_cert_file = server.crt
#dashboard_tls_key_file = server.key
#enable_prometheus = true
log_file = /app/logs/frps.log
log_level = info
log_max_days = 3
authentication_method = token
#authenticate_heartbeats = false
#authenticate_new_work_conns = true
token = xxxxxxxxxx
#allow_ports = 2000-3000,3306,4000-50000
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
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
# 服务
使用 systemd 创建系统服务
vi /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动 frps 的命令,需修改为您的 frps 的安装路径
ExecStart = /app/service/frp/frps -c /app/service/frp/frps.ini
[Install]
WantedBy = multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
使用 systemd 命令,管理 frps
#启动 frps
systemctl start frps
#停止 frps
systemctl stop frps
#重启 frps
systemctl restart frps
#查看 frps 状态
systemctl status frps
#配置 frps 开机自启
systemctl enable frps
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 客户端
wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz
tar -zxvf frp_0.48.0_linux_amd64.tar.gz -C /app/service
mv /app/service/frp_0.48.0_linux_amd64 /app/service/frp
/app/service/frp/frpc -c /app/service/frp/frpc.ini
1
2
3
4
2
3
4
这里以 Windows 远程桌面、威联通 NAS 为例:
# 配置
修改 frpc.ini (opens new window)
[common]
server_addr = VPS IP
server_port = 7000
authentication_method = token
authenticate_new_work_conns = true
token = xxxxxxxxxx
log_file = /app/logs/frpc.log
log_level = info
log_max_days = 3
#tls_enable = true
#tls_cert_file = server.crt
#tls_key_file = server.key
[Router]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains =
[QNAP]
type = https
local_ip = 局域网 IP
local_port = 443
custom_domains =
[Jellyfin]
type = http
local_ip = 局域网 IP
local_port = 8096
remote_port = 7002
custom_domains =
[SSH]
type = tcp
local_ip = 局域网 IP
local_port = 8096
remote_port = 1022
custom_domains =
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
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
# 服务
使用 systemd 创建系统服务
vi /etc/systemd/system/frpc.service
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动 frpc 的命令,需修改为您的 frpc 的安装路径
ExecStart = /app/service/frp/frpc -c /app/service/frp/frpc.ini
[Install]
WantedBy = multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
使用 systemd 命令,管理 frpc
#启动 frpc
systemctl start frpc
#停止 frpc
systemctl stop frpc
#重启 frpc
systemctl restart frpc
#查看 frpc 状态
systemctl status frpc
#配置 frpc 开机自启
systemctl enable frpc
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 远程访问
在外网访问网内资源:
- 远程桌面:
Win+R
打开运行,输入“mstsc”打开微软的远程桌面客户端,然后使用 IP:7001 即可连接 - 威联通:打开浏览器,在地址栏输入 IP:7002 即可访问 QNAP 的管理界面
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35