IPFW + DUMMYNET + пользователи

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Raven_kg
рядовой
Сообщения: 46
Зарегистрирован: 2009-11-30 9:38:35
Контактная информация:

IPFW + DUMMYNET + пользователи

Непрочитанное сообщение Raven_kg » 2009-11-30 9:50:41

Есть локалка ~10 компов и шлюз на FreeBSD 8
В общем на мои плечи легла задача поднять на ней шлюз, с возможностью разграничения пользователей - трем можно ходить всюду, но нужно ограничить им скорость до 28кб, остальным же присваиваются ограничения по подсетям (например 85.115.192.0/19 для одних, 194.152.37.0/24 для других). Как такое реализовать? Желательно на примерах.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW + DUMMYNET + пользователи

Непрочитанное сообщение hizel » 2009-11-30 9:53:20

примеры в поиске по форуму
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Raven_kg
рядовой
Сообщения: 46
Зарегистрирован: 2009-11-30 9:38:35
Контактная информация:

Re: IPFW + DUMMYNET + пользователи

Непрочитанное сообщение Raven_kg » 2009-11-30 10:35:38

:st: :Search:
Да-да-да... Всегда вот так. Где бы ни спросил - один ответ: Иди в гугел или спроси "там"... Человек обращается с конкретным вопросом, за конкретным ответом, а вместо этого его футболят... :(

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW + DUMMYNET + пользователи

Непрочитанное сообщение hizel » 2009-11-30 13:09:44

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: IPFW + DUMMYNET + пользователи

Непрочитанное сообщение reLax » 2009-11-30 20:10:11

Что-то типа.

Код: Выделить всё

#!/bin/sh

    fwcmd="/sbin/ipfw"
    iif="msk0"
    priv_dummynet="250 234 23 33"
    norm_dummynet="43 233 30 96"
    i=0

    ${fwcmd} -f pipe flush
    ${fwcmd} -f queue flush


  #---BEGIN DUMMYNET---#

  ${fwcmd} table 3 flush
      while  [ $i -le 255 ];
          do
          ${fwcmd} table 3 add 172.17.2.${i}
          i=`expr $i + 1`
          done

  ${fwcmd} table 1 flush
      for line in ${priv_dummynet}
        do
        ${fwcmd} table 1 add 172.17.2.${line}
        ${fwcmd} table 3 delete 172.17.2.${line}
        done

  ${fwcmd} table 2 flush
      for line in ${norm_dummynet}
        do
        ${fwcmd} table 2 add 172.17.2.${line}
        ${fwcmd} table 3 delete 172.17.2.${line}
        done


       #---PRIVELEGED---#

       ${fwcmd} pipe 1 config mask src-ip 0xffffffff bw 1024Kbit/s
       ${fwcmd} queue 11 config pipe 1 weight 80 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 12 config pipe 1 weight 80 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 11 ip from table\(1\) to any in via ${iif}
       ${fwcmd} add queue 12 ip from any to table\(1\) out via ${iif}

       #---NORMAL---#

       ${fwcmd} pipe 2 config mask src-ip 0xffffffff bw 368Kbit/s
       ${fwcmd} pipe 3 config mask src-ip 0xffffffff bw 128Kbit/s
       ${fwcmd} queue 21 config pipe 3 weight 50 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 22 config pipe 2 weight 50 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 21 ip from table\(2\) to any in via ${iif}
       ${fwcmd} add queue 22 ip from any to table\(2\) out via ${iif}

       #---OTHERS---#

       ${fwcmd} pipe 4 config mask src-ip 0xffffffff bw 256Kbit/s
       ${fwcmd} pipe 5 config mask src-ip 0xffffffff bw 64Kbit/s
       ${fwcmd} queue 31 config pipe 4 weight 30 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 32 config pipe 4 weight 20 queue 20 mask src-ip 0xffffffff
       ${fwcmd} queue 41 config pipe 5 weight 25 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 42 config pipe 5 weight 25 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 31 ip from table\(3\) to any not dst-port 143,5190 in via ${iif}
       ${fwcmd} add queue 32 ip from any not 143,5190 to table\(3\) out via ${iif}
       ${fwcmd} add queue 41 ip from table\(3\) to any dst-port 143,5190 in via ${iif}
       ${fwcmd} add queue 42 ip from any 143,5190 to table\(3\) out via ${iif}