Ответить
  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 2 апреля 2010 15:55 Редактировалось Батуров, 1 раз.

    Модем Acorp 422G V3 настройки.

    Собралась группа инициативных товарищей и решила в складчину подключиться с инету.

    Тщательно обсудив все тарифные планы пришли к выводу подключиться на Byfly. А чтобы не портить себе отношения из за трафика решили взять тарифный план «Домосед плюс» Заниматься этими проблемами пришлось мне.

    При подключении выдали нам модем Промсвязь M-200 A (ZTE W300) Подключили попробовали все работает и все нормально за одним исключением. Стоит, кому-либо поставить много потоковую закачку и у всех инет становиться тормознутым.

    Строить разборки, портить отношения.

    Решили купить более накрученный модем, чтобы можно было комфортно и честно разделить трафик. Модем супер. Держит два соединения на ура. Линию тоже.

    Но вот настроить шейпер здесь проблема. Хорошей документации по использованию этого модема (версия3) в отличии от версии 2 не нашел. Вот и буду по крупицам собирать всю возможную информацию и выкладывать здесь. Приглашаю к обсуждению всех владельцев этой модели модема.

    Мои шаги по настройке модема будут описаны чуть позже.

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 2 апреля 2010 21:47

    Покажите скрин страницы управления шейпером.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 2 апреля 2010 22:18
    svin0:

    Покажите скрин страницы управления шейпером.

    Пожалуйста. Если внимательно посмотреть, то даже меню W422G V3 полностью переработано по сравнению W422G V2

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 2 апреля 2010 23:48

    После включения Shaper enable никаких дополнительных вкладок/полей не появляется?

    Покажите содержимое /rwfs/init.d/shaper. Для этого:

    код выделить все
    telnet ип_модема
    cat /rwfs/init.d/shaper

    Результат вставьте сюда.

    И сделайте скрин Advance -> Others.

    Кстати, последняя версия прошивки - 0.2.10.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 00:28
    svin0:

    После включения Shaper enable никаких дополнительных вкладок/полей не появляется?

    Покажите содержимое /rwfs/init.d/shaper. Для этого:

    [quote="Код: telnet ип_модема

    cat /rwfs/init.d/shaper

    Результат вставьте сюда.

    И сделайте скрин Advance -> Others.

    Кстати, последняя версия прошивки - 0.2.10.

    дополнительных вкладок при включении shepera не появляются.

    Скрин Others сейчас будет

    ~ # cat /rwfs/init.d/shaper

    #!/bin/sh

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

    OUTIFACE=ppp0

    LOG="logger -t init.d"

    start() {

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

    $LOG "Start shaper and stop nat fastpath..."

    echo 0 > /proc/FastPath

    #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 =`

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

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

    #incoming traffic from all ppp interfaces session balance

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

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

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

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

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

    #all output traffic for ppp0

    $LOG "All incoming ppp rate: normal $BANDWIDTHDOWN_LIMIT , maximum $BANDWIDT

    HDOWN (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 bur

    st 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 1

    500

    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 0x

    ffff flowid 1:20

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

    ffff flowid 1:20

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

    ffff flowid 1:20

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

    ffff flowid 1:20

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

    ffff flowid 1:20

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

    xffff flowid 1:20

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

    xffff 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 0x

    ffff flowid 1:21

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

    ffff flowid 1:21

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

    ffff 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 0

    xffff flowid 1:22

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

    ffff 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 $BANDWIDTHU

    P (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}kbi

    t quantum 1500 burst 50k

    tc class add dev $OUTIFACE parent 1:1 classid 1:23 htb rate ${BANDWIDTHUP_LI

    MIT}kbit \

    ceil ${BANDWIDTHUP}kbit prio 0 quantum 1500

    tc class add dev $OUTIFACE parent 1:1 classid 1:24 htb rate ${BANDWIDTHUP_LI

    MIT}kbit \

    ceil ${BANDWIDTHUP}kbit prio 1 quantum 1500

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

    0

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

    0

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

    d 1:23

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

    d 1:24

    #-----------------------------------------------BRIDGE--------------------------

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

    ifconfig br0 txqlen 100

    else

    $LOG "Shaper disabled by user."

    fi

    }

    stop() {

    stop() {

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

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

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

    }

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    *)

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

    exit 1

    esac

    ~ #

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 00:40

    скрин Advance -> Others.

    Если качество не устраивает то постараюсь улучшить.

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 3 апреля 2010 01:30

    Значит все настройки сводятся к редактированию /rwfs/init.d/shaper в секциях INCOMING и OUTGOING. Ищите либо похожие скрипты для 2 версии, либо изучайте tc. Вкратце, чтобы добавить деление по ip строки правятся так. Например, было:

    код выделить все
    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 src 192.168.1.1 match ip sport 21 0xffff flowid 1:20

    src/dst - источник/приемник. На основании этого можете немного подправить существующий скрипт.

    Какая версия прошивки? Наверное, до 0.1.38, т.к. в чейнджлоге к 0.1.38 сказано:

    0.1.38

    ...

    4) Управление обработкой /rwfs/init.d/shaper вынесено в (Advance->Others), по умолчанию отключено. Пример скрипта

    для равномерного разделения траффика доступно из коробки, используется дисциплина esfq.

    Более детально о работе шейпера в Linux на русском можно почитать на opennet.ru, примеры скриптов для предыдущих версий Acorp W422G могут быть легко адаптированы для v3

    Либо версия новее с отдельным пунктом меню.

    По поводу многопоточной закачки... К iptables есть модуль connlimit (прошивки начиная с 0.1.19), который может ограничивать соединения.

    После правки файлов сохраниться и перезагрузить:

    код выделить все
    service rwfs save && reboot

    У меня нет такого модема:), поэтому точную внутреннюю структуру не знаю, могут быть небольшие расхождения с повседневными линуксами. На форумах ddix много информации.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 01:42
    svin0:


    У меня нет такого модема:), поэтому точную внутреннюю структуру не знаю, могут быть небольшие расхождения с повседневными линуксами. На форумах ddix много информации.

    Спасибо и на этом. Может сможете подсказать как на первом этапе разрешить только некоторым IP подключение к модему и запретить всем остальным использую только web интерфейс

    Спасибо за внимание.

  • ILYHAN Senior Member
    офлайн
    ILYHAN Senior Member

    2837

    19 лет на сайте
    пользователь #30901

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

    2837
    # 3 апреля 2010 08:58

    Батуров, сетку случаем не через wi-fi настраивали? Не могу связать ПК с XP к буку с 7ой.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 10:34
    !LYH@N:

    Батуров, сетку случаем не через wi-fi настраивали? Не могу связать ПК с XP к буку с 7ой.

    обычное проводное соединение. WI-FI даже отключен. И что самое интересное нагрев модема сильно уменьшился после отключения wi-fi

    К счастью у всех только XP и семерку никто пока ставить не собирается.

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

    51

    14 лет на сайте
    пользователь #218907

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

    51
    # 3 апреля 2010 10:55

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

    Вечная ругонь из-за трафика - вплоть до мании преследования))))

    Насколько я правильно понял в третьей моделе шейпер настраивается не на конкретное соединение, а на все устройство в целом. А так как имеются два соединения (ХХL , Гость). Причем для первого "Maximum download rate" может доходить лишь до 1024, когда для гостя в пределах всего канала - 2048. Какие значения надо указывать вкладке шейпера?

    Конечно настройка этой вкладки не выход (если она вообще коректно работает) - надо копать, и копать глубоко)

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 11:26
    Herr_Oberst:

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

    Вечная ругонь из-за трафика - вплоть до мании преследования))))

    Пока это единственный модем с функциями динамического шейпера.

    До ругани у нас пока не доходило, просто сейчас я всем каждую неделю высылают отчет по расходованию трафика. Всех это пока устраивает. Но разобрать с шейпером надо. Может и найдем спеца который сможет на пальцах все объяснить. Пока как понял надо написать хороший скрипт и загнать в модем. Сейчас через веб морду многое в модеме не сделаешь.

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 3 апреля 2010 13:19

    Разрешить и запретить подключения можно на страницах с названием ACL, Access Control, Rules или что-нибудь подобное либо через командную строку. Пройдитесь по меню, возможно это ARP table. Там указывается ip и/или mac.

    Покажите результат команды

    код выделить все
    iptables -S

    Вкладка Simple shaper слишком simple :), поэтому в ней только глобальные настройки.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 13:41
    svin0:

    Разрешить и запретить подключения можно на страницах с названием ACL, Access Control, Rules или что-нибудь подобное либо через командную строку. Пройдитесь по меню, возможно это ARP table. Там указывается ip и/или mac.

    Покажите результат команды

    код выделить все
    iptables -S

    Вкладка Simple shaper слишком simple :), поэтому в ней только глобальные настройки.

    ~ # iptables -S

    iptables v1.2.7a: Unknown arg `-S'

    Try `iptables -h' or 'iptables --help' for more information.

    ~ # iptables -h

    iptables v1.2.7a

    Usage: iptables -[AD] chain rule-specification [options]

    iptables -[RI] chain rulenum rule-specification [options]

    iptables -D chain rulenum [options]

    iptables -[LFZ] [chain] [options]

    iptables -[NX] chain

    iptables -E old-chain-name new-chain-name

    iptables -P chain target [options]

    iptables -h (print this help information)

    Commands:

    Either long or short options are allowed.

    --append -A chain Append to chain

    --delete -D chain Delete matching rule from chain

    --delete -D chain rulenum

    Delete rule rulenum (1 = first) from chain

    --insert -I chain [rulenum]

    Insert in chain as rulenum (default 1=first)

    --replace -R chain rulenum

    Replace rule rulenum (1 = first) in chain

    --list -L [chain] List the rules in a chain or all chains

    --flush -F [chain] Delete all rules in chain or all chains

    --zero -Z [chain] Zero counters in chain or all chains

    --new -N chain Create a new user-defined chain

    --delete-chain

    -X [chain] Delete a user-defined chain

    --policy -P chain target

    Change policy on chain to target

    --rename-chain

    -E old-chain new-chain

    Change chain name, (moving any references)

    Options:

    --proto -p [!] proto protocol: by number or name, eg. `tcp'

    --source -s [!] address

    source specification

    --destination -d [!] address

    destination specification

    --in-interface -i [!] input name[+]
    network interface name ([+] for wildcard)
    --jump -j target
    target for rule (may load target extension)
    --match -m match
    extended match (may load extension)
    --numeric -n numeric output of addresses and ports
    --out-interface -o [!] output name[+]
    network interface name ([+] for wildcard)
    --table -t table table to manipulate (default: `filter')
    --verbose -v verbose mode
    --line-numbers print line numbers when listing
    --exact -x expand numbers (display exact values)
    [!] --fragment -f match second or further fragments only
    --modprobe=<command> try to insert modules using this command
    --set-counters PKTS BYTES set the counter during insert/append
    [!] --version -V print package version.

    ACCOUNT v1.2.7a options:
    --addr ip/netmask Base network IP and netmask used for this table
    --tname name Table name for the userspace library

    TTL target v1.2.7a options
    --ttl-set value Set TTL to <value>
    --ttl-dec value Decrement TTL by <value>
    --ttl-inc value Increment TTL by <value>

    CONNMARK target v1.2.7a options:
    --set-mark value Set conntrack mark value
    --save-mark Save the packet nfmark on the connection
    --restore-mark Restore saved nfmark value

    NOTRACK target v1.2.7a takes no options

    CLASSIFY target v1.2.7a options:
    --set-class [MAJOR:MINOR] Set skb->priority value

    TRIGGER v1.2.7a options:
    --trigger-type (dnat|in|out)
    Trigger type
    --trigger-proto proto
    Trigger protocol
    --trigger-match port[-port]
    Trigger destination port range
    --trigger-relate port[-port]
    Port range to map related destination port range
    to.

    ULOG v1.2.7a options:
    --ulog-nlgroup nlgroup NETLINK group used for logging
    --ulog-cprange size Bytes of each packet to be passed
    --ulog-qthreshold Threshold of in-kernel queue
    --ulog-prefix prefix Prefix log messages with this prefix.

    TOS target v1.2.7a options:
    --set-tos value Set Type of Service field to one of the
    following numeric or descriptive values:
    Minimize-Delay 16 (0x10)
    Maximize-Throughput 8 (0x08)
    Maximize-Reliability 4 (0x04)
    Minimize-Cost 2 (0x02)
    Normal-Service 0 (0x00)

    TCPMSS target v1.2.7a mutually-exclusive options:
    --set-mss value explicitly set MSS option to specified value
    --clamp-mss-to-pmtu automatically clamp MSS value to (path_MTU - 40)

    SNAT v1.2.7a options:
    --to-source <ipaddr>[-<ipaddr>][:port-port]
    Address to map source to.
    (You can use this more than once)

    SAME v1.2.7a options:
    --to <ipaddr>-<ipaddr>
    Addresses to map source to.
    May be specified more than
    once for multiple ranges.
    --nodst
    Don't use destination-ip in
    source selection

    REJECT options:
    --reject-with type drop input packet and send back
    a reply packet according to type:
    Valid reject types:
    icmp-net-unreachable ICMP network unreachable
    net-unreach alias
    icmp-host-unreachable ICMP host unreachable
    host-unreach alias
    icmp-proto-unreachable ICMP protocol unreachable
    proto-unreach alias
    icmp-port-unreachable ICMP port unreachable (default)
    port-unreach alias
    icmp-net-prohibited ICMP network prohibited
    net-prohib alias
    icmp-host-prohibited ICMP host prohibited
    host-prohib alias
    tcp-reset TCP RST packet
    tcp-reset alias
    icmp-admin-prohibited ICMP administratively prohibited (*)
    admin-prohib alias

    (*) See man page or read the INCOMPATIBILITES file for compatibility issues.

    REDIRECT v1.2.7a options:
    --to-ports <port>[-<port>]
    Port (range) to map to.

    MIRROR target v1.2.7a takes no options

    MASQUERADE v1.2.7a options:
    --to-ports <port>[-<port>]
    Port (range) to map to.

    MARK target v1.2.7a options:
    --set-mark value Set nfmark value

    LOG v1.2.7a options:
    --log-level level Level of logging (numeric or see syslog.conf)
    --log-prefix prefix Prefix log messages with this prefix.

    --log-tcp-sequence Log TCP sequence numbers.

    --log-tcp-options Log TCP options.

    --log-ip-options Log IP options.

    ECN target v1.2.7a options
    --ecn-tcp-remove Remove all ECN bits from TCP header

    DSCP target options
    --set-dscp value Set DSCP field in packet header to value
    This value can be in decimal (ex: 32)
    or in hex (ex: 0x20)
    --set-dscp-class class Set the DSCP field in packet header to the
    value represented by the DiffServ class value.
    This class may be EF,BE or any of the CSxx o
    r AFxx classes.

    These two options are mutually exclusive !

    DNAT v1.2.7a options:
    --to-destination <ipaddr>[-<ipaddr>][:port-port]
    Address to map destination to.
    (You can use this more than once)

    Standard v1.2.7a options:
    (If target is DROP, ACCEPT, RETURN or nothing)

    AH v1.2.7a options:
    --ahspi [!] spi[:spi]
    match spi (range)

    conntrack match v1.2.7a options:
    [!] --ctstate [INVALID|ESTABLISHED|NEW|RELATED|UNTRACKED|SNAT|DNAT][,...]
    State(s) to match
    [!] --ctproto proto Protocol to match; by number or name, eg. `tcp'
    --ctorigsrc [!] address[/mask]
    Original source specification
    --ctorigdst [!] address[/mask]
    Original destination specification
    --ctreplsrc [!] address[/mask]
    Reply source specification
    --ctrepldst [!] address[/mask]
    Reply destination specification
    [!] --ctstatus [NONE|EXPECTED|SEEN_REPLY|ASSURED|CONFIRMED][,...]
    Status(es) to match
    [!] --ctexpire time[:time] Match remaining lifetime in seconds against
    value or range of values (inclusive)

    DSCP match v1.2.7a options
    [!] --dscp value Match DSCP codepoint with numerical value
    This value can be in decimal (ex: 32)
    or in hex (ex: 0x20)
    [!] --dscp-class name Match the DiffServ class. This value may
    be any of the BE,EF, AFxx or CSx classes

    These two options are mutually exclusive !

    ECN match v1.2.7a options
    [!] --ecn-tcp-cwr Match CWR bit of TCP header
    [!] --ecn-tcp-ece Match ECE bit of TCP header
    [!] --ecn-ip-ect [0..3] Match ECN codepoint in IPv4 header

    ESP v1.2.7a options:
    --espspi [!] spi[:spi]
    match spi (range)

    helper match v1.2.7a options:
    [!] --helper string Match helper identified by string

    ICMP v1.2.7a options:
    --icmp-type [!] typename match icmp type
    (or numeric type or type/code)

    Valid ICMP Types:
    any
    echo-reply (pong)
    destination-unreachable
    network-unreachable
    host-unreachable
    protocol-unreachable
    port-unreachable
    fragmentation-needed
    source-route-failed
    network-unknown
    host-unknown
    network-prohibited
    host-prohibited
    TOS-network-unreachable
    TOS-host-unreachable
    communication-prohibited
    host-precedence-violation
    precedence-cutoff
    source-quench
    redirect
    network-redirect
    host-redirect
    TOS-network-redirect
    TOS-host-redirect
    echo-request (ping)
    router-advertisement
    router-solicitation
    time-exceeded (ttl-exceeded)
    ttl-zero-during-transit
    ttl-zero-during-reassembly
    parameter-problem
    ip-header-bad
    required-option-missing
    timestamp-request
    timestamp-reply
    address-mask-request
    address-mask-reply

    iprange match v1.2.7a options:
    [!] --src-range ip-ip Match source IP in the specified range
    [!] --dst-range ip-ip Match destination IP in the specified range

    length v1.2.7a options:
    [!] --length length[:length] Match packet length against value or range
    of values (inclusive)

    limit v1.2.7a options:
    --limit avg max average match rate: default 3/hour
    [Packets per second unless followed by
    /sec /minute /hour /day postfixes]
    --limit-burst number number to match in a burst, default 5

    MAC v1.2.7a options:
    --mac-source [!] XX:XX:XX:XX:XX:XX
    Match source MAC address
    --src-mask XX:XX:XX:XX:XX:XX
    Source MAC mask
    --mac-dst [!] XX:XX:XX:XX:XX:XX
    Match destination MAC address
    --dst-mask XX:XX:XX:XX:XX:XX
    Destination MAC mask

    MARK match v1.2.7a options:
    [!] --mark value[/mask] Match nfmark value with optional mask

    multiport v1.2.7a options:
    --source-ports port[,port,port...]
    --sports ...
    match source port(s)
    --destination-ports port[,port,port...]
    --dports ...
    match destination port(s)
    --ports port[,port,port]
    match both source and destination port(s)

    OWNER match v1.2.7a options:
    [!] --uid-owner userid Match local uid
    [!] --gid-owner groupid Match local gid
    [!] --pid-owner processid Match local pid
    [!] --sid-owner sessionid Match local sid
    [!] --cmd-owner name Match local command name

    pkt_type v0.1 options:
    --pkt-type [!] packettype match packet type

    Valid packet types:
    unicast to us
    broadcast to all
    multicast to group

    state v1.2.7a options:
    [!] --state [INVALID|ESTABLISHED|NEW|RELATED|UNTRACKED][,...]
    State(s) to match

    TCP v1.2.7a options:
    --tcp-flags [!] mask comp match when TCP flags & mask == comp
    (Flags: SYN ACK FIN RST URG PSH ALL NONE)
    [!] --syn match when only SYN flag set
    (equivalent to --tcp-flags SYN,RST,ACK SYN)
    --source-port [!] port[:port]
    --sport ...
    match source port(s)
    --destination-port [!] port[:port]
    --dport ...
    match destination port(s)
    --tcp-option [!] number match if TCP option set

    tcpmss match v1.2.7a options:
    [!] --mss value[:value] Match TCP MSS range.
    (only valid for TCP SYN or SYN/ACK packets)

    TOS match v1.2.7a options:
    [!] --tos value Match Type of Service field from one of the
    following numeric or descriptive values:
    Minimize-Delay 16 (0x10)
    Maximize-Throughput 8 (0x08)
    Maximize-Reliability 4 (0x04)
    Minimize-Cost 2 (0x02)
    Normal-Service 0 (0x00)

    UDP v1.2.7a options:
    --source-port [!] port[:port]
    --sport ...
    match source port(s)
    --destination-port [!] port[:port]
    --dport ...
    match destination port(s)

    unclean v1.2.7a takes no options

    recent v1.2.7a options:
    [!] --set Add source address to list, always matches.
    [!] --rcheck Match if source address in list.
    [!] --update Match if source address in list, also update las
    t-seen time.
    [!] --remove Match if source address in list, also removes th
    at address from list.
    --seconds seconds For check and update commands above.
    Specifies that the match will only occur if sour
    ce address last seen within
    the last 'seconds' seconds.
    --hitcount hits For check and update commands above.
    Specifies that the match will only occur if sour
    ce address seen hits times.
    May be used in conjunction with the seconds opti
    on.
    --rttl For check and update commands above.
    Specifies that the match will only occur if the
    source address and the TTL
    match between this packet and the one which was
    set.
    Useful if you have problems with people spoofing
    their source address in order
    to DoS you via this module.
    --name name Name of the recent list to be used. DEFAULT use
    d if none given.
    --rsource Match/Save the source address of each packet in
    the recent list table (default).
    --rdest Match/Save the destination address of each packe
    t in the recent list table.
    ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>. http://snowman.net/proje
    cts/ipt_recent/

    CONNMARK match v1.2.7a options:
    [!] --mark value[/mask] Match nfmark value with optional mask

    TTL match v1.2.7a options:
    --ttl-eq value Match time to live value
    --ttl-lt value Match TTL < value
    --ttl-gt value Match TTL > value

    connlimit v1.2.7a options:
    [!] --connlimit-above n match if the number of existing tcp connections
    is (not) above n
    --connlimit-mask n group hosts using mask

    udplimit v1.2.7a options:
    [!] --udplimit-above n match if the number of existing udp connections
    is (not) above n
    --udplimit-mask n group hosts using mask

    STRING match v--urlalw [!]string Match a url allow string in a packet
    1.2.7a options:
    --from Offset to start searching from
    --to Offset to stop searching
    --algo Algorithm
    --string [!] string Match a string in a packet
    --url [!] string Match a url string in a packet
    --domain [!] string Match a Domain string in a packet

    IPP2P v0.8.1_rc1 options:
    --ipp2p Grab all known p2p packets
    --edk [TCP&UDP] All known eDonkey/eMule/Overnet packets
    --dc [TCP] All known Direct Connect packets
    --kazaa [TCP&UDP] All known KaZaA packets
    --gnu [TCP&UDP] All known Gnutella packets
    --bit [TCP&UDP] All known BitTorrent packets
    --apple [TCP] All known AppleJuice packets
    --winmx [TCP] All known WinMX
    --soul [TCP] All known SoulSeek
    --ares [TCP] All known Ares

    EXPERIMENTAL protocols (please send feedback to: ipp2p@ipp2p.org) :
    --mute [TCP] All known Mute packets
    --waste [TCP] All known Waste packets
    --xdcc [TCP] All known XDCC packets (only xdcc login)

    DEBUG SUPPPORT, use only if you know why
    --debug Generate kernel debug output, THIS WILL SLOW DOWN THE FI
    LTER

    Note that the follwing options will have the same meaning:
    '--ipp2p' is equal to '--edk --dc --kazaa --gnu --bit --apple --winmx --soul --
    ares'

    IPP2P was intended for TCP only. Due to increasing usage of UDP we needed to cha
    nge this.
    You can now use -p udp to search UDP packets only or without -p switch to search
    UDP and TCP packets.

    See README included with this package for more details or visit http://www.ipp2p
    .org

    Examples:
    iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01
    iptables -A FORWARD -p udp -m ipp2p --kazaa --bit -j DROP
    iptables -A FORWARD -p tcp -m ipp2p --edk --soul -j DROP

    LAYER7 match v1.2.7a options:
    --l7dir <directory> : Look for patterns here instead of /etc/l7-protocols/
    (--l7dir must be specified before --l7proto if used!)
    --l7proto [!] <name> : Match the protocol defined in /etc/l7-protocols/name.pat

    account v1.2.7a options:
    --aaddr network/netmask
    defines network/netmask for which make statistics.
    --aname name
    defines name of list where statistics will be kept. If no is
    specified DEFAULT will be used.
    --ashort
    table will colect only short statistics (only total counters
    without splitting it into protocols.
    ~ #
    Подумаю как сделать скрины остальных вкладок

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 14:00 Редактировалось Батуров, 24 раз(а).

    Здесь я попытаюсь разместить все скрины менюшки модема.

    Меню модема Spinter@ADSL W422G V3

    Status

    Lan

    Wireless

    ----------Basic Settings

    ----------Advanced Settings

    ----------Security

    ----------Access Control

    ----------WPS

    ----------MBSSID

    WAN

    ----------Channel Config

    ----------ATM Settings

    ----------ADSL Settings

    ----------VPN Setup

    Services

    ----------DHCP Settings

    ----------DNS

    ----------------------DNS Server

    ----------------------Dynamic DNS

    ----------Firewall

    ----------------------ALG

    ----------------------IP/Port Filtering

    ----------------------MAC Filtering

    ----------------------Port Forwarding

    ----------------------URL Blocking

    ----------------------Connection Limit

    ----------------------IP Forwarding

    ----------------------DMZ

    ----------IGMP Proxy

    ----------UPnP

    ----------RIP

    Advance

    ----------ARP table

    ----------Bridging

    ----------Routing

    ----------SNMP

    ----------Port Mapping

    ----------QoS Classification

    ----------QoS Simple shaper

    ----------Link Mode

    ----------Remote Access

    ----------Others

    Diagnostic

    Statistics

    ---------- Summary

    Admin

    Save settings

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 3 апреля 2010 14:15

    Старый iptables, не знает ключа S. А это, на мой взгляд, самый оптимальный вывод правил в их первоначальном виде. Еще можно L, но не нужно.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 14:19
    svin0:

    Старый iptables, не знает ключа S. А это, на мой взгляд, самый оптимальный вывод правил в их первоначальном виде. Еще можно L, но не нужно.

    Сейчас сделаю полный обзор менюшки. Возможно вы подскажите как через web это делать.

  • purler Member
    офлайн
    purler Member

    434

    18 лет на сайте
    пользователь #46543

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

    434
    # 3 апреля 2010 17:46

    Батуров,

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

    Теперь по делу.

    Весь шейпер лежит в друх скриптах которые можно покрутить под свои желания. Из веба можно только 4 галочки прописать да минимальную скорость проставить. А как вижу хочется чего-то больше

    Первый скрипт /rwfs/init.d/iptables

    Второй уже подсказали /rwfs/init.d/shaper

    Внимательно изучаем оба скрипта, разбираемся. Если что непонятно то гуглим (инет же есть) и спрашиваем. Грамотно заданный вопрос уже содержит ответ.

    У меня деловая сетка, так что про байфлай готового скрипта не подскажу. Могу тока посоветовать пару команд запустить и наслаждаться скоростью в 2 мБита с внутреннего ресурса и при этом шейпер будет остальные адреса шейпить.

    Первая команда маркирует пакеты с внутреннего IP провайдера циферкой 6 (у меня это 212.98.160.190 а вам нужно свой вписать)

    iptables -A PREROUTING -t mangle -s 212.98.160.190 -j MARK --set-mark 6

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

    iptables -L -n -v -t mangle

    Вторая команда пакетики с цифрой 6 кидает в обход ограничения который выставлен для 1 мБита на закладке шейпера. У меня тока интерфейс всего один и называется br0 а у байфлай может все чуть сложней быть, но посмотреть и потестить персонально под вас мне негде.

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

    До перезагрузки должно качать внутренний ресурс быстрей одного мБита.. у меня так с медиа сервера и все 8 мБит качает, тока вот засада что некогда качать, вечно других дел полно :)

    Надеюсь подсказки будут полезны и дальше уже сами разберетесь чего хотите и как подкручивать конфиги под себя.

  • svin0 IRC Team
    офлайн
    svin0 IRC Team

    6763

    17 лет на сайте
    пользователь #76857

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

    6763
    # 3 апреля 2010 18:43

    purler, у меня модем d-link тех времен, когда под него писались прошивки от mcmcc, так в нем br0 содержит в себе только eth0, а br1 вообще висит в воздухе. Посмотреть можно командой

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

    Шейпится исходящий интерфейс независимо от количества входящих, значит в случае с byfly тоже все внимание направлено только на br0.

    Батуров, вкладки группы Wireless не особо интересны, если Вы не собираетесь раздавать интернет по wifi. Покажите страницу ARP table.

  • Батуров MemberАвтор темы
    офлайн
    Батуров Member Автор темы

    378

    20 лет на сайте
    пользователь #11542

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

    378
    # 3 апреля 2010 20:02

    purler,

    Я Вас прекрасно понимаю. Основательно изучить этот модем надо потратить некоторое время, особенно если никогда не писал скрипты и не изучал линукс. С другой стороны можно обратиться к специалистам которые в этом направлении прошли намного шагов дальше и с их помощи иметь некое типовое решение в которое вбиваешь свои параметры и получаешь на выходе то что нужно. Досадно что российское представительство фирмы Acorp этого не делает. Даже в нарушение закона о потребителях не комплектует модемы документацией на русском языке, да и диск вложенный в коробку с модемом к этому модему не подходит. Кроме того утилита скачанная с официального сайта acorp.ru для быстрой настройки тоже к модемам этой версии не подходит.

    svin0, Моя большая благодарность за желание помочь и конкретные шаги в этом направлении. Я обещал выложить скрин менюшки и это обязательно сделаю. Хочу верить, что работа по созданию некого типового скрипта и разбор менюшки на уровне продвинутого юзера все же получиться.