Ответить
  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 9 января 2011 13:36

    Спасибо Mr.Smith

    посмотрите пожалуйста правильно ли я вас понял ,а то скриптами только 1 неделю занимаюсь

    #!/bin/sh

    . /etc/kconfig

    LOG="logger -t init.d"

    start()

    case "$1" in

    start)

    start

    myrules

    ;;

    {

    $LOG "Iptables start"

    выше есть вот такая скобка " ) " ,а " ( " такая нужна

    #------------------------------------EXTERNAL-RULES-------------------------

    $LOG "Start user routes chains from /rwfs/network/routes"

    /rwfs/network/routes

    $LOG "Start user iptables chains from /rwfs/network/iptables"

    /rwfs/network/iptables

    }

    myrules() {

    iptables -A PREROUTING -t mangle -s 90.189.193.0/255 -j MARK --set-mark 6

    iptables -A PREROUTING -t mangle -s 90.189.192.0/255 -j MARK --set-mark 6

    }

    stop() {

    $LOG "Iptables stop"

    iptables -F

    iptables -t nat -F

    iptables -t filter -F

    iptables -t mangle -F

    iptables -X

    iptables -t nat -X

    iptables -t filter -X

    iptables -t mangle -X

    iptables -t mangle -F PREROUTING

    iptables -t mangle -F FORWARD

    iptables -t mangle -F INPUT

    iptables -t mangle -F OUTPUT

    iptables -t mangle -F POSTROUTING

    iptables -t nat -Z

    iptables -t filter -Z

    iptables -t mangle -Z

    iptables -Z

    }

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    *)

    echo $"Usage: $0 {start|stop|restart}"

    exit 1

    esac

    закрывающееся фигурные скобки появляются только внизу

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 9 января 2011 13:57

    извиняюсь про скобку понял когда закончил писать

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    *)

    echo $"Usage: $0 {start|stop|restart}"

    exit 1

    esac

  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 10 января 2011 16:45
    код выделить все

    case "$1" in
    start)
    start
    myrules
    ;;

    stop)
    stop
    ;;

    restart)
    stop
    start
    ;;

    *)
    echo $"Usage: $0 {start|stop|restart}"
    exit 1
    esac

    вот так оно все же лучше выглядит =)

    интуитивно понятнее, я бы сказал

    IMHO.
  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 10 января 2011 16:54

    посмотрите пожалуйста правильно ли я вас понял ,а то скриптами только 1 неделю занимаюсь

    не уверен, что правильно понял вопрос, вот так правильно

    код выделить все

    #!/bin/sh

    . /etc/kconfig
    LOG="logger -t init.d"

    start() {

    $LOG "Iptables start"
    ....

    }

    myrules() {

    ....

    }

    .......
    ....
    ..

    case "$1" in
    start)
    start()
    myrules()
    ;;

    IMHO.
  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 11 января 2011 13:00

    так я понял?

    #------------------------------------EXTERNAL-RULES-------------------------

    $LOG "Start user routes chains from /rwfs/network/routes"

    /rwfs/network/routes

    $LOG "Start user iptables chains from /rwfs/network/iptables"

    /rwfs/network/iptables

    }

    myrules() {

    iptables -A PREROUTING -t mangle -s 90.189.193.0/255 -j MARK --set-mark 6

    iptables -A PREROUTING -t mangle -s 90.189.192.0/255 -j MARK --set-mark 6

    }

    stop() {

    $LOG "Iptables stop"

    iptables -F

    iptables -t nat -F

    iptables -t filter -F

    iptables -t mangle -F

    iptables -X

    iptables -t nat -X

    iptables -t filter -X

    iptables -t mangle -X

    iptables -t mangle -F PREROUTING

    iptables -t mangle -F FORWARD

    iptables -t mangle -F INPUT

    iptables -t mangle -F OUTPUT

    iptables -t mangle -F POSTROUTING

    iptables -t nat -Z

    iptables -t filter -Z

    iptables -t mangle -Z

    iptables -Z

    }

    case "$1" in

    start)

    start

    myrules

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    *)

    echo $"Usage: $0 {start|stop|restart}"

    exit 1

    esac

    есть особенность если изменить что-то в шейпери он перестает работать но до изменений работает нормально

    вот оригинал S15shaper

    #!/bin/sh

    SHAPER_SUPPORT=`flash get SHAPER_ENABLE | cut -f 2- -d =`

    OUTIFACE=ppp0

    LOG="logger -t init.d"

    start() {

    #----------------------------------------------CLEAR---------------------------------------------------------------

    tc qdisc del dev br0 root > /dev/null 2>&1

    tc qdisc del dev $OUTIFACE root > /dev/null 2>&1

    tc qdisc del dev $OUTIFACE ingress > /dev/null 2>&1

    if [ "$SHAPER_SUPPORT" != "on" ]; then

    $LOG "Shaper disabled by user."

    exit 0

    fi

    $LOG "Start shaper..."

    NATFASTPATH=`flash get NFASTPATH_ENABLED | cut -f 2- -d =`

    if [ -f /proc/FastPath ] && [ "$NATFASTPATH" = "1" ]; then

    echo 0 > /proc/FastPath

    echo "Disable fastpath if shaper is up."

    fi

    $LOG "Load needs modules..."

    modprobe sch_esfq > /dev/null 2>&1

    modprobe sch_sfq > /dev/null 2>&1

    $LOG "Tune netsched..."

    #get parametrs

    BANDWIDTHUP=`flash get TOTAL_BANDWIDTH_UP | cut -f 2- -d =`

    BANDWIDTHDOWN=`flash get TOTAL_BANDWIDTH_DOWN | cut -f 2- -d =`

    BANDWIDTHUP_LIMIT=`flash get TOTAL_BANDWIDTH_LIMIT_UP | cut -f 2- -d =`

    BANDWIDTHDOWN_LIMIT=`flash get TOTAL_BANDWIDTH_LIMIT_DOWN | cut -f 2- -d =`

    LAN_IP_ADDR=`flash get LAN_IP_ADDR | cut -f 2- -d =`

    LAN_IP_ADDR2=`flash get LAN_IP_ADDR2 | cut -f 2- -d =`

    SHAPER_IN_ENABLE=`flash get SHAPER_IN_ENABLE | cut -f 2- -d =`

    #--------------------------------------------INCOMING---------------------------------------------------------------

    #all output traffic for ppp0

    $LOG "All incoming ppp rate: normal $BANDWIDTHDOWN_LIMIT , maximum $BANDWIDTHDOWN (kbit/s)"

    tc qdisc add dev br0 root handle 1: htb default 22

    tc class add dev br0 parent 1: classid 1:1 htb rate 90mbit quantum 1500 burst 500k

    tc class add dev br0 parent 1:1 classid 1:2 htb rate ${BANDWIDTHDOWN}kbit \

    quantum 1500 burst 100k

    tc class add dev br0 parent 1:1 classid 1:3 htb rate 80 \

    ceil 90mbit prio 0 quantum 1500 burst 100k

    tc class add dev br0 parent 1:2 classid 1:20 htb rate ${BANDWIDTHDOWN_LIMIT}kbit \

    ceil ${BANDWIDTHDOWN}kbit prio 1 quantum 1500

    tc class add dev br0 parent 1:2 classid 1:21 htb rate ${BANDWIDTHDOWN_LIMIT}kbit \

    ceil ${BANDWIDTHDOWN}kbit prio 2 quantum 1500

    tc class add dev br0 parent 1:2 classid 1:22 htb rate ${BANDWIDTHDOWN_LIMIT}kbit \

    ceil ${BANDWIDTHDOWN}kbit prio 3 quantum 1500

    tc qdisc add dev br0 parent 1:3 handle 3: esfq perturb 10 hash dst quantum 1500

    tc qdisc add dev br0 parent 1:20 handle 20: esfq perturb 10 hash dst quantum 1500

    tc qdisc add dev br0 parent 1:21 handle 21: esfq perturb 10 hash dst quantum 1500

    tc qdisc add dev br0 parent 1:22 handle 22: esfq perturb 10 hash dst quantum 1500

    if [ "$SHAPER_IN_ENABLE" = "on" ]; then

    #filters for marked in prerouting

    tc filter add dev br0 parent 1:0 prio 1 protocol ip handle 20 fw flowid 1:20

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 21 fw flowid 1:21

    tc filter add dev br0 parent 1:0 prio 3 protocol ip handle 22 fw flowid 1:22

    else

    #HIGH icmp,ssh,https,telnet,sip,dns //fix me

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 21 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 22 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 23 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 53 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip dport 53 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 443 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip dport 443 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip sport 5060 0xffff flowid 1:20

    tc filter add dev br0 parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:20

    #MEDIUM http/ftpdata/udp

    tc filter add dev br0 parent 1:0 protocol ip prio 2 u32 match ip sport 80 0xffff flowid 1:21

    tc filter add dev br0 parent 1:0 protocol ip prio 2 u32 match ip dport 80 0xffff flowid 1:21

    tc filter add dev br0 parent 1:0 protocol ip prio 2 u32 match ip sport 20 0xffff flowid 1:21

    tc filter add dev br0 parent 1:0 protocol ip prio 2 u32 match ip protocol 17 0xff flowid 1:21

    #LOW smtp/pop and others

    tc filter add dev br0 parent 1:0 protocol ip prio 3 u32 match ip sport 110 0xffff flowid 1:22

    tc filter add dev br0 parent 1:0 protocol ip prio 3 u32 match ip sport 25 0xffff flowid 1:22

    fi

    #local connections

    tc filter add dev br0 parent 1:0 protocol ip prio 0 u32 match ip src $LAN_IP_ADDR flowid 1:3

    #---------------------------------------------OUTGOING--------------------------------------------------------------

    #all output traffic for ppp0

    $LOG "All outgoing ppp rate: normal $BANDWIDTHUP_LIMIT , maximum $BANDWIDTHUP (kbit/s)"

    tc qdisc add dev $OUTIFACE root handle 1: htb default 24

    tc class add dev $OUTIFACE parent 1: classid 1:1 htb rate ${BANDWIDTHUP}kbit quantum 1500 burst 50k

    tc class add dev $OUTIFACE parent 1:1 classid 1:23 htb rate ${BANDWIDTHUP_LIMIT}kbit \

    ceil ${BANDWIDTHUP}kbit prio 0 quantum 1500

    tc class add dev $OUTIFACE parent 1:1 classid 1:24 htb rate ${BANDWIDTHUP_LIMIT}kbit \

    ceil ${BANDWIDTHUP}kbit prio 1 quantum 1500

    tc qdisc add dev $OUTIFACE parent 1:23 handle 23: sfq perturb 10 quantum 1500

    tc qdisc add dev $OUTIFACE parent 1:24 handle 24: sfq perturb 10 quantum 1500

    tc filter add dev $OUTIFACE parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23

    tc filter add dev $OUTIFACE parent 1:0 prio 1 protocol ip handle 24 fw flowid 1:24

    $LOG "Shaper start OK..."

    }

    stop() {

    $LOG "Stop shaper..."

    tc qdisc del dev br0 root > /dev/null 2>&1

    tc qdisc del dev $OUTIFACE root > /dev/null 2>&1

    tc qdisc del dev $OUTIFACE ingress > /dev/null 2>&1

    rmmod sch_esfq > /dev/null 2>&1

    rmmod sch_sfq > /dev/null 2>&1

    }

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    *)

    echo $"Usage: $0 {start|stop|restart}"

    exit 1

    esac

    добавляю строчку

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 6 fw flowid 1:3

    вот сюда

    if [ "$SHAPER_IN_ENABLE" = "on" ]; then

    #filters for marked in prerouting

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 6 fw flowid 1:3

    tc filter add dev br0 parent 1:0 prio 1 protocol ip handle 20 fw flowid 1:20

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 21 fw flowid 1:21

    tc filter add dev br0 parent 1:0 prio 3 protocol ip handle 22 fw flowid 1:22

    и shaper перестает ограничивать скорость по параметрам указанным в веб закладке Simple shaper config внутресетевой трафик так и надо ,а внешний нет плиз подскажите

  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 11 января 2011 15:38
    код выделить все

    tc class add dev br0 parent 1:1 classid 1:3 htb rate 80 \
    ceil 90mbit prio 0 quantum 1500 burst 100k

    эта строка тоже добавлялась?

    rate 80kbit

    попробуй так

    сорри, я давно этим не занимался, сходу сложно все уложить в мозгах

    правильно такое - все rate должны быть в сумме равны ceil, который является rate'ом самого верхнего класса

    если по простому, то задается rate для одного класса, а потом несколько rate для подклассов и сумма их для подклассов должна быть равна rate класса-родителя

    код выделить все

    -----168kbit (класс родитель) 1:0
    ----68kbit(наследник имущества №1) 1:1
    ----100kbit(наследник имущества №2) 1:2

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

    if [ "$SHAPER_IN_ENABLE" = "on" ]; then

    #filters for marked in prerouting

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 6 fw flowid 1:3

    tc filter add dev br0 parent 1:0 prio 1 protocol ip handle 20 fw flowid 1:20

    tc filter add dev br0 parent 1:0 prio 2 protocol ip handle 21 fw flowid 1:21

    tc filter add dev br0 parent 1:0 prio 3 protocol ip handle 22 fw flowid 1:22

    не помню, можно ли задавать одинаковый приоритет....

    предлагаю освоить дебаг при помощи

    код выделить все

    tc -s qdisc show dev br0
    tc -d qdisc show dev br0

    тогда будет видно, что и как происходит

    можно еще предварять эти команды командой watch, которая будет их выполнять каждые 2 секунды и показывать на экране постоянно, то есть почти в реальном времени отладка

    код выделить все
    watch tc -s qdisc show dev br0

    если вывод слишком большой и на экран не помещается, можно использовать grep вот так

    код выделить все
    watch 'tc -s qdisc show dev br0 | grep Sent'

    и тогда watch покажет все строки в которых встречается слово Sent

    P.S. можно (и нужно) на "ты"

    IMHO.
  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 13 января 2011 11:42

    эта строка тоже добавлялась?

    оригинал с модема Acorp Sprinter@ADSL W422G_v3 версия прошивки 0.4.16.RU.17122010

    потом слегка не понял

    не помню, можно ли задавать одинаковый приоритет

    prio 4 ставил ситуация таже

    потом вошпе не понял

    выводы

    iptables -A PREROUTING -t mangle -s 90.189.193.0/255 -j MARK --set-mark 6

    iptables -A PREROUTING -t mangle -s 90.189.192.0/255 -j MARK --set-mark 6

    возможно большое количество IP адресов буду сокращать

    или пробовать каждому IP свою скорость прописывать или диапазон если серого вещества хватит

  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 14 января 2011 01:51

    потом вошпе не понял

    эти команды нужно вводить в консоли модема после логина в него через telnet или ssh, второй вариант ессно лучше

    после настройки шейпера (tc - traffic control) эти команды дадут представление о том, что происходит в данный момент

    то есть настройка сводится к построению дерева классов (tc class) и внесения в класс настроек(tc qdisc), потом маркировка трафика (--mark) и(или) разнесение по классам(tc filter)

    а потом все это дело можно наблюдать чуть ли не в реальном времени, то есть смотреть, в какой класс с каким приоритетом попали пакеты и сколько их

    всего-навсего статистика

    возможно большое количество IP адресов буду сокращать

    приоритет задается _одинаковый_ каждому ИП в диапазоне, поэтому если в подсети есть "более равные" чем другие, то можно использовать такие конструкции

    код выделить все

    for i in `seq 0 254`
    do
    iptables -A PREROUTING -t mangle -s 90.189.193.$i/255 -j MARK --set-mark 6
    iptables -A PREROUTING -t mangle -s 90.189.192.$i/255 -j MARK --set-mark 6

    # для "равных" =)
    [[ $i == '34' ]] && iptables -A PREROUTING -t mangle -s 90.189.193.$i/255 -j MARK --set-mark $HIGHEST_PRIO_MARKER
    done

    IMHO.
  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 14 января 2011 15:58

    долго смотрел на S12iptables

    код выделить все
    if [ "$L7_SUPPORT" = "on" ]; then
    $INCOMING -i ppp+ -p tcp -m layer7 --l7proto h323 -j MARK --set-mark 20
    $INCOMING -i ppp+ -p tcp -m layer7 --l7proto rdp -j MARK --set-mark 20
    $INCOMING -i ppp+ -p tcp -m layer7 --l7proto sip -j MARK --set-mark 20
    $INCOMING -i ppp+ -p udp -m layer7 --l7proto sip -j MARK --set-mark 20
    $INCOMING -i ppp+ -p udp -m layer7 --l7proto skypeout -j MARK --set-mark 20
    $INCOMING -i ppp+ -p udp -m layer7 --l7proto skypetoskype -j MARK --set-mark 20
    $INCOMING -i ppp+ -p tcp -m layer7 --l7proto bittorrent -j MARK --set-mark 22
    $INCOMING -i ppp+ -p udp -m layer7 --l7proto bittorrent -j MARK --set-mark 22
    else

    фильтер L7 :две последние строчки маркируют торенты по 22 подклассу если в S15shaper

    код выделить все
    tc class add dev br0 parent 1:2 classid 1:22 htb rate ${BANDWIDTHDOWN_LIMIT}kbit \
    ceil ${BANDWIDTHDOWN}kbit prio 3 quantum 1500

    прописать скорости торенты будут ограничеватся

    код выделить все
    tc class add dev br0 parent 1:2 classid 1:22 htb rate конкретная цифра kbit \
    ceil конкретная цифра kbit prio 3 quantum 1500

    так? ща попробую

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 14 января 2011 16:40

    блин облом не вышло достал этот шейпер :molotok::moderator: ,а если еще не понемаеш то вошпе жуть стоит хоть что нибудь изменить в нем он перестает работать

    может я не туда лезу? вот путь к шейпиру /rwfs/rc.d там ли он находится?

    код выделить все
    tc -s qdisc show dev br0

    пробовал но после изменений в шейпери не выводит статистику!

  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 14 января 2011 19:45

    qw555, да, дружище, я в первый раз 3 дня убил, чтобы вообще вникнуть в суть ибо на тот момент в сети даже на англ документации почти не было толковой

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

    крепись =)

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

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

    и, ессно, не забывай, что общий канал на шейпере надо зарезать на 5-10% (а если не уверен, что есть на канале гарантия скорости, то можешь для отладки еще порезать, хоть на 30% - когда увидишь, что ты все сделал правильно и все режется как хотелось, сможешь постепенно увеличивать верхний ограничитель скорости)

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

    ИЛИ

    найди строчку

    tc qdisc add dev br0 htb default NN

    где NN - некий номер класса, куда попадает все, что не было классифицировано фильтрами и объявлено в классах

    и задай на l7 правилах этот номер для этих двух строчек

    блин.... надеюсь, понятно объяснил

    пробовал но после изменений в шейпери не выводит статистику!

    скорее всего, он не стартанул где-то, может, ошибка...

    если ты шейпер вручную стартуешь, то посмотри, чтобы в консоли не было ничего лишнего

    IMHO.
  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 15 января 2011 04:25

    найди строчку

    tc qdisc add dev br0 htb default NN

    такой нету есть такая

    tc qdisc add dev br0 root handle 1: htb default 22

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

    сравнил объем оригинала и правленого при правке WordPad объем увеличился при правке «Блокнот» уменьшился

    загнал «Блокнот»овский шейпер ,без контроля нет но то что требовалось неработает

    приоритет портов мне не надо пока по удалять их места освободится

    и, ессно, не забывай, что общий канал на шейпере надо зарезать на 5-10% (а если не уверен, что есть на канале гарантия скорости, то можешь для отладки еще порезать, хоть на 30% - когда увидишь, что ты все сделал правильно и все режется как хотелось, сможешь постепенно увеличивать верхний ограничитель скорости

    это я допер пол года назад все работает нормально но со временем хочется чего то больше и черти погнали меня скрипты править

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 15 января 2011 05:12

    чтобы отладить ибо наблюдал неработоспособность шейпера при малейших изменениях - все как у тебя

    Mr.Smith

    а можно ваши посмотреть shaper , iptables может что для себя подчеркну

  • adminxp Neophyte Poster
    офлайн
    adminxp Neophyte Poster

    4

    13 лет на сайте
    пользователь #359948

    Профиль
    Написать сообщение

    4
    # 16 января 2011 22:19

    Недавно купил модем, хочу для начала потыкаться с имеющимися настройками, а в идеале сделать скрипт.

    У меня вопросы:

    Я играю в онлайн игру и меня напрягают лаги, если другие пользователи активничают в сети, Simple shaper включен. Пользователей 5 штук:) лагает даже если лазиют 3 (т.е. полоса выбирается не полностью)



    Имеется канал: 4мбит вх и 1.1 мбит исх.

    хочу начать с малого - поиграться с настройками шейпера.

    Я так понял надо вписать порты программы (игры) в секцию:

    #HIGH icmp,ssh,https,telnet,sip,dns //fix me

    игра использует порты от балды в диапазоне 55000-56000

    как сие вписать в секцию??

    доп вопрос: в секции #MEDIUM http/ftpdata/udp описывается протокол http.

    если я в вебморде выставлю порт 80 в Low prio ports - какая настрока будет важнее (то бишь реально работать) ту что я указал в морде или та, что прописана с скрипте.

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 17 января 2011 03:31

    adminxp

    хочу для начала потыкаться с имеющимися настройками

    попробуйте так

    проследуйте в Services/Firewall/Connection Limit и выставите самым обнаглевшим Max Limitation connects: поменьше ,не обнаглевшим Max Limitation connects: побольше ,а Global TCP Connection Limit: больше 200 не стоит и в Simple shaper config все галочки поставить

    Maximum с Limit поменять местами перед заменой измерьте скорость где нибудь и после замены ,написать о измерение обязательно

    на счет портов не интересовался :conf:

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 17 января 2011 03:32 Редактировалось qw555, 3 раз(а).

    у меня по такому принципу

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 17 января 2011 07:54

    доп вопрос: в секции #MEDIUM http/ftpdata/udp описывается протокол http.

    если я в вебморде выставлю порт 80 в Low prio ports - какая настрока будет важнее (то бишь реально работать) ту что я указал в морде или та, что прописана с скрипте.

    смотрим сюда что мы видим

    #HIGH icmp,ssh,https,telnet,sip,dns //fix me

    tc filter add dev br0 parent 1:0 protocol ip :ura: prio 1:ura: u32 match ip sport 21 0xffff flowid 1:20

    прио 1 _ :ura: это чтобы обозначить для лучшего восприятия

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

    #MEDIUM http/ftpdata/udp

    tc filter add dev br0 parent 1:0 protocol ip prio 2 u32 match ip sport 80 0xffff flowid 1:21

    прио 2

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

    #LOW smtp/pop and others

    tc filter add dev br0 parent 1:0 protocol ip prio 3 u32 match ip sport 110 0xffff flowid 1:22

    прио 3

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

    первым будет выполнятся прио 1 потом прио 2 если после прио 1 останутся ресурсы потом прио 3 если после прио 2 останутся ресурсы и т.д.

    вам надо пробовать может конфликт какой нибудь получится не знаю может что и не так сказал

    Будем ждать ответ от Знающих

  • Mr.Smith Senior Member
    офлайн
    Mr.Smith Senior Member

    837

    16 лет на сайте
    пользователь #99530

    Профиль
    Написать сообщение

    837
    # 17 января 2011 22:34

    а можно ваши посмотреть shaper , iptables может что для себя подчеркну

    их нет у меня :(

    на этом момеде я шейпер ленюсь настраивать, вобщем-то мне он не нужен, а старые наработки долго искать

    интереснее на живом скрипте эксперименты ставить :D

    игра использует порты от балды в диапазоне 55000-56000

    как сие вписать в секцию??

    так и вписать

    80, 55000-56000

    если парсер скрипта умеет multiport, то сделает как надо

    если не умеет - надо научить

    в iptables правилах, где маркируется трафик пишем так

    iptables -t mangle -A PREROUTING -s $SOURCE_IP blablabla.......... -m multiport --dport 80, 55000-56000 -j ACCEPT

    или какое там у вас действие после -j

    если ошибся с синтаксисом - просьба не серчать а поюзать гугл :)

    IMHO.
  • adminxp Neophyte Poster
    офлайн
    adminxp Neophyte Poster

    4

    13 лет на сайте
    пользователь #359948

    Профиль
    Написать сообщение

    4
    # 19 января 2011 00:02

    чета в линуксе усложнено всё. первый раз столкнулся.

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

    захожу после перегруза на модем, а там ориигнальный - все мои изменения стёрты. что я делаю не так?

  • qw555 Junior Member
    офлайн
    qw555 Junior Member

    35

    13 лет на сайте
    пользователь #353736

    Профиль
    Написать сообщение

    35
    # 19 января 2011 12:12

    adminxp

    а там ориигнальный - все мои изменения стёрты. что я делаю не так?

    вам нужно прочитать с первой страницы до последней ( и еще лучше не один раз (я начинал так)) у кого то была такая проблема

    если не поймете то опишете что чем и как делаете бум разбираться