LINUX.ORG.RU

Debian + iproute2 (или че-то другое). 3 провайдера - пересекаются IP адреса.


0

0

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

Дано: Севрер: 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пять.

Спасибо за внимание!


А как клиенты получают интернеты? Сделан NAT в твою локалку?

undertaker ★★
()

можно маркировать пакеты в iptables.

потом примерно

ip rule add fwmark 2 lookup 2

итд

scaldov ★★
()

Если адреса вашего сервера в сетях 10.0.0.0/8 разные у разных провайдеров, то для доступа к серверу абонентов провайдеров достаточно создать 3 таблицы маршрутизации, по одной для каждого провайдера, в каждой прописать маршрут в сеть 10.0.0.0/8 через его интерфейс и раскидывать пакеты с помощью правил (ip rule from) по src-адресу.

Если же адреса совпадают, то тогда нужно маркировать входящие пакеты в iptables PREROUTING, маркировать запись в conntrack, а для исходящих пакетов по маркеру записи в conntrack восстанавливать маркер пакета и определять таблицу маршрутизации по этом маркеру (ip rule fwmark).

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

А вобще как то странно, если у вас 3 провайдера и все одновременно работают, наверное, при настройке использовались команды iproute2.

mky ★★★★★
()
Ответ на: комментарий от mky

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

Картинка: http://www.r16.ru/upload/route/r16-route.jpg

Вот схема сети и проблема пересечения подсетей провайдеров...

Картинка: http://www.r16.ru/upload/route/r16-route1.jpg

XpaH
() автор топика
Ответ на: комментарий от XpaH

Схему я, примерно, так себе и представлял. Вопрос, кто куда должен заходить, если, например, пользователи DOM и пользователи TBT должны одновременно получить доступ к server то это можно реализовать. А если пользователи LAN должны одновременно получать доступ к DOM и TBT, то это не получится (определения по r16-route1.jpg).

Если первый вариант, то к какому адресу "лезут" пользователи DOM --- к 91.144.X.X или к 10.x.x.x, в смысле есть ли адрес на eth6 или только на ppp0?

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.