здравствуйте, помогите разобраться с проблемой!
Между двумя офисами проложена оптика, на обоих концах стоят маршрутизаторы линукс с Rhel 5.2
проблема в следующем - скорость в одну сторону при замере в iperf или просто копировании 600mbit.s, а в одратную сторону 200mbit.s. Замена сетевых карт на маршрутизаторах проблему не решает
Скрипт маршрутизации в iproute.
падение скорости в iproute
Модераторы: SLEDopit, Модераторы разделов
-
DaemonTux
- Сообщения: 1480
- Статус: Юный падаван
- ОС: Gentoo
Re: падение скорости в iproute
WarriorSS писал(а): ↑12.08.2008 13:38здравствуйте, помогите разобраться с проблемой!
Между двумя офисами проложена оптика, на обоих концах стоят маршрутизаторы линукс с Rhel 5.2
проблема в следующем - скорость в одну сторону при замере в iperf или просто копировании 600mbit.s, а в одратную сторону 200mbit.s. Замена сетевых карт на маршрутизаторах проблему не решает
Скрипт маршрутизации в iproute.
А хде скрипт?
Vladivostok Linux User Group
-
WarriorSS
- Сообщения: 4
Re: падение скорости в iproute
#!/bin/bash
# --------------------------------v Подсети v --------------------------------
# локальная подсеть офиса 1
NET_LOCAL="192.168.20.0/24"
# локальная подсеть офиса 2
NET_KAYUMA="192.168.0.0/24"
# Подсеть OPTIKA
NET_OPTO="10.10.1.0/30"
# Подсеть итернет-канала
NET_ADSL="x.x.x.x/27"
# Подсеть DMZ
NET_DMZ="192.168.5.0/24"
# внутренние ip адреса
INTERNAL="192.168.0.0/16"
# --------------------------------^ Подсети ^--------------------------------
# ----------------------v Интерфейсы и внутренние адреса v------------------------
# Интерфейс eth0 (Локальная сеть офиса 1, IP: 192.168.20.1)
IF_LOCAL="eth1"
IP_LOCAL="192.168.20.1"
# Интерфейс eth1 (ADSL интернет ГТС, IP: хх.хх.хх.хх)
IF_ADSL="eth0"
IP_ADSL="х.х.х.х"
# Интерфейс eth2 (Связь между офисами, оптоволокно, IP: 10.10.1.1.2)
IF_OPTO="eth2"
IP_OPTO="10.10.1.2"
# ----------------------^ Интерфейсы и внутренние адреса ^------------------------
# --------------------------------v IP маршрутизаторов v-------------------------
# ip адрес шлюза для подключения GTS
IP_GW_ADSL="ч.ч.ч.ч"
# ip адрес маршрутизатора в офисе 2
IP_GW_OPTO="10.10.1.1"
# --------------------------------^ IP маршрутизаторов ^--------------------------------
# --------------------------------v Внешние ip-адреса v --------------------------------
# IP офиса в офисе 3
IP_YAMASHEVA="ч.ч.ч.ч"
# IP Хлебозавода
IP_HZ="х.х.х.х"
# IP Неско-Казань
IP_NESCO="х.х.х.х"
# IP Татагрохимсервиса
IP_TATAGROHIMSERVIS="х.х.х.Х"
# --------------------------------^ Внешние ip адреса ^--------------------------------
# --------------------------------v Таблицы маршрутизации v-------------------------------
# Очищаем таблицы, с которыми будем работать
ip route flush table internal
ip route flush table optika
ip route flush table adsl
##########################
#### Таблица internal ####
##########################
# В таблице все пакеты отправляются через интерфейс оптики на маршрутизатор в офисе 2
ip route add default via $IP_GW_OPTO dev $IF_OPTO table internal
# Отправка всех пакетов на подсеть 192.168.20.0/0 через интерфейс локальной сети
ip route add $NET_LOCAL dev $IF_LOCAL table internal
#######################
##### Таблица adsl ####
#######################
# В таблице все пакеты перенаправляются через интернет канал на маршрутизатор провайдера
ip route add default via $IP_GW_ADSL dev $IF_ADSL table adsl
# Пакеты в локальную сеть уходят через локальный интерфейс
ip route add $NET_LOCAL dev $IF_LOCAL table adsl
# Пакеты на внутренний интерфейс маршрутизатора уходят через внутренний интерфейс
ip route add 127.0.0.0/8 dev lo table adsl
# Все пакеты в подсеть К. Насыри уходят через оптику на маршрутизатор офиса 2
ip route add $NET_KAYUMA via $IP_GW_OPTO dev $IF_OPTO table adsl
# Все пакеты в подсеть DMZ уходят через оптику на маршрутизатор К. Насыри
ip route add $NET_DMZ via $IP_GW_OPTO dev $IF_OPTO table adsl
########################
#### Таблица optika ####
########################
# В таблице все пакеты перенаправляются через оптику на маршрутизатор К.Насыри
ip route add default via $IP_GW_OPTO dev $IF_OPTO table optika
# Пакеты в локальную сеть уходят через локальный интерфейс
ip route add $NET_LOCAL dev $IF_LOCAL table optika
# Пакеты на внутренний интерфейс маршрутизатора уходят через внутренний интерфейс
ip route add 127.0.0.0/8 dev lo table optika
######################
#### Таблица main ####
######################
# Маршрутизация на соответствующий интефейс по источнику
ip route add $NET_OPTO dev $IF_OPTO src $IP_OPTO
ip route add $NET_ADSL dev $IF_ADSL src $IP_ADSL
ip route add $NET_LOCAL dev $IF_LOCAL src $IP_LOCAL
# --------------------------------^ Таблицы маршрутизации ^-------------------------------
# --------------------------------v Правила маршрутизации v-------------------------------
# Очищаем правила, связанные с таблицами
# При добавлении правила, добавить соответствующую строчку ниже!
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table optika
ip rule delete table internal
# Правила добавляются с приоритетом, обратным добавлению
# Чем позднее добавляется правило, тем больший приоритет оно имеет
# Добавление правил в таблицу маршрутизации
ip rule add from $NET_LOCAL table internal
ip rule add from $NET_OPTO table optika
ip rule add from $NET_ADSL table adsl
# Пакеты до Хлебозавода обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Неско-Казань обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Офиса на Ямашева обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Татагрохимсервиса обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# --------------------------------^ Правила маршрутизации ^-------------------------------
# Сброс кэша маршрутизации
ip route flush cache
# Добавляем основные маршуты для "внешних" подсетей
#
ip route add $NET_OPTO dev $IF_OPTO src $IP_OPTO table optika
#
ip route add default via $IP_GW_OPTO table optika
# Зададим правила маршрутизации. Они будут отвечать за то, какая таблица будет использоваться при маршрутизации.
# Пакет с определенным адресом источника маршрутизируется через соответствующий интерфейс
# ip rule add from $IP_OPTO table optika
# ip rule add from $IP_ADSL table adsl
# Добавление маршрута по умолчанию для подсети Фатыха Карима, 9
# маршрут: из 192.168.20.0/24 в 0.0.0.0/0 через интерфейс связи офисов
#
ip route add default via $IP_GW_OPTO dev $IF_OPTO table internal
# Отправка всех пакетов на подсеть 10.10.1.0/30 через интерфейс связи офисов
#ip route add $NET_OPTO dev $IF_OPTO table internal
# Маршрут до Ямашева через ADSL
#ip route add $IP_YAMASHEVA via $IP_GW_ADSL dev $IF_ADSL table internal
# Маршруты к клиентам через интернет канал
# Хлебозавод №3
#ip route add $IP_HZ via $IP_GW_ADSL dev $IF_ADSL table internal
# Неско-Казань
#ip route add $IP_NESCO via $IP_GW_ADSL dev $IF_ADSL table internal
#ip route add $IP_NESCO via $IP_GW_ADSL dev $IF_ADSL table adsl
# Татагрохимсервис
#
ip route add $IP_TATAGROHIMSERVIS via $IP_GW_ADSL dev $IF_ADSL table office
# --------------------------------v Подсети v --------------------------------
# локальная подсеть офиса 1
NET_LOCAL="192.168.20.0/24"
# локальная подсеть офиса 2
NET_KAYUMA="192.168.0.0/24"
# Подсеть OPTIKA
NET_OPTO="10.10.1.0/30"
# Подсеть итернет-канала
NET_ADSL="x.x.x.x/27"
# Подсеть DMZ
NET_DMZ="192.168.5.0/24"
# внутренние ip адреса
INTERNAL="192.168.0.0/16"
# --------------------------------^ Подсети ^--------------------------------
# ----------------------v Интерфейсы и внутренние адреса v------------------------
# Интерфейс eth0 (Локальная сеть офиса 1, IP: 192.168.20.1)
IF_LOCAL="eth1"
IP_LOCAL="192.168.20.1"
# Интерфейс eth1 (ADSL интернет ГТС, IP: хх.хх.хх.хх)
IF_ADSL="eth0"
IP_ADSL="х.х.х.х"
# Интерфейс eth2 (Связь между офисами, оптоволокно, IP: 10.10.1.1.2)
IF_OPTO="eth2"
IP_OPTO="10.10.1.2"
# ----------------------^ Интерфейсы и внутренние адреса ^------------------------
# --------------------------------v IP маршрутизаторов v-------------------------
# ip адрес шлюза для подключения GTS
IP_GW_ADSL="ч.ч.ч.ч"
# ip адрес маршрутизатора в офисе 2
IP_GW_OPTO="10.10.1.1"
# --------------------------------^ IP маршрутизаторов ^--------------------------------
# --------------------------------v Внешние ip-адреса v --------------------------------
# IP офиса в офисе 3
IP_YAMASHEVA="ч.ч.ч.ч"
# IP Хлебозавода
IP_HZ="х.х.х.х"
# IP Неско-Казань
IP_NESCO="х.х.х.х"
# IP Татагрохимсервиса
IP_TATAGROHIMSERVIS="х.х.х.Х"
# --------------------------------^ Внешние ip адреса ^--------------------------------
# --------------------------------v Таблицы маршрутизации v-------------------------------
# Очищаем таблицы, с которыми будем работать
ip route flush table internal
ip route flush table optika
ip route flush table adsl
##########################
#### Таблица internal ####
##########################
# В таблице все пакеты отправляются через интерфейс оптики на маршрутизатор в офисе 2
ip route add default via $IP_GW_OPTO dev $IF_OPTO table internal
# Отправка всех пакетов на подсеть 192.168.20.0/0 через интерфейс локальной сети
ip route add $NET_LOCAL dev $IF_LOCAL table internal
#######################
##### Таблица adsl ####
#######################
# В таблице все пакеты перенаправляются через интернет канал на маршрутизатор провайдера
ip route add default via $IP_GW_ADSL dev $IF_ADSL table adsl
# Пакеты в локальную сеть уходят через локальный интерфейс
ip route add $NET_LOCAL dev $IF_LOCAL table adsl
# Пакеты на внутренний интерфейс маршрутизатора уходят через внутренний интерфейс
ip route add 127.0.0.0/8 dev lo table adsl
# Все пакеты в подсеть К. Насыри уходят через оптику на маршрутизатор офиса 2
ip route add $NET_KAYUMA via $IP_GW_OPTO dev $IF_OPTO table adsl
# Все пакеты в подсеть DMZ уходят через оптику на маршрутизатор К. Насыри
ip route add $NET_DMZ via $IP_GW_OPTO dev $IF_OPTO table adsl
########################
#### Таблица optika ####
########################
# В таблице все пакеты перенаправляются через оптику на маршрутизатор К.Насыри
ip route add default via $IP_GW_OPTO dev $IF_OPTO table optika
# Пакеты в локальную сеть уходят через локальный интерфейс
ip route add $NET_LOCAL dev $IF_LOCAL table optika
# Пакеты на внутренний интерфейс маршрутизатора уходят через внутренний интерфейс
ip route add 127.0.0.0/8 dev lo table optika
######################
#### Таблица main ####
######################
# Маршрутизация на соответствующий интефейс по источнику
ip route add $NET_OPTO dev $IF_OPTO src $IP_OPTO
ip route add $NET_ADSL dev $IF_ADSL src $IP_ADSL
ip route add $NET_LOCAL dev $IF_LOCAL src $IP_LOCAL
# --------------------------------^ Таблицы маршрутизации ^-------------------------------
# --------------------------------v Правила маршрутизации v-------------------------------
# Очищаем правила, связанные с таблицами
# При добавлении правила, добавить соответствующую строчку ниже!
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table adsl
ip rule delete table optika
ip rule delete table internal
# Правила добавляются с приоритетом, обратным добавлению
# Чем позднее добавляется правило, тем больший приоритет оно имеет
# Добавление правил в таблицу маршрутизации
ip rule add from $NET_LOCAL table internal
ip rule add from $NET_OPTO table optika
ip rule add from $NET_ADSL table adsl
# Пакеты до Хлебозавода обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Неско-Казань обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Офиса на Ямашева обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# Пакеты до Татагрохимсервиса обрабатываются таблицей adsl
ip rule add to х.х.х.х table adsl
# --------------------------------^ Правила маршрутизации ^-------------------------------
# Сброс кэша маршрутизации
ip route flush cache
# Добавляем основные маршуты для "внешних" подсетей
#
ip route add $NET_OPTO dev $IF_OPTO src $IP_OPTO table optika
#
ip route add default via $IP_GW_OPTO table optika
# Зададим правила маршрутизации. Они будут отвечать за то, какая таблица будет использоваться при маршрутизации.
# Пакет с определенным адресом источника маршрутизируется через соответствующий интерфейс
# ip rule add from $IP_OPTO table optika
# ip rule add from $IP_ADSL table adsl
# Добавление маршрута по умолчанию для подсети Фатыха Карима, 9
# маршрут: из 192.168.20.0/24 в 0.0.0.0/0 через интерфейс связи офисов
#
ip route add default via $IP_GW_OPTO dev $IF_OPTO table internal
# Отправка всех пакетов на подсеть 10.10.1.0/30 через интерфейс связи офисов
#ip route add $NET_OPTO dev $IF_OPTO table internal
# Маршрут до Ямашева через ADSL
#ip route add $IP_YAMASHEVA via $IP_GW_ADSL dev $IF_ADSL table internal
# Маршруты к клиентам через интернет канал
# Хлебозавод №3
#ip route add $IP_HZ via $IP_GW_ADSL dev $IF_ADSL table internal
# Неско-Казань
#ip route add $IP_NESCO via $IP_GW_ADSL dev $IF_ADSL table internal
#ip route add $IP_NESCO via $IP_GW_ADSL dev $IF_ADSL table adsl
# Татагрохимсервис
#
ip route add $IP_TATAGROHIMSERVIS via $IP_GW_ADSL dev $IF_ADSL table office