--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Снова роутинг с более чем одним провайдером, подскажите (+)

Сисадминское
6
8
С друзьями на NN.RU
В социальных сетях
Поделиться
nnstepan
09.03.2010
в продолжении темы
www.nn.ru/community/techno/tech/?do=read&thread=972032&topic_id=19558231
собственно вчера собрал машинку с 5-ю сетевухами, поставил центос туда, пока подключил двух провайдеров и локалку (DMZ) где серваки подцеплены.
Собственно получилось сделать чтобы сам цент ос отвечал одновремено снаружи через любого провайдера, а вот чтобы через DNAT серваки в локалке (DMZ) отвечали - не получилось. По сцылкам что нашел в нете предлагают каждому серваку в локалке (DMZ) дать внутренних серых адресов по числу провайдеров и с помощью маркировки пакетов и iptables решить задачу. Т.е. приходит пакет снаружи - смотрим с какого интерфеса, маркируем, далее DNAT согласно маркеру на один их серых ip сервера, сервер отвечает соответственно с этого же ip и мы в iptables опять же уже по этому серому ip маркируем пакеты чтобы они ушли через нужный внешний интерфейс, с которого собственно и пришли. Решение мне данное понятно, но не нравится тем что у каждого сервака должно быть внутренних адресов по числу провайдеров и целая куча правил в iptables :) Подскажите как решить задачу более красиво.

2 Yden - выложи плиз конфиги ip route2 и iptables, как данная задача решена у вас.
pl17
09.03.2010
У меня дома 2 провайдера и пока настраивал балансировку трафика, нашел вот такие строчки в интернете


# Контроль, что ответ на пакет пришедший от одного прова.
# не пойдет через другого
ip route add default via $GW1 table $TBL1
ip route add default via $GW2 table $TBL2
ip rule add from $IP1 table $TBL1
ip rule add from $IP2 table $TBL2



это строчки из моего конфига, и все работает, хотя чует мое сердце вопрос в другом, но я его не вижу, воды много понаписал, хоть бы абзацы выделил)
nnstepan
09.03.2010
провайдер1###############провайдер2
#####|#######################|#######
_________машина с Linux_______________
##############|######################
____________сервер___________________

Машина с Линукс доступна одновременно по провайдерам, все как надо, а вот до сервера снаружи чтобы достукиваться с любого провайдера настроить не могу. Точнее могу но уж больно гиморным способом.
pl17
09.03.2010
а что не работает?


iptables -t nat -A PREROUTING -p tcp -d $EXT_IP1 --dport $port -j DNAT --to-destination $INT_IP:$port
iptables -t nat -A PREROUTING -p tcp -d $EXT_IP2 --dport $port -j DNAT --to-destination $INT_IP:$port

это обычные правила проброса портов
"те кто стучится на внешний IP1 перенаправлять на тот сервер"

а правила которые я выше указал следят, чтобы соединения проходили через провайдера, с которого они установлены
там написано:"в таблицы добавить дефолт шлюзы (в каждую для своего провайдера), а потом правила, что соединения на внешних IP проводить по таблице маршрутов соответсвующей провайдеру-хозяину IP на который постучались"

безо всяких несуразных наборов ИП для сервера
nnstepan
09.03.2010
Правила у меня эти написаны не через -d $EXT_IP1 а через -i $EXT_IF1. Попробую переписать, но вроде не должно ничего поменяться...
А SNAT или MASQUERADE у тебя как прописан для клиентов внутри локалки?
pl17
09.03.2010
на одном интерфейсе SNAT там статический IP
а на другом маскарад (хотя фактически там тоже статика, но я не хочу разбираться когда что отвалится если вдруг адрес изменится)

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

я не пойму, какая часть у тебя не работает
pl17
09.03.2010
с локальными процессами работает нормально
для линукса я думаю нет разницы локальный процесс усатнавливает соединение или сервер в сети, должно все работать
pl17
09.03.2010
вот вообще весь конфиг для маршрутизации

#!/bin/bash

# Определние переменных
. /root/routing/net-vars/vars

# Балансировка нагрузки
ip route add default scope global nexthop via $GW1 dev $IF1 weight $W1 nexthop via $GW2 dev $IF2 weight $W2

# Контроль, что ответ на пакет пришедший от одного прова
# не пойдет через другого
ip route add default via $GW1 table $TBL1
ip route add default via $GW2 table $TBL2
ip rule add from $IP1 table $TBL1
ip rule add from $IP2 table $TBL2
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.