Pule o roteamento via interface lo para pacotes de saída

1

Introdução:

Tenho a seguinte configuração de balanceamento de carga: 10.0.1.31 - lb
10.0.1.32 - node1 (tomcat + mysql) 10.0.1.33 - node2 (tomcat + mysql)

Estou usando keepalived, que está redirecionando pacotes para nós ativos - o endereço IP compartilhado é 10.0.1.35

é claro que lb precisou de configuração:

echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf

node1 e node2 para manipular corretamente pacotes de entrada precisam ter 10.0.1.35 no lo

[root@lb-node1 ~]# ip addr list dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
   inet 10.0.1.35/32 scope global lo
   inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever

Problema:

Devido ao fato de que temos 10.0.1.35 no lo se o tomcat locale estiver tentando se conectar ao mysql via lb - a conexão é estabelecida para a instância local.

Eu gostaria de ignorar lo para pacotes de saída

Teste

Do node1 que desabilitou o serviço mysql e 10.0.1.35 ip na interface lo estou tentando acessar o mysql no node2

telnet 10.0.1.35 3306

infelizmente o resultado é

   [root@lb-node1 ~]# telnet 10.0.1.35 3306
   Trying 10.0.1.35...
   telnet: connect to address 10.0.1.35: Connection refused 

é claro que se eu remover 10.0.1.35 da interface lo sou capaz de conectar a instância do mysql no node2

Solução?

Eu estava tentando adicionar rotas com métricas apropriadas, mas isso não ajuda: /

    [root@lb-node1 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    10.0.1.0        0.0.0.0         255.255.255.255 UH    0      0        0 eth0
    10.0.1.0        0.0.0.0         255.255.255.255 UH    100    0        0 lo
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 eth0
    
por hicolour 29.04.2014 / 09:57

0 respostas