Od dłuższego czasu (2 lata?) Korzystam z maszyny wirtualnej (serwer Ubuntu 12.04) z bardzo podstawową funkcją równoważenia obciążenia wychodzącego, wysyłając różne połączenia wychodzące z różnych routerów ADSL.
Skonfigurowany po prostu za pomocą iproute bez maskowania NAT, NAT jest zarządzany przez same wychodzące routery ADSL, pozwalając połączeniom kierować bezpośrednio z powrotem do nadawcy, omijając maszynę VM do równoważenia obciążenia. Nie ma także reguł zapory (iptables) na maszynie wirtualnej routera.
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
To działało dobrze od dłuższego czasu.
Niedawno zaktualizowałem (do-release-upgrade -d) moduł równoważenia obciążenia (maszyna wirtualna serwera Ubuntu 12.04) do Ubuntu 14.04.
Ponieważ uaktualnienia połączeń internetowych za pomocą powyższej komendy „ip route add default” powodują sporadyczne problemy z połączeniem i powodują niemożność korzystania. Prawie tak, jakby pojedyncze pakiety były wysyłane przez oba routery, a nie pełne połączenia.
Próbowano to zrobić z drugą maszyną wirtualną 14.04 z tym samym efektem.
Chciałbym mieć tę samą funkcjonalność na Ubuntu 14.04 (bieżące jądro: 3.13.0-24). Nie rozumiem, co się zmieniło.
Jakieś sugestie?