frp面向端口的内网穿透-NAS示例

通过github开源项目实现端到端的服务。

实例:配置家庭NAS实现外网访问文件共享服务。

原理:通过域名解析具有公网IP的服务器,而服务器一直保持与内网机直连,当需要访问内网机时,通过域名解析到公网IP,再将端口解析映射到内部网络,实现网络流量的桥接。

1.服务端配置 frps.ini

1
2
3
4
5
6
7
8
9
10
11
[common]
# 控制端口
bind_port = 7000
# http服务映射端口
vhost_http_port = 8080
# 控制面板端口
dashboard_port = 7500
# dashboard's username and password are both optional
dashboard_user = admin
dashboard_pwd = admin

启动服务端命令: nohup ./frps -c frps.ini >output.txt 2>&1 &

2.客户端配置 frpc.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[common]
# 服务器IP
server_addr = xxxxxxxxxxx
# 服务器控制端口
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# SSH控制端口
remote_port = 6000

[web]
type = http
# 本地http端口
local_port = 5000
# 映射域名
custom_domains = nas.takake.com

启动客户端命令: nohup ./frpc -c frpc.ini >output.txt 2>&1 &

image-20230721014149164

3.配置DNS解析

将nas.takake.com解析到公网ip

image-20230721014338847

4.http访问测试

通过 域名加vhost_http_port 访问:http://nas.takake.com:8080/

image-20230721014628033

5.ssh访问测试

通过 ssh -oPort=6000 gaomu@[server ip] 连接内网ssh, 成功连接

image-20230721014951884