102 0 0 0
从公网中访问自己的私有设备向来是一件难事儿。 自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等),一般来说要通过一些转发或者P2P组网软件的帮助。 试了一下几种方法:
简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。我们今天仅讨论TCP和UDP相关的内容。
下载解压后主要使用以下文件
frps开头表示服务端,frpc开头表示客户端
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 10080
vhost_https_port = 10443
./frps -c frps.ini
看到下面日志表示启动成功
2022/04/02 04:57:39 [I] [root.go:200] frps uses config file: frps.ini
2022/04/02 04:57:39 [I] [service.go:192] frps tcp listen on 0.0.0.0:9503
2022/04/02 04:57:39 [I] [service.go:294] Dashboard listen on 0.0.0.0:9501
2022/04/02 04:57:39 [I] [root.go:209] frps started successfully
后台启动 nohup ./frps -c frps.ini &
访问服务器ip:7500就可以看到仪表板界面
修改frpc.ini文件
[common]
server_addr = 服务器ip
server_port = 9503
token = 12345678
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 220
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 33060
[redis]
type = tcp
local_ip = 127.0.0.1
local_port = 6379
remote_port = 6380
其中common字段下的三项即为服务端的设置。
ssh、mysql、redis字段都是自己定义的规则,自定义端口对应时格式如下
./frpc -c frpc.ini
看到下面日志表示启动成功
2022/04/02 16:34:22 [I] [control.go:180] [cf8f3fc9e3febed9] [mysql-1] start proxy success
2022/04/02 16:34:22 [I] [control.go:180] [cf8f3fc9e3febed9] [ssh] start proxy success
2022/04/02 16:34:22 [I] [control.go:180] [cf8f3fc9e3febed9] [mysql] start proxy success
2022/04/02 16:50:18 [I] [service.go:304] [9deda624de5b908f] login to server success, get run id [9deda624de5b908f], server udp port [0]
2022/04/02 16:50:18 [I] [proxy_manager.go:144] [9deda624de5b908f] proxy added: [ssh mysql mysql-1 redis redis-1]
2022/04/02 16:50:18 [I] [control.go:180] [9deda624de5b908f] [redis] start proxy success
2022/04/02 16:50:18 [I] [control.go:180] [9deda624de5b908f] [ssh] start proxy success
2022/04/02 16:50:18 [I] [control.go:180] [9deda624de5b908f] [mysql-1] start proxy success
2022/04/02 16:50:18 [I] [control.go:180] [9deda624de5b908f] [redis-1] start proxy success
2022/04/02 16:50:18 [I] [control.go:180] [9deda624de5b908f] [mysql] start proxy success
后台启动 nohup ./frpc -c frpc.ini &