,

Московский инженерно-физический институт (государственный университет)

Технология доступа в Internet по двум

каналам c использованием iproute2

В работе представлена технология доступа в интернет через два канала с помощью маршрутизатора, построенного на основе ОС Linux, c использованием пакета iproute2. Представленная технология прошла практическую проверку и показала высокую эффективность.

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

В данной работе рассмотрена методика настройки маршрутизатора на основе ОС Linux, обеспечивающего подключение локальной сети предприятия к Internet через два канала двух различных провайдеров с использованием пакета iproute2.

Маршрутизатор представляет из себя обычный ПК c ОС Linux Slackware 9.1 (ядро 2.4.22), в который установлены три сетевых интерфейса, а к последовательному COM-порту подключен модем NSM-160.

Имеется два канала доступа в Internet:

1.  Через модем NSM-160 - интерфейс ppp0.

НЕ нашли? Не то? Что вы ищете?

2.  Через радио Ethernet – интерфейс eth2.

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

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

Необходимо построить систему маршрутизации, которая направляла бы весь трафик через недорогой канал (интерфейс eth2), а исходящую почту через интерфейс ppp0. Кроме того, предусмотреть возможность создания VIP клиентов, которые бы выходили в Internet через более свободный интерфейс ppp0.

Для решения указанной задачи необходимо выполнить ряд операций.

Скомпилировать ядро с поддержкой сетевых опций:

CONFIG_IP_ADVANCED_ROUTER=y

CONFIG_IP_MULTIPLE_TABLES=y

CONFIG_IP_ROUTE_FWMARK=y

CONFIG_IP_ROUTE_NAT=y

CONFIG_IP_ROUTE_MULTIPATH=y

Установить пакет ipoute2, который позволяет вносить информацию в таблицы маршрутизации, используемые на уровне ядра.

Установить пакет iptables, который позволяющий производить фильтрацию входящих и исходящих пакетов, их маркировку и маскарадинг.

Создать таблицы маршрутизации в каталоге /etc /iproute2/rt_tables (25 Smtp, 53 Bind, 97 Monnet, 98 Dubna, 100 VIP) и разработать набор правил выбора таблиц (например):

ip rule add fwmark 0x25 table Smtp

или

ip rule add from 192.168.20.10 pref 12504 table VIP

В приведенном примере сказано, что пакеты маркированные меткой 0x25 направлять для маршрутизации в таблицу Smtp, а пакеты с адресом источника 192.168.20.10 в таблицу VIP. Числа стоящие после ключевого слова pref означают предпочтение и определяют порядок просмотра правила. Пакет направляется в таблицу маршрутизации при первом соответствии правилу.

Для выполнения маскарадинга (NAT) используются команды вида:

iptables - t nat - A POSTROUTING - s 192.168.0.0/24 - o eth2 - j SNAT --to-source 10.20.31.100

iptables - t nat - A POSTROUTING - s 192.168.0.0/24 - o ppp0 - j SNAT --to-source 213.85.35.151

Таким образом адрес источника пакетов отправляемых через интерфейс eth2 заменяется на 10.20.31.100, отправляемых через интерфейс ppp0 заменяется на 213.85.35.151

Описанная технология позволила обеспечить выход в Internet по двум различным каналам, один из которых использовался для отправки электронной почты, а другой для обычного доступа по протоколам HTTP, FTP и POP3.