Per molto tempo (2 anni?) Ho eseguito una macchina virtuale (server Ubuntu 12.04) con una funzionalità di bilanciamento del carico in uscita molto semplice, inviando diverse connessioni in uscita da router ADSL diversi.
Configurato semplicemente utilizzando iproute senza mascheramento NAT, NAT è gestito dagli stessi router ADSL in uscita che consentono alle connessioni di instradare direttamente al mittente ignorando la VM del router di bilanciamento del carico. Non esistono inoltre regole firewall (iptables) sulla VM del router.
echo 1 > /proc/sys/net/ipv4/ip_forward
# flush initially
ip route flush cache
# remove whatever is there for the default to begin with
ip route delete default
# default load balancing rule
ip route add default scope global \
nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
nexthop via ${ROUTER1} dev ${INTERFACE} weight 4
Questo ha funzionato bene per molto tempo.
Recentemente ho aggiornato (do-release-upgrade -d) il bilanciamento del carico (macchina virtuale del server Ubuntu 12.04) a Ubuntu 14.04.
Poiché le connessioni Internet di aggiornamento che utilizzano il comando "ip route add default" sopra riportato causano sporadici problemi di connessione e creano un'esperienza inutilizzabile. Quasi come se i singoli pacchetti venissero inviati su entrambi i router e non su connessioni complete.
Questo è stato tentato con una seconda macchina virtuale 14.04 con lo stesso effetto.
Mi piacerebbe avere le stesse funzionalità su Ubuntu 14.04 (kernel corrente: 3.13.0-24). Non capisco cosa sia cambiato.
Eventuali suggerimenti?