Pregunta Omitir el enrutamiento a través de la interfaz para los paquetes salientes


Introducción:

Tengo la siguiente configuración de equilibrio de carga: 10.0.1.31 - lb
10.0.1.32 - node1 (tomcat + mysql) 10.0.1.33 - node2 (tomcat + mysql)

Estoy usando keepalived que está redirigiendo paquetes a nodos activos - la dirección IP compartida es 10.0.1.35

por supuesto lb ha requerido config:

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

node1 y node2 para manejar correctamente los paquetes entrantes debe tener 10.0.1.35 en 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:

Debido al hecho de que tenemos 10.0.1.35 en el lo si el idioma local está tratando de conectarse a mysql vía lb - la conexión se establece a la instancia local.

Me gustaría skipp lo para paquetes salientes

Prueba

Desde node1 que ha deshabilitado el servicio mysql y 10.0.1.35 ip en la interfaz estoy intentando conectar con mysql en el node2

telnet 10.0.1.35 3306

desafortunadamente el resultado es

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

por supuesto, si elimino 10.0.1.35 IP de la interfaz, puedo conectarme a la instancia de mysql en node2

¿Solución?

Estaba intentando agregar rutas con las métricas adecuadas, pero no ayuda: /

    [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

1


origen




Respuestas: