Распределение Трафика

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 12:34:53

Здравствуйте.

Подвели оптоволоконный кабель на офис, скорость 100Mbit/s Украина и 5 Mbit/s мир. Нужно скорость поделить между 4 группами средствами сквида и шеф хочет себе не через сквид а напрямую.
Ну я то ограничил 4 группы по 1 Mbit/s но режится весь трафик в том числе и украинский. Как мне украинский не резать а только тот что мир??

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Распределение Трафика

Непрочитанное сообщение Larin » 2009-11-02 12:59:20

подключение какое?

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:00:21

оптоволокно - ethernet
или что Вы имели ввиду?

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Распределение Трафика

Непрочитанное сообщение Larin » 2009-11-02 13:02:19

напрямую штоле? никаких pppoe или pptp?

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:07:32

да напрямую

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Gamerman » 2009-11-02 13:10:44

А по каким признакам видно где Украина, а где мир?
Глюк глюком вышибают!

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 13:11:37

Списки с IP префиксами используемыми в Украинском сегменте (UA-IX ?)у вас где-нить можно достать?
У нас например тут http://www.nic.lv/local.net заботливо ведется список со всеми префиксами получаемыми на LIX...

Имея такой список и не имея своего БГП можно заруливать трафик в отдельные пайпы для зарубежного и местного.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 13:26:40

Ха! Добрые люди что-то такое уже сделали:
http://www.colocall.net/ua/
http://www.colocall.net/ua/prefixes.txt

Дальше дело техники ;-)
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:28:32

Опишите плз технику..
Кстати что такое БГП?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 13:35:16

BGP это такой протокол динамической машрутизации используемый для обмена информацией о IP сетях между автономными системами (сетями провайдеров) в интернете. Просто в случае провайдера или организации имеющей свою AS и свои BGP рутеры можно на основании анонсов получаемых от BGP других сетей оперативно выцепить списки с номерами автономных систем и префиксов IP адресов подключенных непосредственно к "местному интернету" и на основании этой информации проводить разделение какой трафик от куда и куда идет.

Вон по моей ссылке выше - колокал такое разделение сделал и готовый список вывесил (пишут что раз в 10 минут обновляют).

---

а что в технике не понятно - готовый список с IP есть - придумайте как вы его в таблицы ipfw станите засовывать и потом настраевайте пайпы/очереди отдельно для местного и для заграничного трафика.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:40:13

ну малого того что я с трубами не очень (буду разбираться), так что мне потом с тем трафом делать, я же сквид юзаю. Что мне теперь отказаться от него???

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 13:42:47

а - у вас же сквид... что-то я на ipfw подумал...
ну тогда разбирайтесь как в сквиде на основании IP назначения скорость резать - я по сквиду слабо шарю... :pardon:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:50:43

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

Ок, буду ковырять сквид, может кто такое делал то отпишитесь

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Gamerman » 2009-11-02 13:52:10

Так можно самому сквиду скорость порезать черз ipfw (Клиентам то вроде пропорционально режется?)
Глюк глюком вышибают!

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Распределение Трафика

Непрочитанное сообщение Larin » 2009-11-02 13:54:53

а так ли нужен сквид при современных интернетах?

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 13:56:44

Gamerman писал(а):Так можно самому сквиду скорость порезать черз ipfw (Клиентам то вроде пропорционально режется?)
не совсем понятно а как разные группы порезанные ipfw будут передаваться сквиду??
Larin писал(а):а так ли нужен сквид при современных интернетах?
ну так все равно оптимизация, можно зарезать музыку и т.д.

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Gamerman » 2009-11-02 14:10:09

Я так понял что начальнику и админам, а также Вип-ам резать ничего не надо?
Тогда можно урезать канал на сам сквид, а юзеры через сквид уже сами будут себе делить, сколько возьмет из оставшегося.

