Routing 2x WAN

Masz problemy z siecią bądź internetem? Zapytaj tu
Awatar użytkownika
lol_ek
Posty: 43
Rejestracja: 17 października 2008, 11:00
Lokalizacja: G-ce

Routing 2x WAN

Post autor: lol_ek »

Witam

Chciał bym wrócić do mojego starego problemu, który opisywałem w tym wątku: threads/32471-Archeologia?p=179981#post179981

Na serwerze są trzy interfejsy, z czego dla dwóch ostatnich tworzę tablicę routingu.

eth0 to LAN (192.168.1.1),
eth1 to WAN_1 (10.70.70.1),
eth2 to WAN_2. (10.80.80.2)

Pierwszy interfejs WAN eth1, działa poprawnie, i to głównie na nim mam puszczony ruch dla komputerów wewnątrz sieci LAN. W zamyśle, chciałem podpiąć squida, który pozwolił by mi ruch www wysyłać drugim WANem / eth2. Niestety nawet z poziomu serwera nie potrafię wymusić ruchu na interfejsie, jeśli ten nie jest domyślnym. Co ciekawe, na eth2 ping na bramę mi działa, ale żaden publiczny adres już nie. Dla odmiany tracert, pokazuje mi poprawną trasę problematycznym, drugim WANem.

Kiedy z serwerem łączę się z zewnątrz, to mogę się na niego zalogować, bez względu, którego łącza używam. I to w zasadzie tyle, bo np. forwardowanie portów na lokalny komputer zdycha, jeśli wymuszam połączenie na drugim interfejsie.


Pomyślałem, że zrobię prosty loadbalance, jednak to się nie sprawdza.

Kod: Zaznacz cały

ip route add default scope global nexthop via 10.70.70.1 dev eth1 weight 1 nexthop via 10.80.80.1 dev eth2 weight 1
Co prawda, ruch idzie raz jednym to drugim łączem, jednak notorycznie, występują problemy z niedoładowanymi stronami. Myślę, że jest to spowodowane tym, że w ramach jednego wywołania witryny, ta jest ładowana dwoma kanałami.


Chwilowo problem obszedłem w ten sposób, ze używam markowania, które koreluję z konkretną tablicę. Choć jeszcze nie sprawdzałem to zakładam, że pierwotne założenie uzyskam, zmieniając źródłowy IP na port usługi www (80). Tutaj w zasadzie mógł bym sobie odpuścić bo w pewnym sensie osiągnąłem swój cel, jednak irytuje mnie, to, że nie potrafię odszukać przyczyny zdławionego połączenia.

Kod: Zaznacz cały

ip route add default via 10.70.70.1 dev eth1 table T1
ip route add default via 10.80.80.1 dev eth2 table T2

ip rule add from all fwmark 1 table T1
ip rule add from all fwmark 2 table T2

iptables -A PREROUTING -t mangle -i eth0 -s 192.168.1.0/24 -j MARK --set-mark 1
iptables -A PREROUTING -t mangle -i eth0 -s 192.168.1.40 -j MARK --set-mark 2

W powyższym przykładzie lokalny host 192.168.1.40 łączy się poprzez WAN_2. Wspomniałem wcześniej o forwardowaniu portów. Dla tej konkretnej maszyny mogę połączyć się z zewnątrz poprzez WAN_2 (eth2), jednak analogicznie padło mi tam forwardowanie na WAN_1 (eth1).

Bazuję na skryptach z starego serwera, gdzie opisywany problem nie występował. Podpowiedzi "mariaczi" niestety nie pomogły, no chyba coś po drodze pomieszałem.
ODPOWIEDZ