iproute nhiều bộ cân bằng tải ADSL thông qua VM


10

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?


Rất nhiều người đang phàn nàn về các vấn đề mạng. Bạn có thể nâng cấp kernel của mình lên 3.14 không? Dưới đây là một số hướng dẫn cài đặt: linuxg.net/ trên
Sacx

Nâng cấp lên 3.14 đã giết VM. Hạt nhân hoảng loạn. Có lẽ tôi đã không làm đúng, nhưng tôi đã làm theo những hướng dẫn đó. Trong khi đó, tôi đã hạ cấp xuống 12.04 (cài đặt lại VM) để tiếp tục sử dụng chức năng làm việc cũ, hỗ trợ cho đến năm 2017 có lẽ vẫn ổn.
Drew Anderson

Vì vậy, mọi người nhận thức được, tôi không còn cần giải pháp này nữa (công việc đã thay đổi) vì vậy tôi sẽ không biết liệu tôi có thể làm việc này trong 14.04 không.
vẽ Anderson

cả hai bộ định tuyến trong cùng một mạng L3? tốt nhất để có 1 mạng con trên mỗi NIC / tuyến.
dùng158798

Câu trả lời:


2

Tôi nhận ra rằng poster ban đầu không còn cần một giải pháp nữa, nhưng đây là cách tôi đưa ra giải pháp tốt nhất cho vấn đề này. Tôi cũng nhận ra rằng người đăng sẽ thích sử dụng Ubuntu hơn, nhưng việc định cấu hình các quy tắc định tuyến theo cách thủ công như thế không phải là tuyệt vời để chuyển quyền sở hữu cho người khác hoặc thậm chí tham khảo chính bạn nhiều năm sau đó.

Cá nhân tôi sẽ đề xuất một thiết lập mạnh mẽ hơn bằng cách sử dụng máy ảo PFSense để tải cân bằng các kết nối. Có lẽ tôi cũng khuyên bạn nên thực hiện NAT trên hộp PFSense chứ không phải trên modem. Tôi có một cái gì đó tương tự với cấu hình này trong VM và nó hoạt động tốt.

Đối với các kết nối giữa các modem và PFSense VM, tôi sử dụng một công tắc có khả năng vlan để kết nối 3 VLans riêng biệt với VM và phá vỡ chúng thành 3 cổng riêng biệt trên công tắc. Điều này có hiệu lực cung cấp một cáp trực tiếp (ảo) từ mỗi modem đến hộp pfsense và một cáp khác ra lan. Sau đó, bạn có thể định cấu hình các modem cho thông qua, thay đổi tùy theo nhà cung cấp.

Đúng là điều này vượt qua vấn đề thay vì giải quyết trực tiếp, nhưng việc đặt NAT vào các modem dường như đối với tôi giống như chỉ yêu cầu sự cố. Ngoài ra, PFSense được thiết kế đặc biệt như một giải pháp bộ định tuyến đóng gói sẵn, vì vậy nó hỗ trợ và sẽ tiếp tục được thử nghiệm với các cấu hình như thế này, đảm bảo độ tin cậy tốt hơn thông qua các bản nâng cấp.


câu trả lời này có thể tốt hơn khi bình luận, nhưng tôi không có tiếng tăm gì về điều đó.
stonecrusher
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.