Хотя, если 4 группы равноценны, и каждая должна иметь 1/4 трафика со сквида, то делить нужно через сквид (но как там понять где мир, а где Украина я не знаю).
Глюк глюком вышибают!

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 14:20:10

2Gamerman
будем пытаться что то сделать

2terminus
Если Вы используете такой способ нарезки трафика то не показали бы часть настройки фаервола что бы я не изобретал велосипед а по примеру побывал делать. В частности как Вы загоняете в таблицу IP и примеры труб.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 15:56:55

этот скрипт надо сохранить где-нить, а потом прописать его в крон на выполнение каждые 5-ть минут, а так же на @reboot чтобы при старте тоже отрабатывало

/root/getipaddresses.sh

Код: Выделить всё

#!/bin/sh

cd /tmp
fetch -q http://www.colocall.net/ua/prefixes.txt

for NET in `cat /tmp/prefixes.txt`
do
ipfw table 5 add $NET
done
/etc/rc.conf

Код: Выделить всё

firewall_enable="YES"
firewall_type="/etc/firewall"
/etc/sysctl.conf

Код: Выделить всё

net.inet.ip.fw.one_pass=0
net.inet.ip.dummynet.io_fast=1


правила ipfw /etc/firewall

Код: Выделить всё

# задаем таблицы с адресами для 4-х групп которым будем резать скорости
ipfw table 1 add 192.168.1.0/24
ipfw table 2 add 192.168.2.0/24
ipfw table 3 add 192.168.3.0/24
ipfw table 4 add 192.168.4.0/24

# задаем правила нарезки исходящего/входящего трафика для 4х групп
# первая
pipe 1 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 1 config pipe 1 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
pipe 2 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 2 config pipe 2 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

# вторая
pipe 3 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 3 config pipe 3 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
pipe 4 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 4 config pipe 4 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

# третья
pipe 5 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 5 config pipe 5 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
pipe 6 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 6 config pipe 6 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

# четвертая
pipe 7 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 7 config pipe 7 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
pipe 8 config bw 1Mbit/s queue 60 gred 0.002/10/30/0.1
queue 8 config pipe 8 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

# украинский трафик без зарезки но через шейпер чтобы красивее шел
pipe 9 config bw 99Mbit/s queue 120 gred 0.002/20/60/0.1
queue 9 config pipe 9 mask src-ip 0xffffffff queue 120 gred 0.002/20/60/0.1
pipe 10 config bw 99Mbit/s queue 120 gred 0.002/20/60/0.1
queue 10 config pipe 10 mask dst-ip 0xffffffff queue 120 gred 0.002/20/60/0.1

# настройка ната на внешнем интерфейсе em0
nat 1 config log if em0 same_ports reset deny_in

# правила фаервола:

# режем странный трафик приходящий из интернета
add deny ip from any to 192.168.0.0/16 in recv em0
add deny ip from 192.168.0.0/16 to any in recv em0
add deny ip from any to 172.16.0.0/12 in recv em0
add deny ip from 172.16.0.0/12 to any in recv em0
add deny ip from any to 10.0.0.0/8 in recv em0
add deny ip from 10.0.0.0/8 to any in recv em0
add deny ip from any to 169.254.0.0/16 in recv em0
add deny ip from 169.254.0.0/16 to any in recv em0

# ограничения по скорости на исходящий
add queue 1 ip from table(1) to table(5) in recv fxp0
add queue 9 ip from table(1) to not table(5) in recv fxp0

add queue 3 ip from table(2) to table(5) in recv fxp0
add queue 9 ip from table(2) to not table(5) in recv fxp0

add queue 5 ip from table(3) to table(5) in recv fxp0
add queue 9 ip from table(3) to not table(5) in recv fxp0

add queue 7 ip from table(4) to table(5) in recv fxp0
add queue 9 ip from table(4) to not table(5) in recv fxp0

