LVS-NAT 不适用于被动 FTP。主动 FTP 可以

LVS-NAT 不适用于被动 FTP。主动 FTP 可以

在 Ubuntu 14 上,我尝试设置一个负载平衡器,该负载平衡器使用 haproxy 进行 Web 连接,使用 LVS-NAT 进行 FTP,由 ldirectord 控制,使用 pacemaker 自动故障转移到冗余主机。em1 接口具有公共 IP 地址,em2 接口具有私有 IP 地址,用于与后端服务器通信。

通过内核负载平衡器的被动 FTP 不起作用,但主动 FTP 起作用。使用被动 FTP 客户端时,数据连接不会建立,因此目录列表和文件传输不起作用。端口 21 上的 FTP 控制通道起作用。有两个 FTP 服务器以实现高可用性。

我已加载 ip_vs_ftp 模块。ufw 防火墙已完全禁用,因为所有硬件前面都有 Cisco 防火墙。我真的希望不启用防火墙……但我确实注意到,每个让 FTP 通过 LVS 工作的 HOWTO 也提到了如何设置防火墙。

这是 ldirectord 配置:

检查超时 = 5
检查间隔 = 10
协商超时 = 20
自动重新加载 = 是
日志文件 =“/var/log/ldirectord.log”
静止 = 否

虚拟=XX.XXX.XXX.71:21

 fallback=127.0.0.1:21  
 real=10.100.2.61:21 masq 65535  
 real=10.100.2.60:21 masq 1  
 service=ftp  
 request="monitortest.txt"  
 receive="good"  
 login="USER"  
 passwd="PASSWD"  
 scheduler=wrr  
 protocol=tcp  
 checktype=negotiate  

我正在从 CentOS 5 迁移一个工作设置,它是古老的。这一切在那台 CentOS 5 机器上完美运行。该机器上的防火墙已禁用。

我怎样才能让它像在更旧的内核中那样工作?

答案1

肖恩,

正如在 HAProxy 邮件列表中所讨论的,我很确定您需要启用 conntrack 以及 ip_vs_ftp,然后它就可以正常工作。

相关内容