Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Есть следующая задача.
Имеется роутер под FreeBSD, соединенный одним сетевым интерфейсом с кабельным модемом (TvoeTV!, тариф - 6Мбит/2Мбит), а вторым сетевым интерфейсом смотрящим в локальную сеть.
В качестве файрволла используется ipfw. Также стоят natd (настроен) и dummynet.
В первом приближении требуется поделить скорость доступа в интернет пропорционально кол-ву пользователей. Т.е., скажем, одновременно работают двое - каждому по 3Мбита на скачку и 1Мбит на отдачу. Подсоединяется третий - каждому по 2МБита и на отдачу 0.7Мбита.
Второй вариант настройки предполагает следующую ситуацию:
Инет идет к соседям, у которых два компьютера. Чтобы соседи не бузили, им надо предоставить гарантированные 200КБит на каждый компьютер. Из оставшейся части приоритет надо отдавать одному компьютеру из сети (это наш) из пяти (это родственники, которые инетом пользуются эпизодически).

Прошу помочь составить мне набор правил для ipfw с использованием функций queue и pipe...

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
сделал пока так:
Цитата:
$ipfw add 00005 pipe 1 ip from 192.168.55.0/24 any
$ipfw add 00010 pipe 2 ip from any to 192.168.55.0/24
$ipfw pipe 1 config mask src-ip 0x000000ff bw 4000Kbit/s queue 20KBytes
$ipfw pipe 2 config mask dst-ip 0x000000ff bw 6400Kbit/s queue 40KBytes

естественно ограничение не работает. По крайней мере, вышеприведенные строчки не мешают. При этом в выводе команды "ipfw pipe show" трафик по каждому хосту пишется отдельно.

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 12.01.2005
Откуда: Питер
http://www.opennet.ru/base/net/transpar ... r.txt.html
...и далее по ключевым словам :) надеюсь поможет.


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
-None- Спасибо! Хорошая ссылка. То что надо! В ближайшее время попробую на практике. Пробовал сам искать на опеннет.ру, но по ключевым словам "shaping", "ipfw", но никакого толкового пошагового мануала не нашел.

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
-None-
не работает скриптик =( просто тупо ничего не передается ни с интернета, ни в интернет... пробовал варианты - все равно не понимаю принцип работы очередей...

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 12.01.2005
Откуда: Питер
рад бы помочь, но в БСД не разбираюсь совсем, только линух... даже оттестить негде.


 

Member
Статус: Не в сети
Регистрация: 18.10.2006
Откуда: Новосибирск
Root , в ipfw не силен. На твоем месте пользовал бы PF. В нем такие вещи (altq) реализованы лучше (на мой взгляд). Да и структура и синтаксис яснее.
Добавлено спустя 12 минут, 41 секунду
Вот полезная ссылка по ipfw, если уж ты больше привык к нему. http://house.hcn-strela.ru/BSDCert/BSDA-course/ape.html
Там есть то что тебе нужно, а конкретно тут: http://house.hcn-strela.ru/BSDCert/BSDA ... ic-shaping.
Правда в общих чертах.


 

Member
Статус: Не в сети
Регистрация: 11.01.2007
покажи свой ipfw show

вообще надо скрипт написать конешно
ничего особо сложного небудет


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
bb@diamond.ru
да не вопрос.
Код:
FreeBSD-router# cat /etc/ipfw.rules
#!/bin/sh

oif="vr0" #interface to D-Link
pif="ep1" #interface to private local network
lif="lo0" #loopback interface
cmd="ipfw -q add "
ipfw="ipfw -q"
ks="keep-state"
skip="skipto 500"

$ipfw -f       flush
$ipfw -f pipe  flush
$ipfw -f queue flush

$ipfw pipe 1 config bw 4000Kbit/s queue 20KBytes
$ipfw pipe 2 config bw 6400Kbit/s queue 40KBytes

$cmd 00102 allow all from any to any via $oif
$cmd 00103 allow all from any to any via $lif
#$cmd 00104 allow all from any to any via $pif

$cmd 00200 divert natd all from any to any in via $pif
$cmd 00201 check-state

$cmd 00500 divert natd all from any to any out via $pif
$cmd 00510 allow ip from any to any

$ipfw add queue 1 ip from 192.168.55.0/24 to any
$ipfw add queue 2 ip from any to 192.168.55.0/24


А насчет ничего сложного - ну, да. Только руки нонче до этого у меня так и не дошли - и так вроде бы Интернет работает и всех все устраивает =)

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan