由于ftp不止使用了1个端口,包括连接时候使用的控制端口和数据传输时候使用的数据端口. 并且ftp协议本身会发送ip地址和数据端口号(而不是用frp服务器的端口号),所以frp配置有些与众不同.
要点:

  • ftp服务器使用Passive被动模式, 并且配置被动模式端口范围
  • frp端口映射中, ftp控制端口数字可以和frp服务器映射端口不一致(如一个使用2121, 另一个使用3131), 但ftp数据端口必须和frp服务器映射端口数字一致(如使用3333就必须都是用3333).
  • 非必须: ftp服务器配置net转换地址. 这个似乎在filezilla客户端上不是必须的, filezilla会自动对NAT前的地址替换为服务器地址.

ftp服务器配置命令, 以pyftplib为例(如果需要服务器可写,再加上选项-w):

python -m pyftpdlib -r 3333-3334

frpc.ini配置:

[ftp_data1]
type =tcp
local_ip = 127.0.0.1
local_port = 3333
remote_port = 3333

[ftp_data2]
type =tcp
local_ip = 127.0.0.1
local_port = 3334
remote_port = 3334

[ftp_control]
type =tcp
local_ip = 127.0.0.1
local_port = 2121
remote_port = 3131

标签: none 阅读量: 2138

添加新评论