经过几天测试摸索,终于实现从外网访问到nas的ftp服务。
硬件条件如下:
路由器:华硕AC86U 安装了frp插件客户端
VPS:配置了frp服务器端,版本号同客户端。
客户端:mac上的transmit
搭建frp穿透服务的教程就略过了。这里分享想当前成功的配置内容。
vps的frp服务器端配置文件frps.ini内容为:
[common]
bind_addr = 0.0.0.0
bind_port = 5445
vhost_http_port = 4455
vhost_https_port = 4456
dashboard_addr = 0.0.0.0
dashboard_port = 6443
dashboard_user = 用户名
dashboard_pwd = 密码
log_file = ./frps.log
log_level = info
log_max_days = 3
token = 密码
max_pool_count = 50
max_ports_per_client = 0
tcp_mux = true
上面的http和https的端口号,用户名和密码等需要根据当时你安装frp时候的来填写。
然后在华硕路由器frp客户端的配置文件内容如下:
[common]
server_addr = 155.138.231.205
server_port = 5445
token = Qnap38764089
log_file = /tmp/frpc.log
log_level = info
log_max_days = 3
[ftp2121]
type = tcp
local_ip = 192.168.31.168 #定位到内网主机;网上很多教程是定位到127.0.0.1,情况不同。
local_port = 2121 #nas服务器的端口也需要修改成2121
remote_port = 4458 #新端口,避免和http的4455端口冲突
[ftp1]
type = tcp
local_ip = 192.168.31.168
local_port = 25000
remote_port = 25000
[ftp2]
type = tcp
local_ip = 192.168.31.168
local_port = 25001
remote_port = 25001
[ftp3]
type = tcp
local_ip = 192.168.31.168
local_port = 25002
remote_port = 25002
上面的配置内容增加了#说明,但在复制到frp客户端配置内容后,后要删除掉#和后面的中文,因为frp不能正确识别注释#。
配置客户端成功后,登录frp后台可以看到tcp下面多了几个连接。
通过查看surge,访问的端口号和设置的一样。
nas上的ftp服务器设置:
注意需要设置成被动模式;端口修改成自定义的2121端口;被动模式下的端口号范围,需和frpc客户端配置文件的端口范围一致;这个例子是25000-25002端口。
ftp客户端登录信息:
路由器frp客户端插件配置文件增加的ftp服务器的部分:
注意因为是访问到内网nas主机,所以ip地址需要填写到nas主机的内网地址。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。