Equilibrio de carga entre múltiples interfaces de networking virtual

Tengo una instancia de AWS con múltiples interfaces de networking virtual que tienen diferentes direcciones IP elásticas. Como me arrastro desde esta máquina, las direcciones IP a menudo se bloquean. La distribución del tráfico saliente a través de todas estas interfaces lo evitará, ya que todos están asignados a direcciones IP elásticas diferentes.

eth0 Link encap:Ethernet HWaddr 0A:E6:A3:DD:F1:E0 inet addr:10.0.0.120 Bcast:10.0.0.127 Mask:255.255.255.128 inet6 addr: fe80::8e6:a3ff:fedd:f1e0/64 Scope:Link eth0:0 Link encap:Ethernet HWaddr 0A:E6:A3:DD:F1:E0 inet addr:10.0.0.122 Bcast:10.0.0.127 Mask:255.255.255.128 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth0:1 Link encap:Ethernet HWaddr 0A:E6:A3:DD:F1:E0 inet addr:10.0.0.18 Bcast:10.0.0.127 Mask:255.255.255.128 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

Quiero enviar mi tráfico saliente desde todas las interfaces de networking en forma de round robin. Como estas son interfaces virtuales, no puedo lograr esto usando el package iproute2 . ¿Puede alguien decirme cómo puedo lograr esto?

Puede usar la suite iproute2 para esto. El hecho de que las direcciones IP de origen estén asignadas a alias de interfaz no tiene ningún impacto en el problema.

Supongamos que su puerta de enlace pnetworkingeterminada es 10.0.0.1

 ip route del default ip route add default via 10.0.0.1 dev eth0 src 10.0.0.122 

Eso es. Simplemente reemplace la ruta pnetworkingeterminada con la segunda línea, reemplazando 10.0.0.122 con la dirección IP de origen de la que desea desviar el tráfico.


Si desea usar todas sus direcciones IP al mismo time, simplemente asigne cada una de las subnetworkinges determinadas en su lugar:

 ip route add 64.0.0.0/2 via 10.0.0.1 dev eth0 src 10.0.0.122 ip route add 128.0.0.0/2 via 10.0.0.1 dev eth0 src 10.0.0.18 

Esto hará que cualquier tráfico saliente a 64.0.0.0 - 127.255.255.255 use 10.0.0.122 , y 128.0.0.0 - 191.255.255.255 use 10.0.0.18 . El rest del tráfico usará el valor pnetworkingeterminado de 10.0.0.120


El hecho de que las direcciones IP estén asignadas a alias de interfaz (eth0: 0) no tiene ningún impacto. IProute2 (o realmente el kernel) no le importa.
Y sí, probé esto en mi networking doméstica, funciona bien.