Page 2 of 9 FirstFirst 1234 ... LastLast
Results 16 to 30 of 134

Thread: [QoS] Настройка полосы пропускания канала в Bandwidth Management

  1. #16
    Плагин для Firefox?

  2. #17
    Firefox не используется. И насколько я знаю, есть плагин считающий расход (и расход только трафика через него), а не остаток

  3. #18
    Я имел в виду написать свой, который будет брать циферки со странички провайдера. Можно конечно это и на роутере реализовать, но слишком нагрузка на него большая будет.

  4. #19

    Red face Подскажите PHP Framework для роутера

    Хочется набросать небольшой сайт для удобного просмотра статистики, но при этом кодить с 0 хочется уже не так. В поисках лёгкого php фреймворка набрёл на Yii, но даже его тестовое приложение Blog заметно притормаживает. Подскажите если компромис между удобством и скоростью?

    p.s. в yii в качестве бд использовал sqlite

  5. #20
    Все, что будет выполняться на роутере, будет тормозить всегда, ввиду отсутствия вычислительной мощности. Компромисс - генерить на роутере скриптом простой текстовый файлик с данными, а считать и рисовать в браузере яваскриптом. В качестве примера, если графики имеются в виду, можно посмотреть Timeplot, ну и тут на форуме есть кое-что похожее, графики в svg рисуют.

  6. #21
    аха спасибо, лично рисовать я и планировал на клиенте, для этого я выбрал (svg+java script)... просто когда я так скрипты писал на нативном шаблонизаторе - они выполнялись незаметно для глаза, а когда попробовал Yii, при тех же действиях стала появлятся 3-5 секундная задержка... может есть что то ещё легче...

  7. #22
    В моей сетке 12 компов. Стоит mikrotik, привязка MAC-IP при помоши ARP и лимит 1 мб на юзера, кроме меня. После покупки д-линка пробую исключить mikrotik из связки, лимитирование скорости Bandwidth Management по IP работает, но как сделать лимитирование по MAC?
    D-link DIR-320 (1.9.2.7-d-r1000) rTorrent ...

  8. #23
    как лучше отключить инет?
    он у меня прописан на интерфейсе eth1

    Code:
    ifconfig eth1
    
    eth1      Link encap:Ethernet  HWaddr 00:23:54:8D:4A:E4
              inet addr:192.168.0.51  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::223:54ff:fe8d:4ae4/10 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1460 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2207 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              RX bytes:337567 (329.6 KiB)  TX bytes:607681 (593.4 KiB)
              Interrupt:5 Base address:0x2000
    если даю команду
    Code:
    ifconfig eth1 down
    инет пропадает
    Code:
    ifconfig eth1 up
    основной шлюз (модем скайлинк) пингуется, вроде интерфейс рабочий, но интернета нет, браузер ничего не показывает, приходится делать reboot роутеру (WL-500W)

    как лучше включать/выключать инет, со всем остальным я уже вроде разобрался...

    Вот, знающие люди помогли...
    Quote Originally Posted by 2bars View Post
    выключишь весь транзитный трафик на eth1 (но роутер по прежнему сможет обмен вести с интернетом, например для ntp...)
    iptables -t filter -I FORWARD -o eth1 -j DROP
    iptables -t filter -I FORWARD -i eth1 -j DROP

    включишь транзит...
    iptables -t filter -D FORWARD -o eth1 -j DROP
    iptables -t filter -D FORWARD -i eth1 -j DROP
    Last edited by Omega; 30-07-2013 at 22:22.

  9. #24

    Smile Готовое решеньице

    Никого не дождался с решением. Пришлось самому. Линукс увидел реально первый раз, решая эту задачу. 20 лет назад изучал C, даже не ++, так что "код" не слишком крутой, но у меня всё работает.
    Три дня сидел и устанавливал всё по инструкции DURAK EDITION

    Роутер ASUS WL-500W

    Скриптики, которые смотрят ежеминутно статистику по интернет интерфейсу
    (у меня eth1) и если общий объем превышает заданное значение (50 Мб),
    останавливают маршрутизацию инета до конца часа.
    С началом каждого часа маршрутизация восстанавливается.

    Установка:

    1. Создаем каталог

    Code:
    mkdir /opt/share/www/trafik
    Создаем в нем файл index.html
    Code:
    touch /opt/share/www/trafik/index.html
    Вносим в него код:
    Code:
    <html>
      <head>
          <title>TRAFIK</title>
            </head>
              <body>
                  <h2></h2>
                  <p> Internet is <font color="#0000ff"> <b> _UP_ </b></font></p>
                    </body>
                    </html>
    Предполагается, что lighttpd уже установлен и работает

    2. Создаем каталог, если его еще нет

    Code:
    mkdir /opt/etc/cron.1mins
    предполагается, что Cron уже установлен и работает

    3. Если выполнялся пункт 2, то есть cron.1mins не было, то надо внести исправления в файл crontab, расположенный /opt/etc/

    Code:
    # это моя добавка!!!
    0-59 * * * * admin run-parts /opt/etc/cron.1mins  
    # а все остальное уже  было
    */5 * * * * admin run-parts /opt/etc/cron.5mins    
    01 * * * * admin run-parts /opt/etc/cron.hourly
    02 4 * * * admin run-parts /opt/etc/cron.daily
    22 4 * * 0 admin run-parts /opt/etc/cron.weekly
    42 4 1 * * admin run-parts /opt/etc/cron.monthly
    4. Создаем файл trafik_set.sh в /opt/etc/cron.hourly/

    Code:
    touch /opt/etc/cron.hourly/trafik_set.sh
    Вносим в него код:

    PHP Code:
    #!/bin/sh

    # Эта хрень запускается каждый час в Cron
    # !!!!!!!!!!!!!   ВНИМАНИЕ   !!!!!!!!!!!
    # у меня инет идет через интерфейс eth1, если у вас по другому - меняйте


    # Читаем и считаем RX+TX  трафик из /proc/net/dev
    trafik=`cat /proc/net/dev | grep eth1 | sed s/"eth1:"/"eth1: "/ | awk '{trf = $2 + $10; print trf}'`
    echo 
    "Трафик: $trafik"

    # Заносим его во внешний файлик для хранения
    echo "${trafik}> /opt/tmp/trafik_save.txt

    # Смотрим существует ли файл с флагом, может его кто потёр... Если нет - то делаем.
    if [ ! -/opt/tmp/trafik_flag.txt ];
        
    then
        
    echo "1" > /opt/tmp/trafik_flag.txt    # флаг в 1 - инет типа вырублен
    fi


    # Смотрим состояние флага - если там 1 - значит Inet уже вырублен и его надо бы включить
    flag=`cat /opt/tmp/trafik_flag.txt`

    echo 
    "Флаг: $flag"

    if [ "$flag"1" ];
        
    then
        
    echo "0" > /opt/tmp/trafik_flag.txt    # флаг в 0 - инет врублен
        
    echo "Врубаем инет!"
        
    # Прописываем в доступном по www файлике о том, что инет врубается
        
    cat /opt/share/www/trafik/index.html sed -'s/_DOWN_/_UP_/' -'s/ff0000/0000ff/' > /opt/share/www/trafik/index.html.tmp && mv /opt/share/www/trafik/index.html.tmp /opt/share/www/trafik/index.html


        
    # прописываем проброс пакетов в интернет
           
    iptables -t filter -D FORWARD -o eth1 -j DROP
           iptables 
    -t filter -D FORWARD -i eth1 -j DROP
        
    else
        echo 
    "Ничего не делаем"
    fi 
    делаем его исполняемым
    Code:
    chmod +x /opt/etc/cron.hourly/trafik_set.sh
    5. Создаем файл trafik_chek.sh в /opt/etc/cron.1mins/
    Code:
    touch /opt/etc/cron.cron.1mins/trafik_chek.sh
    Вносим код:
    PHP Code:
    #!/bin/sh
    # Эту хрень запускаем каждую минуту в Cron
    # !!!!!!!!!!!!!!!!!ВНИМАНИЕ!!!!!!!!!!!!!!!!!
    # У МЕНЯ ИНТЕРНЕТ ИДЕТ ПО ИНТЕРФЕЙСУ eth1,
    # если у вас по другому - надо поменять тупо все вхождения eth1 на то, что у вас

    # Размер ограничения в байтах, после которого отрубаем
    # маршрутизацию в интернет. Считаем что за минуту мы не перекачаем за предел.
    TR_LIMIT=48000000

    # Смотрим - существует ли файл с флагом, может его кто потер... если его нет - делаем
    if [ ! -/opt/tmp/trafik_flag.txt ];
        
    then
        
    echo "0" > /opt/tmp/trafik_flag.txt # устанавливаем флаг - инет идет
    fi


    # Смотрим состояние флага - если там 1 значит инет уже вырублен и ничего уже делать не надо
    # а если там 0 значит трафик идет и надо проверять сколько накачали
    flag=`cat /opt/tmp/trafik_flag.txt`

    if [ 
    "$flag"0" ];
    then

        tr_hour
    =`cat /opt/tmp/trafik_save.txt`
        
    tr_now=`cat /proc/net/dev | grep eth1 | sed s/"eth1:"/"eth1: "/ | awk '{trf = $2 + $10; print trf}'`

        echo 
    "tr_hour = $tr_hour"
        
    echo "tr_now = $tr_now"

    # вычисление разности по модулю, наверное можно красивее написать, но я не программер
        
    if [ "$tr_hour-gt "$tr_now];
            
    then
            tr_load
    =`expr ${tr_hour} - ${tr_now}`
            echo 
    "больше"
            
    else
            
    tr_load=`expr ${tr_now} - ${tr_hour}`
            echo 
    "меньше"
        
    fi

        
    echo "TR_LIMIT = $TR_LIMIT"

        
    if [ "$tr_load-gt "$TR_LIMIT];
            
    then
            
    echo "Останавливаем инет"
            
    echo "1" > /opt/tmp/trafik_flag.txt # устанавливаем флаг - инет отрублен
            # записываем инфу об этом в индексный файл, который виден по www
            
    cat /opt/share/www/trafik/index.html sed -'s/_UP_/_DOWN_/' -'s/0000ff/ff0000/' > /opt/share/www/trafik/index.html.tmp && mv /opt/share/www/trafik/index.html.tmp /opt/share/www/trafik/index.html

            
    # убираем проброс пакетов во вне, в интернет
            # интернет идет через eth1, если у вас по другому - меняйте
            
    iptables -t filter -I FORWARD -o eth1 -j DROP
            iptables 
    -t filter -I FORWARD -i eth1 -j DROP

            
    else
            echo 
    "Ничего не делаем"
        
    fi
        
    echo "tr_load = $tr_load"

    fi 
    делаем его исполняемым
    Code:
    chmod +x /opt/etc/cron.1mins/trafik_chek.sh
    6. У меня все работает. Состояние можно посмотреть из браузера по адресу
    192.168.1.1:8082/trafik

    Понятно, что если у вас другой адрес роутера
    и внутренний www сервер открыт по другому порту, то вносим изменения.

    Понятно, что все очень тупо и примитивно. Хотел переписать код более красиво и универсально, но плюнул - оно того не стоит.
    Тем не менее, эта штука работает и полностью удовлетворяет мою задачу: не дать Skylink-у сосать из меня лишние деньги, отдавая при этом интернет на несколько компов.

    Всего хорошего!
    Last edited by igorzh; 17-09-2009 at 19:57.

  10. #25
    замечен глюк:
    если объем данных превышает определенное значение awk возвращает число в экспоненциальной форме, вида: x.xxxe+xx
    Эту форму не понимает команда expr - соответственно всё не работает. Будем чинить... временая мера - reboot роутера.

    Решение проблемы: меняем файл cron.1mins/trafik_chek.sh на следующее содержание:
    PHP Code:
    #!/bin/sh
    # Эту хрень запускаем каждую минуту в Cron
    # !!!!!!!!!!!!!!!!!ВНИМАНИЕ!!!!!!!!!!!!!!!!!
    # У МЕНЯ ИНТЕРНЕТ ИДЕТ ПО ИНТЕРФЕЙСУ eth1,
    # если у вас по другому - надо поменять тупо все вхождения eth1 на то, что у вас

    # Размер ограничения в байтах, после которого отрубаем
    # маршрутизацию в интернет. Считаем что за минуту мы не перекачаем за предел.
    TR_LIMIT=48000000

    # Смотрим - существует ли файл с флагом, может его кто потер... если его нет - делаем
    if [ ! -/opt/tmp/trafik_flag.txt ];
        
    then
        
    echo "0" > /opt/tmp/trafik_flag.txt # устанавливаем флаг - инет идет
    fi


    # Смотрим состояние флага - если там 1 значит инет уже вырублен и ничего уже делать не надо
    # а если там 0 значит трафик идет и надо проверять сколько накачали
    flag=`cat /opt/tmp/trafik_flag.txt`

    if [ 
    "$flag"0" ];
    then

        tr_hour
    =`cat /opt/tmp/trafik_save.txt`
        
    tr_now=`cat /proc/net/dev | grep eth1 | sed s/"eth1:"/"eth1: "/ | awk '{trf = $2 + $10; print trf}'`

        echo 
    "tr_hour = $tr_hour"
        
    echo "tr_now = $tr_now"

    # вычисление разности по модулю, наверное можно красивее написать, но я не программер

    tr_load=`echo "${tr_hour} ${tr_now}" | awk '{if ( $2 > $1 ) rrr =  $2 - $1; else rrr = $1 - $2; print rrr}'`
    echo 
    "1---- tr_load = $tr_load"

    # ставим флаг = 1 если трафик привысил предел
    fl=`echo "${tr_load} ${TR_LIMIT}" | awk '{if ($1 > $2) ff = 1; else ff = 2; print ff}'`

        echo 
    "TR_LIMIT = $TR_LIMIT"
        
    echo "fl = $fl"
    # проверяем флаг
        
    if [ "$fl-eq "1" ];
            
    then
            
    echo "Останавливаем инет"
            
    echo "1" > /opt/tmp/trafik_flag.txt # устанавливаем флаг - инет отрублен
            # записываем инфу об этом в индексный файл, который виден по www
            
    cat /opt/share/www/trafik/index.html sed -'s/_UP_/_DOWN_/' -'s/0000ff/ff0000/' > /opt/share/www/trafik/index.html.tmp && mv /opt/share/www/trafik/index.html.tmp /opt/share/www/trafik/index.html

            
    # убираем проброс пакетов во вне, в интернет
            # интернет идет через eth1, если у вас по другому - меняйте
            
    iptables -t filter -I FORWARD -o eth1 -j DROP
            iptables 
    -t filter -I FORWARD -i eth1 -j DROP

            
    else
            echo 
    "Ничего не делаем"
        
    fi
        
    echo "tr_load = $tr_load"

    fi 
    суть - заставляем вычислять разность по модулю интерпретатор awk
    Last edited by Omega; 30-07-2013 at 22:24.

  11. #26
    а какой файл нужно подредактировать чтобы была привязка к маку по IP и ограничение скорости, и ещё если на компьютере вручную прописать IP - будет ли на нём работать интернет?

  12. #27

    Question как можно ограничить скорость на определ

    Здравствуйте я давно уже пользуюсь роутером ASUS WL500gp v1
    прошивка от Олега 1.9.2.7-10
    как можно ограничить скорость на определённых портах на определённую скорость которую я задам сам скажем 256 кб 3000 кб и тд ?

    скажем так на WiFi 54 Mb 1порт 128 кб 2порт 256 кб 3 порт 3 мегабита 4 порт 100 мегабит и тд

    можно ли ограничить скорость доступа в интернет не ограничивая внутрелокальную скорость ?
    Спасибо

  13. #28
    Quote Originally Posted by ramile View Post
    Не захотела эта программа работать. Выдает ошибку и все. Может есть вариант увидеть что она пишет в post-firewall, а я бы сам это внес ручками?
    Уловия: 5 пользователей, Общяя скорость канала 5Мб, и такая же скорость у всех остальных, и только у одного пользователя стоит входящяя/исходящяя 100 Кбит/с.
    Должна работать. Телнет включен на роутере? Правильный ли IP, логин и пароль?

  14. #29

    Прошу помощи - настройка ограничений

    Доброго времени суток Уважаемые!

    Имею dir-320 с прошивкой от Олега 1.9.2.7-10.7

    Есть задача

    дать доступ в инет по айпи с ограничениями:
    192.168.1.250 скорость 512кбит
    ...251 скорость макс 128 мин 64
    ...252 скорость макс 128 мин 64
    ...253 скорость макс 128 мин 64
    ...254 скорость макс 64 мин 32

    Остальным запретить доступ в инет.

    Прошу не посылать в поиск много что облазил есть решения вроде через шейперы, и дополнительными скриптами.

    Хотелось бы от Вас знающих и имеющих опыт дать ответ на быстрое решение. Заранее благодарен
    (Сейчас решено с помощью Bandwidth Management, стандартно на веб морде, но стоит подменить айпи на любой не в таблице, как ему достаётся не резанный доступ, единственное что спасает от халявщиков - это мак фильтр но те кто в доступе по маку начинают потихоньку экспериментировать с подменой айпи, это и вынудило искать решение другим способом)

    Если есть возможность то хотелосьбы и тудаже добавить приорететы в зависимости от загрузки канала, т.е. если канал свободен то позволить айпишнику брать больше скорость.

    Ещё присутсвует проблема работы вайфая
    настройки:
    Channel: 10
    Wireless Mode: 802.11g Only enable 54g protection
    Authentication Method: WPA-Personal
    Enable AfterBurner: Disabled
    Data Rate(Mbps): Auto (и возможность выбора :1,2,5.5,11 - почему нет 54 может из за этого?)
    Multicast Rate(Mbps): 54Mbps

    скорость загрузки из локалки по wifi макс доходит до 230, на что стоит обратить внимание? может ли настройка Bandwidth Management на это влиять, и по этому надо добавить в Routing Table правило для wifi клиента?

    Заранее БЛАГОДАРЕН ....

  15. #30

    2WAN и жесткая привязку MAC к IP

    Имеется:
    1. Asus WL500gp2
    2. Два канала интернета
    3. Две группы пользователей, одна имеет доступ в интернет, а вторая недолжна его иметь.

    Задача:
    1. Как всё это настроить?!
    2. Как сделать жесткую привязку мак-адреса к ип-адресу? чтобы пользователь из группы которая не в интернете не смог у себя установить ип-адрес того пользователя у которого интернет есть.
    3. Как установить ограничение скорости на интернет у конкретного пользователя.

Page 2 of 9 FirstFirst 1234 ... LastLast

Similar Threads

  1. 2 провайдера с резервированием канала
    By andycpp in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 204
    Last Post: 14-12-2012, 12:58

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •