FreeBSD. Управление трафиком.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2008-02-25 19:01:21
- Откуда: Казахстан \ Шымкент
- Контактная информация:
FreeBSD. Управление трафиком.
Вобщем стоит такая задача. Есть сервак под БСД, через который проходит весь траф сети малого офиса в инет. Нужно реализовать такую задачу.
Чтобы Сервак качал из инета постоянно допустим торренты. При обращение клиента(ов), сервак обрубает скоость торрентам и отдает весь канал клиенту(ам). Желательно сделать это на уровне tcp. Чтобы можно быо полноценно использовать инет клиентам.
В какую сторону посоветуете капать ?
P.S.
Торренты - Это пример.. Сервак может по своему использовать траф, главное чтобы клиенты не замечали, что канал загружен.
Чтобы Сервак качал из инета постоянно допустим торренты. При обращение клиента(ов), сервак обрубает скоость торрентам и отдает весь канал клиенту(ам). Желательно сделать это на уровне tcp. Чтобы можно быо полноценно использовать инет клиентам.
В какую сторону посоветуете капать ?
P.S.
Торренты - Это пример.. Сервак может по своему использовать траф, главное чтобы клиенты не замечали, что канал загружен.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Силами ipfw наверняка можно решить + простой скриптглавное чтобы клиенты не замечали, что канал загружен
Z301171463546 - можно пожертвовать мне денег
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2008-02-25 19:01:21
- Откуда: Казахстан \ Шымкент
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Как отслеживать входящие подключения к Серваку, направленные в инет ???zingel писал(а):Силами ipfw наверняка можно решить + простой скриптглавное чтобы клиенты не замечали, что канал загружен
Може кто знает готовые приложения\решения ?
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: FreeBSD. Управление трафиком.
ipfw готовое приложение\решениеlegoprog писал(а):Как отслеживать входящие подключения к Серваку, направленные в инет ???zingel писал(а):Силами ipfw наверняка можно решить + простой скриптглавное чтобы клиенты не замечали, что канал загружен
Може кто знает готовые приложения\решения ?
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
- uHk
- мл. сержант
- Сообщения: 134
- Зарегистрирован: 2008-05-21 15:16:48
- Откуда: Москва
- Контактная информация:
Re: FreeBSD. Управление трафиком.
в altq есть очереди, в них borrow
если я не ошибаюсь можно сделать очереди таких образом, чтобы серверу выделить канал 1кбс с наименьшим приоритетом, но при этом дать ему borrow.
как вам задумка, господа гуру?
если я не ошибаюсь можно сделать очереди таких образом, чтобы серверу выделить канал 1кбс с наименьшим приоритетом, но при этом дать ему borrow.
как вам задумка, господа гуру?
надо сразу брать лошадь за рога
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: FreeBSD. Управление трафиком.
зачем такой геморой? Всё делается просто - dummynet
Z301171463546 - можно пожертвовать мне денег
- uHk
- мл. сержант
- Сообщения: 134
- Зарегистрирован: 2008-05-21 15:16:48
- Откуда: Москва
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Код: Выделить всё
altq on $ext_if cbq bandwidth 1Mb queue { server, users }
queue users cbq(default)
queue server bandwidth 1% cbq(borrow)
pass in on $int_if from 192.168.1.1 to any queue users
pass out on $ext_if from self to any queue server
Последний раз редактировалось zingel 2008-08-24 1:43:27, всего редактировалось 1 раз.
Причина: поправил, "если что не так" = нету [code][/code]
Причина: поправил, "если что не так" = нету [code][/code]
надо сразу брать лошадь за рога
-
- лейтенант
- Сообщения: 719
- Зарегистрирован: 2007-08-23 10:56:51
- Откуда: Украина, г. Киев, г. Белая Церковь
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Все гениальное просто!!!
Просто загони в очереди всех юзверей в ipfw с наибольшим приоритетом
а сервак в другую- с наименьшим!
Вот и все проблемы
Просто загони в очереди всех юзверей в ipfw с наибольшим приоритетом
а сервак в другую- с наименьшим!
Вот и все проблемы
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Да!!!Круто, гиниальна, шикарна!!!!
Потом у него кончатся сокеты и сервак упадёт!!! Да!!!
Потом у него кончатся сокеты и сервак упадёт!!! Да!!!
Z301171463546 - можно пожертвовать мне денег
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: FreeBSD. Управление трафиком.
o_O чо?zingel писал(а):Да!!!Круто, гиниальна, шикарна!!!!
Потом у него кончатся сокеты и сервак упадёт!!! Да!!!
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: FreeBSD. Управление трафиком.
нельзя так делать, потому, что кончаться свободные цепочкиПросто загони в очереди всех юзверей в ipfw с наибольшим приоритетом
а сервак в другую- с наименьшим!
Z301171463546 - можно пожертвовать мне денег
- uHk
- мл. сержант
- Сообщения: 134
- Зарегистрирован: 2008-05-21 15:16:48
- Откуда: Москва
- Контактная информация:
Re: FreeBSD. Управление трафиком.
в altq тоже такое может произойти?
надо сразу брать лошадь за рога
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: FreeBSD. Управление трафиком.
ээ какие проблемы, создаем трубу с bw аплинка
в ней создаем предположим три очереди с разными приоритетами
1. доступ к серваку - самое приоритетное
2. трафик клиентво - средний приоритет
3. трафк с сервака - низший приоритет
в ней создаем предположим три очереди с разными приоритетами
1. доступ к серваку - самое приоритетное
2. трафик клиентво - средний приоритет
3. трафк с сервака - низший приоритет
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2008-02-25 19:01:21
- Откуда: Казахстан \ Шымкент
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Если можно тут по подробнее. Примерный скрипт или что почитать.hizel писал(а):ээ какие проблемы, создаем трубу с bw аплинка
в ней создаем предположим три очереди с разными приоритетами
1. доступ к серваку - самое приоритетное
2. трафик клиентво - средний приоритет
3. трафк с сервака - низший приоритет
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2008-02-25 19:01:21
- Откуда: Казахстан \ Шымкент
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Вобщем капал вчера весь вечер эту тему. Вроде бы даже понял. Но вот проблема. Траф не режет
/etc/rc.conf
После долгих эксперементов. Просто взял тестовую машину и сервак.
Тестовая машина - 192.168.1.3
Сервак - 192.168.1.100
И написал такое правило :
В итоге что мы имеем:
Ставлю на серваке закачку в 5 потоков - Жарит по полной.
НА тестовой машине ставлю закачку в 1 поток, нихрена, хотя должен по идее на тестовой жарить по полой, а серваку остатки отдавать...
И ещё момент:
Вот такое вот мне показывает комманда ipfw pipe show, во время закачки с тестовой машины и с сервака,хотя на сколько я понимаю должно быть что-то ещё.
Ядро скомпилено с поддержкой Думми. Если бы небыло скомпилено, думаю ipfw правила бы и не принимал, или ошибку выдавал..
Вот такие вот дела. Как вы считаете, что я делаю не так ?
/etc/rc.conf
Код: Выделить всё
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/etc/rc.firewall"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic"
Тестовая машина - 192.168.1.3
Сервак - 192.168.1.100
И написал такое правило :
Код: Выделить всё
[root@legoprog ~]# cat /usr/local/etc/rc.firewall
#!/bin/sh
ipfw='/sbin/ipfw -q'
mynet='192.168.1.0/24'
extip='10.8.0.34'
intip='192.168.1.100'
intface='vr0'
extface='tun0'
${ipfw} -f flush
${ipfw} -f pipe flush
${ipfw} -f queue flush
${ipfw} add divert natd all from ${mynet} to any via ${extface}
${ipfw} add divert natd all from any to ${extip} via ${extface}
${ipfw} add allow all from any to any
${ipfw} pipe 1 config bw 1024Kbit/s
#${ipfw} queue 1 config pipe 1 weight 20 mask dst-ip 0x00000000
#${ipfw} queue 2 config pipe 1 weight 80 mask dst-ip 0x00000000
#${ipfw} add queue 1 ip from any to me
#${ipfw} add queue 1 ip from any to ${mynet}
${ipfw} queue 1 config pipe 1 weight 80 queue 20 mask dst-ip 0xffffffff
${ipfw} queue 11 config pipe 1 weight 80 queue 20 mask src-ip 0xffffffff
${ipfw} queue 2 config pipe 1 weight 20 queue 20 mask dst-ip 0xffffffff
${ipfw} queue 21 config pipe 1 weight 20 queue 20 mask src-ip 0xffffffff
${ipfw} add queue 1 ip from any to 192.168.1.3
${ipfw} add queue 11 ip from 192.168.1.3 to any
${ipfw} add queue 2 ip from any to any
${ipfw} add queue 21 ip from any to any
В итоге что мы имеем:
Ставлю на серваке закачку в 5 потоков - Жарит по полной.
НА тестовой машине ставлю закачку в 1 поток, нихрена, хотя должен по идее на тестовой жарить по полой, а серваку остатки отдавать...
И ещё момент:
Код: Выделить всё
ipfw pipe show
00001: 1.024 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail
q00001: weight 80 pipe 1 20 sl. 0 queues (64 buckets) droptail
q00002: weight 20 pipe 1 20 sl. 0 queues (64 buckets) droptail
q00021: weight 20 pipe 1 20 sl. 0 queues (64 buckets) droptail
q00011: weight 80 pipe 1 20 sl. 0 queues (64 buckets) droptail
Вот такое вот мне показывает комманда ipfw pipe show, во время закачки с тестовой машины и с сервака,хотя на сколько я понимаю должно быть что-то ещё.
Ядро скомпилено с поддержкой Думми. Если бы небыло скомпилено, думаю ipfw правила бы и не принимал, или ошибку выдавал..
Вот такие вот дела. Как вы считаете, что я делаю не так ?
-
- ефрейтор
- Сообщения: 51
- Зарегистрирован: 2008-02-25 19:01:21
- Откуда: Казахстан \ Шымкент
- Контактная информация:
Re: FreeBSD. Управление трафиком.
Ссори. Затупил.
Надо было просто правила :
Запихать в конец, по сколько у меня правила не пронумерованы Все равно примного благодарен
Надо было просто правила :
Код: Выделить всё
${ipfw} add divert natd all from ${mynet} to any via ${extface}
${ipfw} add divert natd all from any to ${extip} via ${extface}
${ipfw} add allow all from any to any