Ubuntu NAT с множество връзки

Имам линукс сървър с 2 WAN връзки. Има 2 публични IP адреса като WAN_IP1 и WAN_IP2. Шлюзът по подразбиране на сървъра е WAN_IP1.

Сървърът също има 2 LAN интерфейса и съответните подмрежи.

Този сървър трябва да пренасочи някакъв порт от WAN адреса_S_ към някой LAN сървър, винаги съм го правил с DNAT или MASQUERADE.

Например имам уеб сървър в моята локална мрежа с адрес LAN_IP1 и правилата са:

iptables -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
iptables -A POSTROUTING -j MASQUERADE

Когато се опитвам да се свържа с уеб сървъра през WAN_IP1, всичко върви добре, тъй като WAN_IP1 е шлюзът по подразбиране, но когато се опитвам през WAN_IP2, отговорът от LAN сървъра се насочва през шлюза по подразбиране WAN_IP1 и така връзката никога не се установява.

Виждал съм много възможни решения, но мисля, че може би има нещо по-„чисто“ от маркирането на пакети и създаването на ip псевдоними...

Някакви предположения?


person snovelli    schedule 29.07.2014    source източник


Отговори (1)


Маршрутизирането на целия изходящ трафик през шлюза по подразбиране е поведението по подразбиране, ако няма друг съвпадащ маршрут. Ако искате да насочвате трафик към определени дестинации през друг шлюз, трябва да дефинирате допълнителни маршрути за тези дестинации.

По-"чист" начин, който ми идва на ум, е да поставите рутер пред сървъра си, който поддържа връзката към двете WAN мрежи и връзката към вашия сървър. Вашият сървър ще говори само с рутера (неговия шлюз по подразбиране) и рутерът ще маршрутизира пакетите.
Въпреки че това на практика е като да посочите допълнителни маршрути на сървъра, докато те са конфигурирани на рутер в това решение, но това би натоварило управлението на мрежата върху мрежовия хардуер.

person Ulrich Thomas Gabor    schedule 29.07.2014