Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Настройка шейпера htb.init  (Прочитано 3810 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Leapfrog

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Настройка шейпера htb.init
« : 11 Декабря 2010, 15:27:08 »
Вообщем такая ситуация.
имеется локальная сеть с сервером на ubuntu 10.04, который раздает интернет пользователям в сети и двумя интерфейсами eth0 - локалка, eth1 - внешний (приблизительно 8Мбит)
интернет приходит на сервер по dhcp, затем раздает пользователся, айпишники у которых прописаны вручную
вот код интерфейса /eth/network/interfaces
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet dhcp

auto eth0
iface eth0 inet static
address 10.0.19.9
netmask 255.255.255.0
broadcast 10.0.19.255

pre-up iptables-restore < /etc/iptables.up.rules
up route add -net 10.0.19.0 netmask 255.255.255.0 dev eth0
up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth1
форвардинг включен, добавлено  правило для ната
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
вообщем раздача интернета работает, все чудно

затем настроен скрипт htb.init

созданы файлы в /etc/sysconfig/htb

eth0, eth1
DEFAULT=30
R2Q=20

eth0-2.root, eth1-2.root
RATE=100Mbit
CEIL=100Mbit

eth0-2:30.default
RATE=300Kbit
CEIL=300Kbit
LEAF=sfq
RULE=10.0.19.0/24
eth1-2:30.default
RATE=300Kbit
CEIL=300Kbit
LEAF=sfq
MARK=104
добавлено правило для промаркированных пакетов
iptables —t mangle —A PREROUTING —s 10.0.19.0 —j MARK —set-mark 104
iptables —t mangle —A PREROUTING —s 10.0.19.0 —j RETURN
Т.е. насколько я понял, класс 30 файлов eth1-2:30.default и eth0-2:30.default описывает скорость трафика, который не попадает под другие правила

и созданы еще два файла
eth0-2:05.user1
BURST=50Kb
RATE=2Mbit
CEIL=3Mbit
PRIO=1
RULE=10.0.19.77/24
eth1-2:05.user1
BURST=50Kb
RATE=2Mbit
CEIL=3Mbit
PRIO=1
MARK=102
правила маркировки
iptables —t mangle —A PREROUTING —s 10.0.19.77 —j MARK —set-mark 102
iptables —t mangle —A PREROUTING —s 10.0.19.77 —j RETURN

вообщем суть этого всего состоит в том, чтобы этот user1 (в дальнейшем таким же образом будут добавлены еще около 5 юзеров) имел заданную в настройках скорость, а все остальные юзеры данной сети, не указанные в правилах имели на всех скорость 300Kbit

на данный же момент при вот таких настройках user1 имеет входящую и исходящую скорость указанную в файле. а вот все остальные, не указанные в правиле юзеры, которые по идее должны попадать под класс 30 и иметь 300Кбит на всех, в реальности имеют неограниченную скорость на скачивание, а вот исходящую скорость шейпер им режет.

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

на всякий случай вот iptables
(Нажмите, чтобы показать/скрыть)
надеюсь на вашу помощь

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Настройка шейпера htb.init
« Ответ #1 : 11 Декабря 2010, 15:30:57 »
eth0 - локалка, eth1 - внешний
...
форвардинг включен, добавлено  правило для ната
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
вообщем раздача интернета работает, все чудно
У меня закрались сомнения в том, что всё чудно работает....

чуднО как-то замаскарадено

Оффлайн Leapfrog

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Настройка шейпера htb.init
« Ответ #2 : 11 Декабря 2010, 15:38:11 »
да, ошибся. там конечно же eth1

Пользователь решил продолжить мысль 11 Декабря 2010, 19:06:43:
ну что никто не поможет?
« Последнее редактирование: 11 Декабря 2010, 19:06:43 от Leapfrog »

 

Страница сгенерирована за 0.018 секунд. Запросов: 20.