Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Проблемы с network балансировкой Linux

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Eluvatar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть 2 интернет канала, от двух разных провайдеров , которые подымаются на Linux Debian 6 в виде ppp0 и ppp1 , я настроил балансировку с помощью ip route2.
Оба соединения пингуются извне , изнутри сессии делятся между 2мя каналами. Т.е. одна сессия уходит по одному каналу, а следующая по второму... третья опять по первому и.т.д.
Например traceroute ya.ru первый раз пойдет по одному каналу а след. раз по второму.
 
Проблема : При подключении извне (например rdp или вебклиент) соединение устанавливается, но проходит какое то время и оно становится недоступным, пинги при этом идут. Через некоторое время связь восстанавливается. Потом опять пропадает.
 
Как я догадываюсь, что это происходит потому что роутер "забывает" по какому каналу была установлена сессия и начинает слать пакеты по другому каналу. Не хватает широты видения для понимания как решить проблему.
 
Заранее благодарен.
 
(есть 2 таблицы T1 и T2)
роуты :
ip route add 84.201.224.0\20 dev ppp0 src 84.201.228.158 table T1
ip route add default via 84.201.225.100 table T1
ip route add 81.25.32.0\20 dev ppp1 src 81.25.46.69 table T2
ip route add default via 81.25.33.1 table T2
ip route add 84.201.224.0\20 dev ppp0 src 84.201.228.158
ip route add 81.25.32.0\20 dev ppp1 src 81.25.46.69
ip rule add from 84.201.228.158 table T1
ip rule add from 81.25.46.69 table T2
ip route add 176.9.145.115 via 81.25.46.69
ip route add default scope global nexthop via 84.201.225.100 dev ppp0 weight 1 nexthop via 81.25.33.1 dev ppp1 weight 1

Всего записей: 114 | Зарегистр. 14-09-2005 | Отправлено: 18:46 16-11-2012
Eluvatar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на шлюзе настроен портмаппинг (рдп , почта и.т.д.)
 
И вот в соединениях извне к сервисам проброшеным с помощью портмаппинга и возникают проблемы.

Всего записей: 114 | Зарегистр. 14-09-2005 | Отправлено: 12:00 19-11-2012 | Исправлено: Eluvatar, 12:20 19-11-2012
Eluvatar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
совсем нет ни у кого никаких мыслей?

Всего записей: 114 | Зарегистр. 14-09-2005 | Отправлено: 10:11 20-11-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Eluvatar
Что-то я за последнее время второй раз вижу такую проблему, но мой мозг её отрицает на корню.
Говорят, что есть проблема в одновременном использовании PBR и DNAT.
Покажите что у Вас в правилах iptables касательно NAT'а и желательно таблицу FORWARD тоже, в общем вывод iptables -vnL и iptables -t nat -vnL
 
Добавлено:
Вообще вопрос было бы более уместно задать в  теме по firewall'ам...
Firewall *nix: iptables, ipfw, pf etc...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 10:30 20-11-2012
Eluvatar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
КАК БЫЛО СРАЗУ :
LAN 10.10.10.0\24
SERVER : 10.10.10.1 (windows AD , почта и.т.д.)
ROUTER (debian) : 2 физ. сетевые карты и ppp0
1 eth0 смотрит на локалку : 10.10.10.3  
2 eth1 смотрит на adsl модем  192.168.1.2 (модем 192.168.1.1 в режиме бриджа)  
3 ppp0 интерфейс - устанавливается с провайдером через модем IP 84.201.228.158
сеть провайдера : 84.201.224.0\20
На роутере  включена маршрутизация и NAT
-A POSTROUTING -s 10.10.10.0/24 -o ppp0 -j SNAT --to-source 84.201.228.158
так же через iptables сделан портмаппинг (несколько портов, но будем разбирать на примере rdp):
-A PREROUTING -d 84.201.228.158/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.10.10.1:3389
 
В этой конфигурации, при одном default gateway ВСЁ РАБОТАЛО : и интренет и портмапинг всех внутр. сервисов.
 
Было решено добавить для надежности и увеличения скорости канал от другого интернет провайдера
 
КАК СТАЛО:
ROUTER: всё те же 2 физ карты :
1. смотрит на сеть eth0
2. т.к. отдельной сетевой для ВТОРОГО adsl модема (нового провайдера) не было, я поставил свитч включил в него 2 адсл модема, а от свитчка патчкорд включил в сетевую eth1 , которая смотрит на модемы. Для этой сетевой я прописал второй IP адресс.
Т.е. у сетевой смотрящей на модемы 2 IP адреса (для каждого прова свой)
Оба модема в бриджах. Это нужно ТОЛЬКО для того, что бы установить PPP соединение для каждого прова, через которые уже ходит трафик.
 
Устанавливаются два соеднинения ppp0 и ppp1 соответственно с первым и вторым провайдером. Далее я удалил старый основной шлюз на первого провайдера, переписал таблицу маршрутизации через ip route ( маршруты в первом сообщении) и сделал балансировку :
ip route add default scope global nexthop via 84.201.225.100 dev ppp0 weight 1 nexthop via 81.25.33.1 dev ppp1 weight 1
 
в iptables я дописал портмапы для нового соедиения
-A PREROUTING -d 81.25.46.69/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.10.10.1:3389
и так же дописал NAT
-A POSTROUTING -s 10.10.10.0/24 -o ppp1 -j MASQUERADE
 
Для визуального восприятия всей схемы я нарисовал картинку:  
http://img13.imageshost.ru/img/2012/11/19/image_50aa1a17922f1.jpg
По картинке может показаться что ppp0 и ppp1 поднимаются на модемах - это не так, ppp0 и ppp1 поднимаются на шлюзе.
 
iptables -vnL и iptables -t nat -vnL
 
Большое Спасибо что помогаете разобраться!

Всего записей: 114 | Зарегистр. 14-09-2005 | Отправлено: 10:47 20-11-2012 | Исправлено: Eluvatar, 10:51 20-11-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Eluvatar
Ладно, я не могу ломать мозг себе не имея стенда под рукой.
Костыль в инете известен и работает у многих, как решить без него и найти суть проблемы я хз. Возможно дело в кэшировании маршрутов ip route'ом, и при очистке и происходит косяк.
Народ решает это NAT'ом на основе меток, а не сетей. Выглядит это примерно так:
Цитата:
ip rule add fwmark 1 table 101
ip rule add fwmark 2 table 102
ip rule add fwmark 3 table 103
iptables -t mangle -A POSTROUTING -o eth1 -j MARK –set-mark 1
iptables -t mangle -A POSTROUTING -o eth2 -j MARK –set-mark 2
iptables -t mangle -A POSTROUTING -o eth3 -j MARK –set-mark 3
iptables -t mangle -A POSTROUTING -j CONNMARK –save-mark
iptables -t mangle -A PREROUTING -j CONNMARK –restore-mark


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 11:02 20-11-2012 | Исправлено: Alukardd, 11:02 20-11-2012
Eluvatar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня прописаны вот такие правила - не помогает
 
iptables -t mangle -I POSTROUTING -o ppp+ -m connmark ! --mark 0 -j ACCEPT
iptables -t mangle -I POSTROUTING -o ppp0 -j CONNMARK --set-mark 1
iptables -t mangle -I POSTROUTING -o ppp1 -j CONNMARK --set-mark 2
 
iptables -t mangle -I PREROUTING -i eth0 -j CONNMARK --restore-mark
 
ip ru add fwmark 1 table T1 pref 3000
ip ru add fwmark 2 table T2 pref 3010
 
 
*eth0 смотрит на локалку

Всего записей: 114 | Зарегистр. 14-09-2005 | Отправлено: 13:29 20-11-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Eluvatar
А где CONNMARK --save-mark?

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 15:46 20-11-2012
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Проблемы с network балансировкой Linux


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru