我希望有人能给我指出正确的方向。
在公共IP上运行proftpd (支持tls )。
FTP客户端连接,但不能做目录清单。当我将iptables上的“输入”策略更改为ACCEPT时,它确实有效。
以下是我的相关iptables规则:
$IPTABLES -A INPUT -i eno1 -s 0/0 -d x.x.x.x -p tcp --sport 1024:65535 -m multiport --dports 20,21,989,990 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d x.x.x.x --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT我启用了connection_tracking模块。
server ~ # lsmod | grep nf_conntra
nf_conntrack_ftp 24576 3
nf_conntrack 176128 8 xt_conntrack,nf_nat,xt_state,xt_nat,xt_helper,nf_conntrack_ftp,xt_CT,xt_MASQUERADE
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 2 nf_conntrack,nf_nat我还在nf_conntrack_helper中启用了/proc
server ~ # cat /proc/sys/net/netfilter/nf_conntrack_helper
1发布于 2021-09-27 10:55:34
proftpd (在tls支持下)
TLS的支持可能是罪魁祸首。
通常,在智能防火墙中,当您允许FTP时,您需要打开控制连接的端口TCP 21,然后,在明文FTP协议中,连接跟踪模块可以扫描和检测PORT响应。然后,FTP连接辅助模块将自动打开FTP服务器分配给该特定客户端的端口号,从而允许退出粒度访问控制。
当连接被TLS加密时,防火墙无法检测端口响应,因此不会自动打开指定的端口。解决办法是:
PassivePorts min-pasv-port max-pasv-port的被动连接的端口范围https://serverfault.com/questions/1078750
复制相似问题