Trong một thời gian dài (2 năm?) Tôi đã chạy một máy ảo (máy chủ Ubuntu 12.04) với khả năng cân bằng tải ngoài rất cơ bản, gửi các kết nối ra khác nhau ra các bộ định tuyến ADSL khác nhau.
Được cấu hình đơn giản bằng cách sử dụng iproute không có NAT giả trang, NAT được quản lý bởi các bộ định tuyến ADSL bên ngoài cho phép các kết nối định tuyến trực tiếp trở lại để người gửi bỏ qua VM bộ định tuyến cân bằng tải. Cũng không có quy tắc tường lửa (iptables) trên bộ định tuyến VM.
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
Điều này đã làm việc tốt trong một thời gian dài.
Gần đây tôi đã nâng cấp (do-phát hành-nâng cấp -d) bộ cân bằng tải (máy ảo máy chủ Ubuntu 12.04) lên Ubuntu 14.04.
Do việc nâng cấp các kết nối internet bằng cách sử dụng lệnh "ip route add default" ở trên sẽ gây ra các sự cố kết nối lẻ tẻ và tạo ra trải nghiệm không thể sử dụng được. Gần như là các gói riêng lẻ đang được gửi qua cả hai bộ định tuyến và không kết nối đầy đủ.
Điều này đã được thử với một máy ảo 14.04 thứ hai có cùng hiệu ứng.
Tôi rất thích có chức năng tương tự trên Ubuntu 14.04 (kernel hiện tại: 3.13.0-24). Tôi không hiểu những gì đã thay đổi.
Bất kỳ đề xuất?