Shawn,
Como discutido na lista de discussão HAProxy, eu tenho certeza que você precisa ativar o conntrack, assim como o ip_vs_ftp, então ele deve funcionar bem.
No Ubuntu 14, estou tentando configurar um balanceador de carga que usa o haproxy para conexões da web e o LVS-NAT para FTP, controlado pelo ldirectord, com o marcapasso para failover automático para um host redundante. A interface em1 tem um endereço IP público e a interface em2 tem um endereço IP privado para falar com os servidores de backend.
O FTP passivo através do balanceador de carga do kernel não funciona, mas o FTP ativo o faz. Ao usar um cliente FTP passivo, a conexão de dados não será estabelecida, portanto, as listagens de diretório e as transferências de arquivos não funcionam. O canal de controle FTP na porta 21 funciona. Existem dois servidores FTP para alta disponibilidade.
Eu tenho o módulo ip_vs_ftp carregado. O firewall ufw é totalmente desativado, porque existe um firewall da Cisco na frente de todo o hardware. Eu realmente preferiria não ter o firewall ativado ... mas eu notei que todo HOWTO por aí para fazer o FTP funcionar através do LVS também menciona como configurar o firewall.
Esta é a configuração do ldirectord:
checktimeout=5
checkinterval=10
negotiatetimeout=20
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=novirtual=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
Estou migrando uma configuração de trabalho do CentOS 5, que é antigo . Isso tudo funciona perfeitamente nessa máquina do CentOS 5. O firewall está desativado nessa máquina.
Como posso fazer isso funcionar como no kernel muito mais antigo?
Shawn,
Como discutido na lista de discussão HAProxy, eu tenho certeza que você precisa ativar o conntrack, assim como o ip_vs_ftp, então ele deve funcionar bem.