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 оставить один адрес шлюза все работает хорошо, но трафик не делиться, а надо.
Что сделано не так, не пойму?
Помогите с настройкой nat,iproute
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 84
Re: Помогите с настройкой nat,iproute
Настроены таблицы маршрутизации 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
???????????????????????
Уточни задачу, что надо. Две таблицы нужны, если собираешся использовать маркировку пакетов.
Таблица 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
???????????????????????
Уточни задачу, что надо. Две таблицы нужны, если собираешся использовать маркировку пакетов.
-
- Сообщения: 2
-
- Сообщения: 115
- ОС: RHEL 4, FreeBSD 5.x, Slackware
-
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
Re: Помогите с настройкой nat,iproute
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).