# ограничения по скорости на входящий
add queue 2 ip from table(5) to table(1) out xmit fxp0
add queue 10 ip from not table(5) to table(1) out xmit fxp0

add queue 4 ip from table(5) to table(2) out xmit fxp0
add queue 10 ip from not table(5) to table(2) out xmit fxp0

add queue 6 ip from table(5) to table(3) out xmit fxp0
add queue 10 ip from not table(5) to table(3) out xmit fxp0

add queue 8 ip from table(5) to table(4) out xmit fxp0
add queue 10 ip from not table(5) to table(4) out xmit fxp0

# разрешаем все через интерфейс смотрящий в локальную сеть
add allow ip from any to any via fxp0

add fwd 127.0.0.1,3128 tcp from { table(1) or table(2) or table(3) or table(4) } to any 80 out xmit em0

add nat 1 all from any to any via em0

add allow all from any to any
---

тут выйдет, что те, кто не внесен в таблицы 1,2,3,4 - те будут ходить в интернет без шейпера и без зарезок на любой вид трафика. Таким образом, если шеф запустит торент то он сможет один отъесть все 5мб забугорного канала и клиенты из групп будут соревноваться с его трафиком на шейпере у провайдера... Честно говоря тут есть поле для раздумий как бы эту схему улучшить... :smile:
Последний раз редактировалось terminus 2009-11-02 18:25:50, всего редактировалось 1 раз.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 16:42:16

у меня тут от неграмотности вопрос возник, трафик в 1 мегабит будет делится между пользователями что занесены в одну таблицу??
тоесть если в 1 таблице 2 пользователя то будет делиться на них мегабит, а во второй если 30 человек то отже на них будет делится мегабит, правильно???
И при такой схеме можна зарезать музыку фильмы и т.д.
Последний раз редактировалось Nick_mad 2009-11-02 16:45:46, всего редактировалось 2 раза.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 16:44:58

да - будет делиться между теми кто в одной таблице.

Музыку/фильмы надо будет резать на сквиде. Как вы его сейчас вызываете (как он работает - как прозрачный прокси или просто отдельный прокси который прописан на компах у юзеров)? Вызов сквида можно вставить в ipfw.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 16:46:34

сейчас как обычный, но теперь мне кажется, что при такой схеме нужно делать прозрачный

еще вопрос, после прохождения труб можна же еще его фильтровать по портам и т.д.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 16:54:57

да, так как выставлен параметр net.inet.ip.fw.one_pass=0 (значит после прохождения ната или труб возвращать трафик в фаервол на обработку) то до правила 60000 можно писать что угодно и после правила 1000 тоже что угодно.

---

я вот только не помню как там сквид из ipfw вызывался - divert или fwd?

Если диверт то наверно его удобней вставлять перед 1000 на внутреннем сетевом интерфейсе, на правиле вида

Код: Выделить всё

ip from any to any via fxp0
а если fwd то тогда сразу перед 60000. Или тоже тогда перед 1000 как бы уже на внутренней стороне на аналогичном правиле

Код: Выделить всё

ip from any to any via fxp0
:unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Nick_mad
сержант
Сообщения: 280
Зарегистрирован: 2008-05-30 12:16:02
Откуда: Киев
Контактная информация:

Re: Распределение Трафика

Непрочитанное сообщение Nick_mad » 2009-11-02 17:47:10

Вот строка из примера

Код: Выделить всё

# отправляем всех на squid (в данном случае - прокси прозрачный)
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
оно вставлено до ната

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Распределение Трафика

Непрочитанное сообщение terminus » 2009-11-02 18:05:55

Ага - понятно. На внутреннем интерфейсе его надо запускать до 1000

---

хотя стоп. что же тогда будет - сквид перехватывает сессию, обрабатывает и пересылает в интернет от своего имени. А он сохранит оригинальный IP отправителя или заменит его на свой? Если он заменит IP на адрес машины на которой он работает то тогда все правила ограничения трафика не сработают...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.