Помогите с настройкой nat,iproute

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

vadika
Сообщения: 2

Помогите с настройкой nat,iproute

Сообщение vadika »

Linux CentOS 4.3 (kernel 2.6.9) работает шлюзом для внутренней сети в интернет. Стоит 3 сетевых карточки
1. eth0 - 192.168.2.5 внутренняя сеть
2. eth1 - 195.170.50.178 первый интернет провайдер (шлюз 195.170.50.177)
3. eth2 - 10.11.23.26 второй интернет провайдер, eth2 служит только для поднятия VPN
4. ppp0 - интернет от второго провайдера

Настроены таблицы маршрутизации iproute
Таблица ISP1 (для eth1)
ip route add 192.168.2.0/24 dev eth0 src 192.168.2.5 table ISP1
ip route add default via 195.170.50.177 table ISP1

Таблица ISP2 (для ppp0)
ip route add 192.168.2.0/24 dev eth0 src 192.168.2.5 table ISP2
ip route add default via 81.195.239.106 table ISP2

Таблица main
ip route add default scope global nexthop via 195.170.50.177 dev eth1 weight 1 nexthop via 81.195.239.106 dev ppp0 weight 1

И настроен NAT
*nat
-A POSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE

В результате внутренняя сеть попадает в интернет через раз, и постоянно появляются сообщения "MASQUERADE: Route sent us somewhere else". Если в таблице роутинга main оставить один адрес шлюза все работает хорошо, но трафик не делиться, а надо.

Что сделано не так, не пойму?
Спасибо сказали:
kvs
Сообщения: 84

Re: Помогите с настройкой nat,iproute

Сообщение kvs »

Настроены таблицы маршрутизации iproute
Таблица ISP1 (для eth1)
ip route add 192.168.2.0/24 dev eth0 src 192.168.2.5 table ISP1
ip route add default via 195.170.50.177 table ISP1

Таблица ISP2 (для ppp0)
ip route add 192.168.2.0/24 dev eth0 src 192.168.2.5 table ISP2
ip route add default via 81.195.239.106 table ISP2

???????????????????????

Уточни задачу, что надо. Две таблицы нужны, если собираешся использовать маркировку пакетов.
Спасибо сказали:
vadika
Сообщения: 2

Re: Помогите с настройкой nat,iproute

Сообщение vadika »

kvs писал(а):
05.07.2006 17:59
Уточни задачу, что надо. Две таблицы нужны, если собираешся использовать маркировку пакетов.


Надо чтобы трафик из внутренней сети распределялся по двум каналам провайдеров (интерфейсы ppp0 и eth1)
Спасибо сказали:
Lazy
Сообщения: 115
ОС: RHEL 4, FreeBSD 5.x, Slackware

Re: Помогите с настройкой nat,iproute

Сообщение Lazy »

vadika писал(а):
05.07.2006 18:35
Надо чтобы трафик из внутренней сети распределялся по двум каналам провайдеров (интерфейсы ppp0 и eth1)


я так понимаю, что надо еще добавить эти самые правила для маршрутизации (ip rule add...)
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Помогите с настройкой nat,iproute

Сообщение serg_sk »

http://www.regionnet.ru/~steel/docs/ip_route2.txt
Тут есть пример даже. Это тебе вроде и надо:
Сейчас рассмотрим ситуацию с разделением каналов. Предположим у нас есть два линка на разных провайдеров. Создаем для каждого свою таблицу маршрутов, и правила привязывающие соответственные сети провайдеров к нужным интерфейсам. Это гарантирует нам возврат пакета, отправленного через одного из провайдеров от него-же. Однако если маршрут по умолчанию будет указывать только на один линк, мы получим разбалансированную нагрузку по каналам. Для решения этой проблемы маршрут по умолчанию укажем на два устройства сразу:
# ip route add default scope global nexthop via $ip_prov1 dev ppp0 weight 1 nexthop via $ip_prov2 dev ppp1 weight 1
Это сбалансирует маршруты через обоих провайдеров. Параметр weight может быть настроен для перевеса нагрузки в ту или иную сторону. Однако надо отметить, что в общем случае вы не сможете угадать, по какому каналу приходит тот или иной пакет. Еще можно сконфигурировать EQL устройство, но это из другой темы. Напомню, что существует "Ip Command Reference" в составе пакета iproute2. Кроме всего прочего, "ip" корректно сосуществует и дополняет пакеты динамической маршрутизации (zebra, gated).
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали: