The OpenNET Project / Index page

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

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

"Два канала в инет, все работает, но...."  
Сообщение от Cyber email(??) on 14-Фев-08, 14:42 
Шлюз следующей конфигурации LinuxRedHat9:
eth0 - 172.30.2.126 (первый пров)
eth1 - 172.17.0.1 (локалка)
eth2 - 192.168.1.2 (второй пров)

шлюз по умолчанию 172.30.2.125

через впн раздаю адресацию:
172.20.2.0 для 1 прова
172.21.1.0 для 2 прова

нат:
iptables -t nat -A POSTROUTING -s 172.20.2.0/24 -o eth0 -j SNAT --to-source 172.30.2.126
iptables -t nat -A POSTROUTING -s 172.21.1.0/24 -o eth2 -j SNAT --to-source 192.168.1.2

скрипт роутинга:
IP1=172.30.2.126
IP2=192.168.1.2
G1=172.30.2.125
G2=192.168.1.1

ip route add default via $G1 dev eth0 table T1
ip route add default via $G2 dev eth2 table T2
ip route add default via $G1
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip rule add from 172.21.1.0/24 table T2
route add -net 172.21.1.0/24 dev eth2 gw 192.168.1.1
ip route flush cache

Все работает, но есть но:
если пакеты идут через второго прова, то возвращаются через первого!
У меня первый пров платный, а второй анлим.

Из этого получилось, что исходящий трафик шел через второго прова(бесплатно) а приходил на первого по 1 руб за мег!!! и я попал на 17000руб!!!

Что делать??!!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "Два канала в инет, все работает, но...."  
Сообщение от Cyber email(??) on 14-Фев-08, 17:14 
может как то маркировать пакеты?

p.s. черт, сказали, что меня завтра повесят, если я не исправлю ситуацию.
p.p.s повесят за яйца... (((

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Два канала в инет, все работает, но...."  
Сообщение от PavelR (??) on 14-Фев-08, 19:14 
>может как то маркировать пакеты?
>
>p.s. черт, сказали, что меня завтра повесят, если я не исправлю ситуацию.
>
>p.p.s повесят за яйца... (((

Читать документацию или увольняться - какие еще варианты?
Не понимаю, зачем лезть туда куда не умеешь ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Два канала в инет, все работает, но...."  
Сообщение от kailex (??) on 14-Фев-08, 18:12 
В общем так и должно быть.
Либо маркируй пакеты с помощью iptables --mark, а потом с помощью правила ip rule ... fwmark направляй в нужную таблицу.
Либо весь трафик с помощью source routing направляй в нужную таблицу, что-то типа
ip rule add from $cheap_ip table cheap_prov
ip route add default via $cheap_prov_gateway_ip dev $cheap_int table cheap_prov
ip route flush cache

У тебя $cheap_ip=$IP2, cheap_prov=T2, $cheap_prov_gateway_ip=$G2, $cheap_int=eth2

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Два канала в инет, все работает, но...."  
Сообщение от Cyber email(??) on 15-Фев-08, 09:42 
>В общем так и должно быть.
>Либо маркируй пакеты с помощью iptables --mark, а потом с помощью правила
>ip rule ... fwmark направляй в нужную таблицу.
>Либо весь трафик с помощью source routing направляй в нужную таблицу, что-то
>типа
>ip rule add from $cheap_ip table cheap_prov
>ip route add default via $cheap_prov_gateway_ip dev $cheap_int table cheap_prov
>ip route flush cache
>
>У тебя $cheap_ip=$IP2, cheap_prov=T2, $cheap_prov_gateway_ip=$G2, $cheap_int=eth2

у меня так и сделано...
я кажись понял, у меня еще настроен прозрачный прокси для первого прова.
и я решил в этот же прокси загнать и второго провайдера и получилось, что пакеты перахватывал прокси и перенаправлял через себя уже от имени 1 провайдера...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Два канала в инет, все работает, но...."  
Сообщение от PavelR (??) on 14-Фев-08, 19:21 

>Из этого получилось, что исходящий трафик шел через второго прова(бесплатно) а приходил
>на первого по 1 руб за мег!!! и я попал на
>17000руб!!!
>
>Что делать??!!

Чтобы не было такой фигни, надо делать правильно, а не "все работает".

>нат:
>iptables -t nat -A POSTROUTING -s 172.20.2.0/24 -o eth0 -j SNAT --to-source
>172.30.2.126
>iptables -t nat -A POSTROUTING -s 172.21.1.0/24 -o eth2 -j SNAT --to-source
>192.168.1.2

неправильно. правильно:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.30.2.126
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 192.168.1.2

почему - думаю сами поняли уже. Выгоняем в интерфейс с левым айпи и оно уходит. Если писать правильно - проблем не будет. Читайте маны, они рулят.

Кому чего можно настраивается в цепочке FORWARD

>ip route add default via $G1 dev eth0 table T1
>ip route add default via $G2 dev eth2 table T2
>ip route add default via $G1
>ip rule add from $IP1 table T1
>ip rule add from $IP2 table T2
>ip rule add from 172.21.1.0/24 table T2
>route add -net 172.21.1.0/24 dev eth2 gw 192.168.1.1
>ip route flush cache

не совсем правильно. правильно примерно так:

ip route add default via $G1 dev eth0 table T1
ip route add default via $G2 dev eth2 table T2
ip route add default via $G1   <- влияет только на тот траффик, который мы не прописали умолчально, например для самого рутера.
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip rule add from 172.21.1.0/24 table T2
ip rule add from 172.21.1.0/24 table T2

но нужно вставить pref чтобы правила вставлялись в нужные места в списке правил.
Поищи по форуму, найдешь. + нужно чтобы траффик со внешних адресов в локалки уходил именно в локалки а не на шлюзы провайдера(нужно доп правила в нужные места, опять же в поиск.)

#route add -net 172.21.1.0/24 dev eth2 gw 192.168.1.1  # не понял чо за бред

ip route flush cache

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Два канала в инет, все работает, но...."  
Сообщение от PavelR (??) on 15-Фев-08, 06:25 
ip rule add from 172.21.1.0/24 table T2
-ip rule add from 172.21.1.0/24 table T2
+ip rule add from 172.21.2.0/24 table T1
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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