The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
ipfw pipe queue приоритет, !*! Camb, 24-Июл-09, 08:13  [смотреть все]
Привет коллеги!
Всего есть 256Кбит
Есть 3 сервера в интернете к которым нужен приоритет.

--------------
$cmd disable one_pass

$cmd pipe 1 config bw 256Kbit/s queue 20

$cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff
$cmd queue 2 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff

$cmd add queue 1 ip from $SERVER-1 to me in recv $PIF
$cmd add queue 1 ip from $SERVER-2 to me in recv $PIF
$cmd add queue 1 ip from $SERVER-3 to me in recv $PIF

$cmd add queue 2 ip from <все остальное кроме 3-х серв.>  (*)

-----------------------------------

Как написать правило (*) ?


В случае когда я делал приоритет только для одного сервера, то вот так работало нормально:
... from NOT $SERVER-1 to me in recv $PIF

Если я укажу
... from any to to me in recv $PIF
то, по-моему, трафик от $SERVER-1 попадет и в 1-ю очередь и во 2-ю.

Подскажите, пожалуйста!

  • ipfw pipe queue приоритет, !*! masters, 11:43 , 24-Июл-09 (1)
    >В случае когда я делал приоритет только для одного сервера, то вот
    >так работало нормально:
    >... from NOT $SERVER-1 to me in recv $PIF
    >
    >Если я укажу
    >... from any to to me in recv $PIF
    >то, по-моему, трафик от $SERVER-1 попадет и в 1-ю очередь и во
    >2-ю.
    >
    >Подскажите, пожалуйста!

    Самому интересно как это сделать.

    Сейчас выкручиваюсь при помощи таблиц:

    ... from NOT "table(10)" to me in recv $PIF
    ... table 10 add $SERVER-1
    ... table 10 add $SERVER-2
    ... table 10 add $SERVER-3

    • ipfw pipe queue приоритет, !*! Camb, 12:50 , 24-Июл-09 (2)
      задача усложнилась )))

      помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко мне на порт 1194 (OpenVpn).

      никак не могу сообразить как это красиво и правильно сделать.

      ждем попощи!

      • ipfw pipe queue приоритет, !*! Michael, 13:07 , 24-Июл-09 (3)
        >задача усложнилась )))
        >
        >помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
        >мне на порт 1194 (OpenVpn).
        >
        >никак не могу сообразить как это красиво и правильно сделать.
        >
        >ждем попощи!

        используйте в правилах skipto

        • ipfw pipe queue приоритет, !*! masters, 13:37 , 24-Июл-09 (4)
          >>задача усложнилась )))
          >>
          >>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
          >>мне на порт 1194 (OpenVpn).
          >>
          >>никак не могу сообразить как это красиво и правильно сделать.
          >>
          >>ждем попощи!
          >
          >используйте в правилах skipto

          Интересно, а если в таблицу забить IP и порт. Прокатит?

        • ipfw pipe queue приоритет, !*! Camb, 13:48 , 24-Июл-09 (5)
          >>задача усложнилась )))
          >>
          >>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
          >>мне на порт 1194 (OpenVpn).
          >>
          >>никак не могу сообразить как это красиво и правильно сделать.
          >>
          >>ждем попощи!
          >
          >используйте в правилах skipto

          м... попробую! спасибо...

          в таблицах не знаю, можно ли порт указывать...

        • ipfw pipe queue приоритет, !*! Camb, 13:09 , 19-Авг-09 (7)
          >>задача усложнилась )))
          >>
          >>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
          >>мне на порт 1194 (OpenVpn).
          >>
          >>никак не могу сообразить как это красиво и правильно сделать.
          >>
          >>ждем попощи!
          >
          >используйте в правилах skipto

          Michael, спасибо!  делаю...

  • Вопрос все еще открыт, !*! Camb, 12:06 , 19-Авг-09 (6)
    Как при помощи pipe, queue

    расставить приоритет:

    1. Большой приоритет для:
      $server1
      $server2
      а также любой хост который соединяется со мной на UDP : 1194

    2. Малый приоритет
      все остальное кроме п.1

    спасибо!

  • Вроде бы вот так., !*! Camb, 14:12 , 19-Авг-09 (8)
    Спасибо Michael! Использую SKIPTO!!!


    -----------------------------------------------

    $cmd -f flush
    $cmd -f pipe flush
    $cmd -f queue flush

    $cmd disable one_pass


    $cmd pipe 1 config bw 256Kbit/s queue 20  (канал на 256)

    $cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff   (3 очереди на входящий трафик из интернета)
    $cmd queue 2 config pipe 1 weight 40 queue 20 mask dst-ip 0xffffffff
    $cmd queue 3 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff

    $cmd table 1 flush            (таблица)
    $cmd table 1 add $aza 1       (1 это tablearg, им будем указывать номер очереди)
    $cmd table 1 add $mx1 2
    $cmd table 1 add $mx2 2


    $cmd add 010 queue tablearg ip from "table(1)" to $pip in recv $pif    (сервера)
    $cmd add 011 skipto 50      ip from "table(1)" to $pip in recv $pif

    $cmd add 015 queue 1   udp from any to $pip 1194 in recv $pif       (udp 1194)
    $cmd add 016 skipto 50 udp from any to $pip 1194 in recv $pif

    $cmd add 020 queue 3   ip from any to $pip in recv $pif        (остальное)
    $cmd add 021 skipto 50 ip from any to $pip in recv $pif


    -------------- тут пошел файрвол --------------------

    $cmd add 050 allow ip from any to any via lo0
    ...
    ...
    ...
    ...
    nat'ы и т.п...

  • А еще вопросик, !*! Camb, 14:35 , 19-Авг-09 (9)
    Например у меня линк до провайдера 256 К.

    могу я указать 2 pipe:
    128к
    256к

    будет ли это правильно?

    или надо делить чтоб сумма была 256?

    спасиб.

    • вот так, !*! Camb, 13:55 , 21-Авг-09 (10)
      ответ нашел вот такой:
      --------------------
      $cmd -f flush
      $cmd -f pipe flush
      $cmd -f queue flush

      $cmd disable one_pass

      $cmd pipe 1 config bw 256Kbit/s queue 20                             # основной канал и его очереди
      $cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff
      $cmd queue 2 config pipe 1 weight 40 queue 20 mask dst-ip 0xffffffff
      $cmd queue 3 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff

      $cmd pipe 2 config bw 128Kbit/s queue 20        - канал 128 и его одна очередь          
      $cmd queue 4 config pipe 2 weight 10 queue 20 mask dst-ip 0xffffffff

      $cmd table 1 flush                  приоритетеные хосты
      $cmd table 1 add $aza 1
      $cmd table 1 add $mx1 2
      $cmd table 1 add $mx2 2
      $cmd table 1 add $fpsu 2

      # table
      $cmd add 010 queue tablearg ip from "table(1)" to $pip in recv $pif
      $cmd add 011 skipto 50      ip from "table(1)" to $pip in recv $pif

      # openvpn
      $cmd add 015 queue 1   udp from any to $pip 1194 in recv $pif
      $cmd add 016 skipto 50 udp from any to $pip 1194 in recv $pif

      # pop3
      $cmd add 020 queue 2   tcp from any 110 to $pip in recv $pif
      $cmd add 021 skipto 50 tcp from any 110 to $pip in recv $pif

      # other
      $cmd add 030 queue 3   ip from any to $pip in recv $pif        сперва выясним кто мы в основном канале
      $cmd add 031 queue 4   ip from any to $pip in recv $pif        а теперь завернем в 128
      $cmd add 032 skipto 50 ip from any to $pip in recv $pif


      ---------- тут пошел файервол -----------------
      $cmd add 050 allow ip from any to any via lo0




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру