URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90357
[ Назад ]

Исходное сообщение
"Маршрутизация на разные шлюзы"

Отправлено Oleg , 19-Ноя-10 16:47 
Есть 2 сетевых смотрящих наружу интерфейса, eth0 195.34.32.11 шлюз 195.34.32.1, и eth1 88.88.1.20 шлюз 88.88.1.1.

Шлюз по умолчанию - 195.34.32.1.

Для внешнего адреса 80.81.200.88 прописан маршрут через шлюз 88.88.1.1.

С локальной машины все нормально - весь трафик наружу идет через eth0, а трафик на 80.81.200.88 идет через eth1.

Вопрос - можно ли не заморачиваясь с разными таблицами маршрутизации сделать MASQUERADE, чтобы трафик с машин локалки шел согласно прописаным маршрутам?


Содержание

Сообщения в этом обсуждении
"Маршрутизация на разные шлюзы"
Отправлено reader , 19-Ноя-10 17:07 
> Есть 2 сетевых смотрящих наружу интерфейса, eth0 195.34.32.11 шлюз 195.34.32.1, и eth1
> 88.88.1.20 шлюз 88.88.1.1.
> Шлюз по умолчанию - 195.34.32.1.
> Для внешнего адреса 80.81.200.88 прописан маршрут через шлюз 88.88.1.1.
> С локальной машины все нормально - весь трафик наружу идет через eth0,
> а трафик на 80.81.200.88 идет через eth1.
> Вопрос - можно ли не заморачиваясь с разными таблицами маршрутизации сделать MASQUERADE,
> чтобы трафик с машин локалки шел согласно прописаным маршрутам?

этот маршрут будет применяться как для пакетов от локальной машины, так и для транзитных ,если конечно в этих "разных таблицах ничего не на прописывали". смотрите чтобы SNAT/MASQUERADE правильно отработал


"Маршрутизация на разные шлюзы"
Отправлено PavelR , 19-Ноя-10 17:08 
> Есть 2 сетевых смотрящих наружу интерфейса, eth0 195.34.32.11 шлюз 195.34.32.1, и eth1
> 88.88.1.20 шлюз 88.88.1.1.
> Шлюз по умолчанию - 195.34.32.1.
> Для внешнего адреса 80.81.200.88 прописан маршрут через шлюз 88.88.1.1.
> С локальной машины все нормально - весь трафик наружу идет через eth0,
> а трафик на 80.81.200.88 идет через eth1.
> Вопрос - можно ли не заморачиваясь с разными таблицами маршрутизации сделать MASQUERADE,
> чтобы трафик с машин локалки шел согласно прописаным маршрутам?

А что, хотите сказать, сейчас он идет не согласно прописанным маршрутам ?


"Маршрутизация на разные шлюзы"
Отправлено Oleg , 19-Ноя-10 18:16 
>> Есть 2 сетевых смотрящих наружу интерфейса, eth0 195.34.32.11 шлюз 195.34.32.1, и eth1
>> 88.88.1.20 шлюз 88.88.1.1.
>> Шлюз по умолчанию - 195.34.32.1.
>> Для внешнего адреса 80.81.200.88 прописан маршрут через шлюз 88.88.1.1.
>> С локальной машины все нормально - весь трафик наружу идет через eth0,
>> а трафик на 80.81.200.88 идет через eth1.
>> Вопрос - можно ли не заморачиваясь с разными таблицами маршрутизации сделать MASQUERADE,
>> чтобы трафик с машин локалки шел согласно прописаным маршрутам?
> А что, хотите сказать, сейчас он идет не согласно прописанным маршрутам ?

Ну да! маршруты прописаны как указано.

Так же указано iptables -t nat -A POSTROUTING -j MASQUERADE.

При запросе с машины локальной сети на 80.81.200.88 пакет ломится через шлюз по умолчанию, т.е. eth0. Если запрос сделать с маршрутизатора то все нормально.


"Маршрутизация на разные шлюзы"
Отправлено PavelR , 20-Ноя-10 09:03 
> Ну да! маршруты прописаны как указано.
> Так же указано iptables -t nat -A POSTROUTING -j MASQUERADE.
> При запросе с машины локальной сети на 80.81.200.88 пакет ломится через шлюз
> по умолчанию, т.е. eth0. Если запрос сделать с маршрутизатора то все
> нормально.

Значит, как было сказано выше, всётаки "в разных таблицах что-то да понапрописано"....

рекомендую ознакомиться с

ip ru sh
ip ro sh table default
ip ro sh table main


=====
а также, не ленясь, сделать всё по уму:

iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0
iptables -t nat -A POSTROUTING -j MASQUERADE -o eth1

т.е. два правила, с четким указанием интерфейсов, а еще лучше переделайте на -j SNAT

и также не ленясь, всё-таки сделать "линукс и два провайдера", заморачиваясь на таблицы маршрутизации.

Переделка "линукс и два провайдера" в контексте данного обсуждения особой важности не имеет, просто маршрутизация у вас не верна, была бы верна - трафик хоста маршрутизировался и маскарадился бы как ожидалось.


"Маршрутизация на разные шлюзы"
Отправлено Гусище , 20-Ноя-10 18:08 
Ещё есть цель ROUTE, которая может применяться в самой последней цепочке таблицы mangle - POSTROUTNG. С помощью неё можно принудительно отправить пакет на нужный интерфейс уже после того как он прошел таблицы маршрутизации, но лучше сделать правильную маршрутизацию саму по себе, чем так извращаться.