iproute wielu moduł równoważenia obciążenia ADSL za pośrednictwem VM

10

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?

Drew Anderson
źródło
Wiele osób narzeka na problemy z siecią. Czy możesz zaktualizować jądro do wersji 3.14? Oto kilka instrukcji instalacji: linuxg.net/…
Sacx
Aktualizacja do wersji 3.14 zabiła maszynę wirtualną. Panika z jądra. Może nie zrobiłem tego dobrze, ale postępowałem zgodnie z tymi instrukcjami. Tymczasem obniżyłem wersję do 12.04 (ponownie zainstalowaną maszynę wirtualną), aby nadal korzystać ze starej działającej funkcjonalności, obsługa do 2017 r. Jest prawdopodobnie OK.
Drew Anderson
Więc ludzie są świadomi, że nie potrzebuję już tego rozwiązania (zmiany pracy), więc nie będę wiedział, czy uda mi się to uruchomić w 14.04.
Drew Anderson
czy oba routery są w tej samej sieci L3? najlepiej mieć 1 podsieć na kartę sieciową / trasę.
user158798

Odpowiedzi:

2

Zdaję sobie sprawę, że oryginalny plakat nie potrzebuje już rozwiązania, ale oto moje zdanie na temat najlepszego rozwiązania tego problemu. Zdaję sobie również sprawę, że plakat wolałby korzystać z Ubuntu, ale ręczne konfigurowanie reguł routingu nie jest świetne do przenoszenia własności na inne osoby, a nawet do odniesienia się do ciebie później.

Osobiście sugerowałbym bardziej niezawodną konfigurację przy użyciu maszyny wirtualnej PFSense w celu zrównoważenia obciążenia połączeń. Prawdopodobnie sugerowałbym również wykonanie NAT na samym urządzeniu PFSense zamiast na modemach. Mam coś podobnego do tego skonfigurowanego na maszynie wirtualnej i działa dobrze.

Do połączeń między modemami a maszyną wirtualną PFSense używam przełącznika obsługującego sieć vlan, aby połączyć 3 oddzielne sieci VLans z maszyną wirtualną i rozdzielić je na 3 osobne porty przełącznika. To w efekcie zapewnia bezpośredni (wirtualny) kabel z każdego modemu do pfsense box i drugi kabel do LAN. Następnie można skonfigurować modemy do przekazywania, które różnią się w zależności od dostawcy.

To prawda, że ​​omija to problem, a nie rozwiązuje go bezpośrednio, ale umieszczenie NAT na samych modemach wydaje mi się po prostu pytaniem o kłopoty. Ponadto PFSense został specjalnie zaprojektowany jako paczkowane rozwiązanie routera, więc obsługuje i będzie testowany w konfiguracjach takich jak ta, zapewniając lepszą niezawodność dzięki aktualizacjom.

rozchodnik
źródło
ta odpowiedź mogła być lepsza jako komentarz, ale nie mam na to reputacji.
stonecrusher