-1
我想配置我的防火墙后面的pureftpd作为一个被动的ftp/TLS服务器。 代理机:PureFtpd被动端口范围不提供监听地址给客户端
- 服务器:192.168.3.220(内网,默认路由到192.168.3.1路由器) 配置:pureftpd与PassivePorts 64000 64300,MasqueradeAddress ww.xx.yy.zz(这个人是配置在路由器上)
- 路由器:内部:192.168.3.1,DNAT规则(PREROUTING链)ww.xx.yy.zz tcp/21,64000:64300 NAT到地址192.168.3.220,FORWARD链接受这些数据包双向。
- 客户端1:有固定的公网IP外部服务器
- 客户机2:转换后的机器的地方 - 192.168.5.x网络
Scenario1上:
- Client1: connect OK, login OK, command 'ls':
gets OK, after PASV:
---> PASV
GNUTLS: REC[0x28ecce0]: Sending Packet[9] Application Data(23) with length: 6
GNUTLS: REC[0x28ecce0]: Sent Packet[10] Application Data(23) with length: 37
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: REC[0x28ecce0]: Expected Packet[9] Application Data(23) with length: 65536
GNUTLS: REC[0x28ecce0]: Received Packet[9] Application Data(23) with length: 64
GNUTLS: REC[0x28ecce0]: Decrypted Packet[9] Application Data(23) with length: 31
<--- 200 Protection set to Private
---> LIST
---> ABOR
有趣的事情:227服务器,我从pureftpd的偏执日志中看到,我没有在客户端看到 - 只有200 Protection设置为Private ...等待cca 30秒并使用ACTIVE(!!)模式重新连接 - > ls
Scenario2:
- using Client2 (sorry for czech locales):
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:00
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PASV
<--- 200 Protection set to Private
---> LIST
---> ABOR
---- Přerušený datový socket bude uzavřen (means closing data socket)
---- Řídicí socket bude uzavřen (means closing control socket)
---- Pasivní režim bude vypnut (means Passive will be turned off)
---- dns cache hit
---- Navazuje se spojení na ftp1.xxxxxxxxx.cz (ww.xx.yy.zz) port 21
<--- 220 ww.xx.yy.zz FTP server ready
...的NAT机器上
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:22
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PORT 192,168,5,xx,185,136
<--- 200 Protection set to Private
---> LIST
<--- 500 Illegal PORT command
---- Closing data socket
---> QUIT
ls: Nepřekonatelná chyba: 500 Illegal PORT command
<--- 425 Unable to build data connection: Connection refused
的iptables不增加端口64000我的会计柜台:64300,所以我希望有再没被动连接在所有。
可能还有一条评论:路由器的WAN接口上有更多的IP地址。在情景1中,当活动连接起作用时,它不是来自ww.xx.yy.zz:20,而是aa.bb.cc.dd:45678(伪装成一个)。这可以通过防火墙上的SNAT规则修复,SNATting从192.168.3.220到ww.xx.yy.zz的数据包,但不应影响被动连接。对?谢谢你的提示。 – tloudev