При помощи htb.init разделяем трафик полностью

Если у Вас есть Ваша собственная домашняя сеть с двумя или более компьютерами и она подключена к интернету, вы точно знаете о тех проблемах с одновременным доступом к сети, которые практически неизбежны при таком подключении. Самой большой и раздражающей проблемой является разделение ширины канала между всеми участниками сети: когда вы пытаетесь работать серез ssh с удаленным сервером, а в этот момент ваша wife/брат/друг решает поглядеть новый и очень классный видео клип с Google Video или YouTube, Ваше соединение замирает и вы можете забыть о комфортабельной работе . В этой маленькой статье я дам вам простое решение этой проблемы, которое позволит вам делать все, что угодно не думая о проблемах разделения трафика!

Для начала замечу, что Ваша сеть должна быть подключена к Internet при помощи Linux сервера. Если Вы подключены через какой-то тупой аппаратный маршрутизатор, то Вам сильно не повезло и вы не сможете воспользоваться приведенным примером.

Если же Ваш сервер работает под управлением Linux, тогда используйте слудеющие ниже интсрукции чтобы сделать вашу жизнь проще. Замечу, что у меня интернет подключен к интерфейсу eth0, а локальная сеть – к eth1, канал у меня – симметричное подслючение на 512Kbit/s, потому все примеры будут очновываться на этих параметрах:

  1. Скачайте скрипт htb.init с сайта sourceforge.
  2. Распакуйте его и положите в /sbin/htb.init, сменив ему аттрибуты, чтобы сделать его исполнимым:

    # chmod +x /sbin/htb.init

  3. Создайте каталоги для конфигурации и кеша htb.init:

    # mkdir -p /etc/sysconfig/htb
    # mkdir -p /var/cache/htb.init

  4. Перейдите в каталог коныигурации htb.initи создайте следующие конфигурационные файлы для исходящего трафика:
    • Файл ‘eth0′ со следующим содержимым:

      DEFAULT=30
      R2Q=100

    • Файл ‘eth0-2.root’ со следующим содержимым:

      # root class containing outgoing bandwidth
      RATE=512Kbit

    • Файл ‘eth0-2:10.ssh’ со следующим содержимым:

      # class for outgoing ssh
      RATE=256Kbit
      CEIL=512Kbit
      LEAF=sfq
      RULE=*:22
      PRIO=10

    • И, наконец, файл ‘eth0-2:30.default’ со следующим содержимым:

      # default class for outgoing traffic
      RATE=256Kbit
      CEIL=512Kbit
      LEAF=sfq
      PRIO=30

  5. Теперь, создайте набор файлов для управления входящим трафиком:
    • Файл ‘eth1′ со следующим содержимым:

      DEFAULT=30
      R2Q=100

    • Файл ‘eth1-2.root’ со следующим содержимым:
      # root class containing incoming bandwidth
      RATE=512Kbit

    • Файл ‘eth1-2:10.ssh’ со следующим содержимым:

      # class for incoming ssh
      RATE=256Kbit
      CEIL=512Kbit
      LEAF=sfq
      RULE=*:22,
      PRIO=10

    • Файл ‘eth1-2:20.mytraf’ для конфигурирования параметров канала на Ваш компьютер:

      # class for my incoming traffic
      RATE=256Kbit
      CEIL=512Kbit
      LEAF=sfq
      RULE=192.168.0.2 # this is my ip
      PRIO=20

    • И файл ‘eth1-2:30.default’ для параметров канала по умолчанию для остальных со следующим содержимым:

      # default class for outgoing traffic
      RATE=256Kbit
      CEIL=512Kbit
      LEAF=sfq
      PRIO=30

  6. Последний шаг – запуск системы контроля трафика при помощи следующей команды:

    # /sbin/htb.init start
    #

Если все шаги были выполнены правльно и успешно, Вы можете использовать Ваш канал для работы через ssh, для скачивания файлов или для простого серфинга… Ваше соединение будет честно делиться между всеми участниками домашней сети. Если вы находитесь в сети один, Вы будете использовать всю ширину канала. Как только ваши соседи захотят что-то скачать, ширина канала будет разделена между вами поровну, но ваша работа будет настолько же комфортной, как и в тот момент, когда Вы были одни.

Scroll to top