The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Несколько каналов интернет, маршрутизация"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Несколько каналов интернет, маршрутизация"  +/
Сообщение от luft (ok) on 08-Фев-12, 15:45 
Есть сервер, он же шлюз, на Debian Lenny iptables+squid+sams. Пытаюсь распределить выход в интернет для локальных компьютеров через два канала (далее планируется более двух). Интернет поднимается по средсвом PPPoE, соответственно появляются интерфейсы PPP0, PPP1 ... PPPn, и получают динамические IP адреса, кроме PPP1 - у него статический внешний адрес 212.*.*.*
eth1 - сюда подключен первый модем - PPP0
eth0.999 - второй модем - PPP1
eth0.100-eth0.250 - локальная сеть (виртуальные интерфейсы VLAN)

Маршрутизацию настраиваю с помощью iproute2. В rt_tables добавляю таблицу Т1, и прописываю правила:
Код:

ip route add 192.168.130.0/24 dev eth0.230 table T1
ip route add 192.168.67.0/24 dev eth0.999 table T1
ip route add default dev ppp1 table T1

ip rule add from 212.*.*.* table T1

192.168.130.0/24 - локальная подсеть, которая должна выходить наружу через ppp1, eth0.230 - соответствующий ей интерфейс
192.168.67.0/24 - подсеть, в которой находится модем, eth0.999 - соответствующий интерфейс
212.*.*.* - внешний айпи на ppp1

В iptables все натится таким правилом:
Код:

iptables -t nat -A POSTROUTING -o PPP+ -j MASQUERADE

Т.е. должно получиться, что по умолчанию все выходит в инет через PPP0 (главная таблица), а те, кого маршрутизируем по PPP1
Если с сервера проверять ping -I ppp1 yandex.ru - пинг идет, traceroute ya.ru с локального компа тоже показывает, что идет через ppp1. Но если через браузер зайти, допустим, на 2ip.ru - айпишник показывается ppp0.

Подскажите, пожалуйста, в чем может быть ошибка!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от КуКу (ok) on 08-Фев-12, 16:07 
зацепился за "iptables+squid+sams" и "Но если через браузер зайти".

Браузер идет через сквид? сквид идет через ppp0?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от luft (ok) on 08-Фев-12, 17:43 
> зацепился за "iptables+squid+sams" и "Но если через браузер зайти".
> Браузер идет через сквид? сквид идет через ppp0?

сквид прозрачный, трафик на него заварачиватеся iptables. Да, браузер идет через сквид. В конфиге сквида прописывал:
acl test src 192.168.130.*
tcp_outgoing_address 212.*.*.* test

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от КуКу (ok) on 08-Фев-12, 19:50 
это конечно же пальцем в небо, но попробывать заменить from на to в:
ip rule add from 212.*.*.* table T1

непробывали?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от luft (ok) on 08-Фев-12, 21:54 
> это конечно же пальцем в небо, но попробывать заменить from на to
> в:
> ip rule add from 212.*.*.* table T1
> непробывали?

Попробовал - безрезультатно

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от PavelR (??) on 08-Фев-12, 22:04 

показывай вывод

ip ru sh

ip ro sh table main
ip ro sh table default

ip ro sh table PROVIDER для каждого провайдера.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от luft (ok) on 08-Фев-12, 22:19 

> показывай вывод
> ip ru sh
> ip ro sh table main
> ip ro sh table default
> ip ro sh table PROVIDER для каждого провайдера.

ip rule show
0:      from all lookup local
32764:  from 212.*.*.* lookup T1
32765:  from 192.168.130.* lookup T1
32766:  from all lookup main
32767:  from all lookup default

ip route show table main
212.12.10.* dev ppp0  proto kernel  scope link  src 95.139.*.*
212.12.10.* dev ppp1  proto kernel  scope link  src 212.*.*.*
192.168.67.0/24 dev eth0.999  proto kernel  scope link  src 192.168.67.5
192.168.130.0/24 dev eth0.190  proto kernel  scope link  src 192.168.90.5
default dev ppp0  scope link

default - пустая

ip ro sh t T1
192.168.130.0/24 dev eth0.230  scope link
192.168.67.0/24 dev eth0.999  scope link
127.0.0.0/8 dev lo  scope link
default dev ppp1  scope link

таблицу сделал только одну T1 для ppp1 подключения, остольные по умолчанию через главную

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от PavelR (??) on 08-Фев-12, 22:48 
В общем всё верно.

> ip ro sh t T1
> 192.168.130.0/24 dev eth0.230  scope link
> 192.168.67.0/24 dev eth0.999  scope link
> 127.0.0.0/8 dev lo  scope link
> default dev ppp1  scope link

Возможно, что тут надо бы маленько исправить скрипт, и в T1 делать правило с указанием src. Т.е. чтобы ip ro sh t T1 показало последней строкой  "default dev ppp1  scope link src 1.2.3.4".
Может быть в этом дело, но я не уверен, ничего не указывает на необходимость данного действа.
К сожалению 100% рабочего скрипта у меня не сохранилось.


> таблицу сделал только одну T1 для ppp1 подключения, остольные по умолчанию через
> главную

При таком конфиге следующее не возможно:

" >traceroute ya.ru с локального компа тоже показывает, что идет через ppp1 "

Также рекомендую проверять не "ping -I pppX" а командой "ping -I 1.2.3.4", дополнительно tcpdump-ом контролировать, что пакет уходит действительно через правильный интерфейс.

Ну и не забываем про "ip ro flu ca".

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Несколько каналов интернет, маршрутизация"  +/
Сообщение от luft (ok) on 10-Фев-12, 11:34 
> Т.е. чтобы ip ro sh t T1
> показало последней строкой  "default dev ppp1  scope link src
> 1.2.3.4".

подскажите, какую команду для этого нужно прописать. Я так понимаю, что 1.2.3.4 - адрес локальной машины, которую выпускаю в инет по ppp1?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру