Monday, August 21st, 2017

Маршрутизация в Linux в случае нескольких подключений к провайдерам

Published on Март 30, 2009 by   ·   Комментариев нет

4.2. Маршрутизация в случае нескольких подключений к провайдерам.

Общий вид конфигурации с двумя подключениями локальной сети (или даже
одного компьютера) к Internet.

________
———— /
| | |
————- Provider 1 ——-
__ | | | /
___/ \_ —— ——- ———— |
_/ \__ | if1 | /
/ \ | | |
| Local network —— Linux router | | Internet
\_ __/ | | |
\__ __/ | if2 | \
\___/ —— ——- ———— |
| | | \
————- Provider 2 ——-
| | |
———— \________

На этом этапе обычно возникает два вопроса.

4.2.1. Двойной канал

Первое — как маршрутизировать пакеты, ответные к пакетам, приходящим,
например, от Провайдера1, к тому же провайдеру.

Прежде всего, оговорим некоторые обозначения. Пусть $IF1 (if1 на
картинке)- первый интерфейс, $IF2 — второй. $IP1 — IP-адрес интерфейса
$IF1, $IP2 — соответственно, $IF2. Далее, $P1 — IP-адрес шлюза на
стороне Провайдера 1, $P2 — Провайдера2. И, наконец, $P1_NET -сеть,
содержащая $P1, и $P1_NET — то же для $P2.
Создаются две дополнительные таблицы маршрутизации, T1 и T2. Они
добавляются в /etc/iproute2/rt_tables. Маршрутизация в этих таблицах
устанавливается следующим образом:

    ip route add $P1_NET dev $IF1 src $IP1 table T1
             ip route add default via $P1 table T1
             ip route add $P2_NET dev $IF2 src $IP2 table T2
             ip route add default via $P2 table T2

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

Далее мы устанавливаем таблицу маршрутизации main. Вполне разумно
маршрутизировать пакеты к ближайшему соседу через интерфейс, к
которому он подключен. Заметьте, что аргумент «src» определяет, какой
в точности исходящий IP-адрес выбран.

           ip route add $P1_NET dev $IF1 src $IP1
           ip route add $P2_NET dev $IF2 src $IP2

Далее, ваши пред

почтения для маршрута по умолчанию:

      ip route add default via $P1

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

     ip rule add from $IP1 table T1
            ip rule add from $IP2 table T2

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

Все это -настройка в общих чертах. Она будет действовать для всех
процессов, выполняющихся непосредственно на маршрутизаторе, а также
для локальной сети с маскарадингом. При отсутствии маскарадинга
возможны два случая — в вашей сети задествовано IP-пространство от
обоих провайдеров, или часть адресов одного провайдера маскарадится в
адресное пространство второго. В обоих случаях потребуется указать
правила, выбирающие маршрут наружу через одного из провайдеров на
основе IP-адреса компьютера в локальной сети.

4.2.2. Распределение загрузки каналов.

Второй вопрос — как распределять трафик, идущий через двух
провайдеров. Это несложно, если двойной доступ настроен, как показано
выше.

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

         ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
                       nexthop via $P2 dev $IF2 weight 1

Это приведет к поочередному выбору маршрутов через обоих провайдеров.
Параметр weight можно изменять для увеличения доли маршрутов через
какого-либо из провайдеров.

Имейте в виду, что распределение не будет абсолютно точным, так как
оно основано на маршрутах, а маршруты кэшируются в ядре. Таким
образом, маршруты к часто используемым сайтам будут идти всегда (т.е.
все время, пока маршрут остается в кэше ядра — прим. пер.) через
одного и того же провайдера.

Далее, если вы в самом деле хотите сделать все, что описано здесь, вам
может быть полезно ознакомиться с патчами Джулиана Анастасова.
Эти патчи делают многие операции более удобными.

zp8497586rq

























































Смотрите также:

Readers Comments (Комментариев нет)

Comments are closed.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]