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


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

Автор Тема: [FAQ] Ограничение скорости для клиентов на Ubuntu-Server (htb.init)  (Прочитано 326143 раз)

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Не притягивайте за уши неуместные аргументы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
Всем добрый день
Настроил всё следующим образом:
Eth0 смотрит в локалку.

(Нажмите, чтобы показать/скрыть)

Я так понял, что весь трафик, который не идёт по 80 порту(точнее с 80-го порта), весь должен идти в eth0-2:9999, но почему то не идёт, идёт без ограничений скорости. Вопрос - где я ошибся.

Еще возникли вопросы
1) Являются ли равнозначными такие записи? Т.е. по замыслу все клиенты должны делить канал(выделено на все компьютреы 384 кбита) поровну(получать свой rate, плюс свою долю от ceil).

(Нажмите, чтобы показать/скрыть)

и

(Нажмите, чтобы показать/скрыть)

2) Почему странно работает наследование? Вот пример

(Нажмите, чтобы показать/скрыть)

Почему в данном примере в eth0-2:1000:10.pc1 ceil автоматически будет выставлен в 192кбита, хотя у родительского класса этот параметр 384? Если этот параметр не наследуется, то какие наследуются?
Спасибо
Ubuntu 14.04 + MATE

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Цитировать
PRIO=100
А допустимый диапазон - 0-7
Может по этому...

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
но вот вывод tc class show dev eth0
class htb 1:9999 parent 1:2 prio 7 rate 1000bit ceil 1000bit burst 1599b cburst 1599b
class htb 1:1000 parent 1:2 rate 384000bit ceil 384000bit burst 1599b cburst 1599b
class htb 1:10 parent 1:1000 prio 0 rate 192000bit ceil 384000bit burst 1600b cburst 1599b
class htb 1:2 root rate 100000Kbit ceil 100000Kbit burst 1600b cburst 1600b
class htb 1:20 parent 1:1000 prio 0 rate 192000bit ceil 384000bit burst 1600b cburst 1599b
т.е. правило добавилось, но оно не работает как надо
Ubuntu 14.04 + MATE

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
А если так:

(Нажмите, чтобы показать/скрыть)

Далее:
(Нажмите, чтобы показать/скрыть)
Вот мой вывод (default = 40):
tc class show dev eth0 | sort
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 31 Декабря 2011, 19:29:02 от ivsatel »

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
Спасибо за ответ, но вроде бы пишется вот так
RULE=[[saddr[/prefix]][:port[/mask]],][daddr[/prefix]][:port[/mask]] Поэтому запись 192.168.1.1:80 не верна. Еще как мне кажется совершенно нелогично создавать правила для каждый компьютера отдельно, это совершенно нелогично и не вяжется с sfq. Поэтомуеределал все правила, сделав так
(Нажмите, чтобы показать/скрыть)
Вот так всё работает. Правда с наследованием пока не разобрался, почему то оно работает не так как должно.
« Последнее редактирование: 01 Января 2012, 06:33:00 от byte916 »
Ubuntu 14.04 + MATE

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Спасибо за ответ, но вроде бы пишется вот так
RULE=[[saddr[/prefix]][:port[/mask]],][daddr[/prefix]][:port[/mask]] Поэтому запись 192.168.1.1:80 не верна.
Почему же неверна?
Как раз верна. Только делать будет не то, что вам нужно.
Будет ограничивать исходящий входящий трафик с адреса на адрес 192.168.1.1 с порта на порт веб-сервера (80)

Если писать так, как я думаю, вы хотите это сделать, то вам надо
RULE=:80,192.168.1.1
« Последнее редактирование: 31 Декабря 2011, 22:51:38 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
возникла следующая проблема
весь трафик не попадающий под правила обрезается до 1 кбита.
(Нажмите, чтобы показать/скрыть)
Возникли проблемы со связью - иногда связь полностью прерывается, при этом свич (между шлюзом и компом) пингуется, а вот сам шлюз(на котором настроен htb) не отзывается на пинг, и нет доступа в интернет. Если жесткое ограничение на этом правиле снять(например до 100кбит), то такие потери связи исчезают.
В чём может быть проблема?
« Последнее редактирование: 01 Января 2012, 06:39:05 от byte916 »
Ubuntu 14.04 + MATE

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Это же естественно, что кроме 80-го порта есть и 67-й и 53-й и т.д.

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
Это же естественно, что кроме 80-го порта есть и 67-й и 53-й и т.д.
При возникновении таких тормозов первым делом подумал на днс, и сделал правило на 53-й порт, но не особо помогло
Ubuntu 14.04 + MATE

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Это же естественно, что кроме 80-го порта есть и 67-й и 53-й и т.д.
При возникновении таких тормозов первым делом подумал на днс, и сделал правило на 53-й порт, но не особо помогло

А это правило что-нибудь попадает, может в правиле ошибка? Покажите htb.init compile и time dig ya.ru...

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
# service htb compile
(Нажмите, чтобы показать/скрыть)

В "обычном состоянии" time dig ya.ru
(Нажмите, чтобы показать/скрыть)

В момент потери связи
time dig ya.ru
(Нажмите, чтобы показать/скрыть)
Ubuntu 14.04 + MATE

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Проблема в том, что режется днс:
1) Первое, на что я бы обратил внимание: прохождение пакета через правила, то есть у вас пакеты днс сначала попадают под другое правило с  classid 1:100. Более высокоприоритеные действия должны выполнятся раньше, чем действия с низким приоритетом (т.е. иметь меньший classid)

2) У вас не стоят в iptables правила, которые ограничивают число соединений?

Оффлайн byte916

  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
Проблема в том, что режется днс:
1) Первое, на что я бы обратил внимание: прохождение пакета через правила, то есть у вас пакеты днс сначала попадают под другое правило с  classid 1:100. Более высокоприоритеные действия должны выполнятся раньше, чем действия с низким приоритетом (т.е. иметь меньший classid)
Спасибо, поправил
Цитировать
2) У вас не стоят в iptables правила, которые ограничивают число соединений?
Нет, а надо?
Ubuntu 14.04 + MATE

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Проблема в том, что режется днс:
1) Первое, на что я бы обратил внимание: прохождение пакета через правила, то есть у вас пакеты днс сначала попадают под другое правило с  classid 1:100. Более высокоприоритеные действия должны выполнятся раньше, чем действия с низким приоритетом (т.е. иметь меньший classid)
Спасибо, поправил
Цитировать
2) У вас не стоят в iptables правила, которые ограничивают число соединений?
Нет, а надо?
Не обязательно, просто одной из причин, по которой может происходить ваша проблема, является неправильное ограничение числа udp соединений...

 

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