Рейтинговые книги
Читем онлайн HOWTO по управлению трафиком с помощью tcng и HTB (ЛП) - Браун Мартин А.

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 2 3 4

#

#

# -- в качестве дополнительной меры, вы можете переопределить местоположение утилит

#    tc и tcc, например:

#

#  tc=/usr/local/bin/tc

#  tcc=/usr/local/tcng/bin/tcc

#

#

3.1. Использование tcng для ограничения входящего потока

Пример 2. /etc/sysconfig/tcng/class-selection-path.tcc

/*

 * Простой пример с комментариями файла управления трафиком для tcng.

 *

 * Martin A. Brown <i>&lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</i>

 *

 * Пример: Использование алгоритма выбора класса.

 *

 *

 */

#include &quot;fields.tc&quot;<a name="read_n_1_back" href="#read_n_1" class="note">[1]</a>

#include &quot;ports.tc&quot;

#define INTERFACE eth0<a name="read_n_2_back" href="#read_n_2" class="note">[2]</a>

dev INTERFACE {

 egress {<a name="read_n_3_back" href="#read_n_3" class="note">[3]</a>

  /* при использовании алгоритма выбора класса, вначале указываются фильтры! DSmark */<a name="read_n_4_back" href="#read_n_4" class="note">[4]</a>

  class ( &lt;$ssh&gt; ) if tcp_sport == 22 &amp;&amp; ip_tos_delay == 1 ;

  class ( &lt;$audio&gt; ) if tcp_sport == 554 || tcp_dport == 7070 ;

  class ( &lt;$bulk&gt; )

   if tcp_sport == PORT_SSH || tcp_dport == PORT_HTTP ;<a name="read_n_5_back" href="#read_n_5" class="note">[5]</a>

  class ( &lt;$other&gt; ) if 1 ;<a name="read_n_6_back" href="#read_n_6" class="note">[6]</a>

  /* секция, в которой мы конфигурируем дисциплины обработки очередей и классы */

  htb () {<a name="read_n_7_back" href="#read_n_7" class="note">[7]</a>

   class ( rate 600kbps, ceil 600kbps ) {<a name="read_n_8_back" href="#read_n_8" class="note">[8]</a>

    $ssh = class ( rate 64kbps, ceil 128kbps ) { sfq; } ;

    <a name="read_n_9_back" href="#read_n_9" class="note">[9]</a>$audio = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;

    $bulk = class ( rate 256kbps, ceil 512kbps ) { sfq; } ;

    $other = class ( rate 128kbps, ceil 384kbps ) { sfq; } ;<a name="read_n_10_back" href="#read_n_10" class="note">[10]</a>

   }

  }

 }

}

3.2. Использование двухскоростного трехцветного измерителя

Пример 3. /etc/sysconfig/tcng/two-rate-three-color-meter.tcc

/*

 * Простой пример с комментариями файла управления трафиком для tcng.

 *

 * Martin A. Brown <i>&lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</i>

 *

 * Пример: Использование измерителя.

 *

 *

 */

#define EXCEPTION 192.168.137.50

#define INTERFACE eth0

$meter = trTCM( cir 128kbps, cbs 10kB, pir 256kbps, pbs 10kB );<a name="read_n_11_back" href="#read_n_11" class="note">[11]</a>

dev eth0 {

 egress {

  class ( &lt;$full&gt; ) if ip_src == EXCEPTION ;<a name="read_n_12_back" href="#read_n_12" class="note">[12]</a>

  class ( &lt;$fast&gt; ) if trTCM_green( $meter ) ;<a name="read_n_13_back" href="#read_n_13" class="note">[13]</a>

  class ( &lt;$slow&gt; ) if trTCM_yellow( $meter ) ;<a name="read_n_14_back" href="#read_n_14" class="note">[14]</a>

  drop if trTCM_red( $meter ) ;<a name="read_n_15_back" href="#read_n_15" class="note">[15]</a>

  htb {

   class ( rate 600kbps, ceil 600kbps ) {

    $fast = class ( rate 256kbps, ceil 256kbps ) { sfq; } ;

    $slow = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;

    $full = class ( rate 600kbps, ceil 600kbps ) { sfq; } ;

   }

  }

 }

}

4. Разнообразные замечания

К счастью, tcng положил конец маленькому неудобству в использовании tc. Ниже приводится таблица соответствия между сокращениями этих утилит с русским языком.

1 2 3 4
На этой странице вы можете бесплатно читать книгу HOWTO по управлению трафиком с помощью tcng и HTB (ЛП) - Браун Мартин А. бесплатно.

Оставить комментарий