Verifique a configuração do firewall:
/sbin/iptables -L --line -n -v
É provável que você precise permitir o tráfego para esse VIP. Por exemplo:
/sbin/iptables -I INPUT <line#> -d 10.150.200.47 -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT <line#> -d 10.150.200.47 -p tcp -m tcp --dport 443 -j ACCEPT
Além disso, verifique se os servidores reais estão aceitando conexões, por exemplo:
$ sudo ipvsadm -L -n -t 10.150.200.47:80
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.150.200.47:80 wrr
-> 192.168.100.11:80 Route 1 56 145
-> 192.168.100.12:80 Route 1 49 159
Editar: Adicionando coisas para verificar no (s) servidor (es) real (is):
Supondo que você esteja usando o roteamento direto, o IP virtual precisará ser configurado na interface de loopback do (s) servidor (es) real (is). Quando a conexão é encaminhada do balanceador de carga para o servidor secundário, ela retornará na eth0 normalmente. Como seria essa configuração:
ifconfig lo:0 10.150.200.47 netmask 255.255.255.255
Ou como um script de rede:
$ cat /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.150.200.47
NETMASK=255.255.255.255
ONBOOT=yes
Além disso, você precisará fazer alterações nos parâmetros do kernel via sysctl:
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
Além disso, você precisará alterar a forma como o ARP é anunciado e responde às solicitações ( mais informações ):
net.ipv4.conf.eth0.arp_ignore = 1 net.ipv4.conf.eth0.arp_announce = 2 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2
Além disso, configure a filtragem de rp:
net.ipv4.conf.eth0.rp_filter = 1 # Works for CentOS 5 or net.ipv4.conf.eth0.rp_filter = 2 # Works for CentOS 6+
A configuração padrão do rp_filter pode variar entre as versões do kernel, por isso certifique-se de escolher a configuração correta. Mais informações .