Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Debian + iproute2 (или че-то другое)? 3 провайдера, пересекаются IP диапазоны. 
V
    Опции темы
XpaH
  Дата 19.5.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.5.2009
Где: Набережные Челны

Репутация: нет
Всего: нет



Всем привет. Если кто-то разбирается в настройке маршрутов очень прошу помочь. Итак...

Дано: 

Севрер: 1 железяка - чисто маршрутизатором работает.
OS: Debian
Сеть:  В серваке 4 интерфейса - 3 провайдера и 1 локалка.
     PPP0 - Пров1
     PPP1 - Пров2
     Eth8 - Пров3
     Eth2 - Lan

Сервер работает нормально, все интерфейсы подняты, все у всех провайдеров работает, все маршруты по портам прокинты в Lan так как надо. 

Проблема:
Трабла в том, что у всех провайдеров есть одна "внутренняя" пересекающаяся подсеть.
10.0.0.0/255.0.0.0

В связи с этим я route для этой подсети могу настроить только на одного провайдера, при этом другие 2 перестают работать...

Например, если я пропишу следующие строки:
Чтобы работал Пров1:
route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp1
Чтобы работал Пров2:
route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp0
Чтобы работал Пров3:
route add -net 10.0.0.0 netmask 255.0.0.0 dev eth8

При этом работает один из провайдеров. Пользователи других двух провайдеров зайти на сервер уже не могут, т.к. их роутит не на тот интерфейс.

Задача: Сделать так, чтобы работали все 3 провайдера одновременно и пакеты уходили на нужный интерфейс.

Возможные решения: Люди говорят, что как-то можно нарулить все это дело через iproute2, но естественно как это сделать я сам не знаю. Еще есть вариант - подменивать ИП адреса разных провайдеров например на 20.0.0.0 и 30.0.0.0 соответственно, а там уже разруливать нормально. Дело в том, что у меня есть только 1 сервер и все надо сделать именно на нём. 

Желающие помочь, прошу пишите свои рекомендации здесь. Тем кто на 100% уверен, что он знает как это делается и может помочь настроить, можете стукнуть в icq 304-40пять.

Спасибо за внимание!
PM MAIL WWW   Вверх
ZeeLax
Дата 20.5.2009, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Цитата(XpaH @  19.5.2009,  15:51 Найти цитируемый пост)
Тем кто на 100% уверен, что он знает как это делается и может помочь настроить, можете стукнуть в icq 304-40пять.

А 50 баксов дадите?

Зря вы написали слово "внутренняя" в кавычках - она ведь в самом деле внутренняя. К тому же, определитесь с целью. Что нужно? Доступ с сетей провайдеров на сервер или доступ из вашей локальной сети в сети провайдеров?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
XpaH
Дата 20.5.2009, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.5.2009
Где: Набережные Челны

Репутация: нет
Всего: нет



Цитата

А 50 баксов дадите?


В случае если все будет работать, то дадим.

Цитата

Зря вы написали слово "внутренняя" в кавычках - она ведь в самом деле внутренняя. К тому же, определитесь с целью. Что нужно? Доступ с сетей провайдеров на сервер или доступ из вашей локальной сети в сети провайдеров?


Мне кажется, все подробно расписано было...

Пользователи всех провайдеров могут попасть на наш сервер. Каждый по своему каналу, пакеты до сервера уже доходят нормально, но обратно все пакеты идут только на один из выбранных мною интерфейсов. Т.е. если я выбрал Пров1, то пакеты приходят от каждого провайдера по своим проводам, а назад уходят по Пров1, в итоге работает все только у Пров1 абонентов... 

Задача именно разруливать пакеты с нашего сервера на каналы провайдеров.

Вариант 1:
Как-то роутинг настроить хитро, чтобы пакеты пришедшие по одному интерфейсу уходили на этот же интерфейс.

Вариант 2: 
Все приходящие пакеты от пользователей у кого IP в сети 10.0.0.0 (Пров1), меняем IP на 20.0.0.0 на самом интерфейсе... Потом пакеты гуляют по локальной сети, как 20.0.0.0, потом направляем эту сеть на интерфейс Пров1, а там обратно меняется IP адрес на 10.0.0.0 и уже по этому самому интерфейсу возвращаются пакеты к пользователю.

Вариант 3:
Ваш вариант.

Это сообщение отредактировал(а) XpaH - 20.5.2009, 10:17
PM MAIL WWW   Вверх
ZeeLax
Дата 21.5.2009, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Вариант 2 пока самый подходящий. Уточнения:
1) создаём три таблицы, в каждой - маршрут по умолчанию в соответствующий интерфес (/etc/iproute2/rt_tables)
2) делаем на входе SNAT (iptables)
3) ответные пакеты маркируем в зависимости от адреса назначения (fwmark в iptables)
4) по марке заставляем их пройтись по нужной таблице (правила (rules) в iproute2)
5) делаем для них DNAT.
Примерно так.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
ZeeLax
Дата 21.5.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



А ещё, скажите... у вас какие адреса от провайдеров? В принципе, можно и без ната обойтись. И ещё - какими сервисами пользуются клиенты на вашем сервере?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
XpaH
Дата 21.5.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.5.2009
Где: Набережные Челны

Репутация: нет
Всего: нет



Вот условно схема всей моей сети. Обязон такая нужна, тут без вариантов (советы типо подели сети просто не канают). К тому же данная схема работает нормально, все пашет, пользователи заходят нормально. Единственная проблема с одной "серой" подсетью (10.0.0.0). 
user posted image

Вот схема сети и проблема пересечения подсетей провайдеров:
user posted image


При этом:
1)  если я прописываю маршрут:
     route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp0
     То работает все у абонентов ДОМ, а абоненты ТВТ и ТТК не пашут.

2)  если я прописываю маршрут:
     route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp1
     То работает у абонентов ТВТ, абоны ДОМ и ТТК не пашут

3)  если я прописываю маршрут:
     route add -net 10.0.0.0 netmask 255.0.0.0 dev eth8
     То работает у абонентов ТТК, абоны ДОМ и ТТК не пашут



Это сообщение отредактировал(а) XpaH - 21.5.2009, 13:13
PM MAIL WWW   Вверх
ZeeLax
Дата 21.5.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Так у вас тут типичная ситуация. В разговоре по ICQ выяснилось, что пользователи каждой сети обращаются к серверу по адресу, висящему на интерфейсе "своего" провайдера. Идём на lartc.org давим там "Dive in!" и читаем про правила. Ну, или первый вариант с баксами smile


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
ZeeLax
Дата 22.5.2009, 05:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Во вчерашнем разговоре с ХраНом в ICQ выяснилось, что дела обстоят несколько по-другому - сервисы находятся на серверах в локальной сети, а не на маршрутизаторе. Это конечно следовало из фразы
Цитата(XpaH @  19.5.2009,  15:51 Найти цитируемый пост)
Севрер: 1 железяка - чисто маршрутизатором работает.

но, гм...©
Доступ клиентов из сети каждого провайдреа осуществляется на "свой" адрес.
В общем, задача в следующем - заставить ответные пакеты от серверов из локальной сети улетать в тот интерфейс маршрутизатора, из которого прилетел запрос.

Решение.
Берем в руки модуль conntrack. С помощью iptables маркируем все входящие пакеты на интерфейсе eth2 в зависимости от их оригинального адреса назначения:
Код

iptables -t mangle -A PREROUTING -i eth2 -m conntrack --ctorigdst 217.23.xxx.xxx -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth2 -m conntrack --ctorigdst 89.251.xxx.xxx -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -i eth2 -m conntrack --ctorigdst 91.144.xxx.xxx -j MARK --set-mark 3

Создаём три таблицы для iproute2
Код

cat >> /etc/iproute2/rt_tables << EOF
100    ttk
101    tvt
102    dom
EOF


Заполняем таблицы маршрутами к провайдерам (в нашем случае это один маршрут через езернет и два через пэ-пэ-пэ)
Код

ip route add 217.23.xxx.xxx/xx dev eth8  proto kernel  scope link  src 217.23.xxx.xxx  table ttk
ip route add default via 217.23.xxx.xxx dev eth8 table ttk
ip ro add default dev ppp1  scope link  ta tvt
ip ro add default dev ppp1  scope link  ta dom

Добавляем правила, для каждой марки
Код

ip rule add fwmark 1 table ttk
ip ru add fwmark 2 ta tvt
ip ru add fwmark 3 ta dom

Сбрасывем кэш
Код

ip route flush cache

и радуемся жизни smile

Это сообщение отредактировал(а) ZeeLax - 22.5.2009, 05:18


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
XpaH
Дата 22.5.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.5.2009
Где: Набережные Челны

Репутация: нет
Всего: нет



Ага, подтверждаю, все работает. Огромное спасибо ZeeLax`у.
PM MAIL WWW   Вверх
bilbobagginz
Дата 23.5.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



ZeeLax, молодец, 
если я правильно понял... это своеобразная реализация VLAN?

кстати, $50 получил ?



Это сообщение отредактировал(а) bilbobagginz - 23.5.2009, 21:45


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
ZeeLax
Дата 24.5.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



bilbobagginz, спасибо.
Насчёт вланов... гм.. не знаю, мо-моему тут нечто другое.

P.S. Получил smile

Добавлено через 37 секунд
XpaH, тему, пожалуйста, отметьте решенной.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
bilbobagginz
Дата 24.5.2009, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



ZeeLax
vlan - это средство 2-го уровня (по модели OSI) для разделения физ. свичей на несколько виртуальных, а также для логического разделения на подсети.
идея в том, что добавляется VLAN ID, т.е. дополнительная координата. т.е. можно по ней перекидывать сообщения.
проблема в том, что это дополнительный модуль ядра. и я не знаю что будет труднее этому серверу - обозначать VLAN (на 2-м уровне), 
или делать маркиковку и переброс как ты сделал...



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
ZeeLax
Дата 24.5.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Что такое влан я в курсе smile Активно использую. Но, в данном случае, имхо, вланы неприменимы для решения задачи.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.1310 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.