Page 5 of 5 FirstFirst ... 345
Results 61 to 66 of 66

Thread: Шейпер с приоретизацией по портам

  1. #61
    Мануал, начиная с 9-й главы

    "Linux Advanced Routing & Traffic Control HOWTO"
    http://gazette.linux.ru.net/rus/arti...rtc/index.html

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

    "Деление канала интернета пополам через tc class, qdisc, filter"
    http://www.linux.org.ru/view-message...=1257359431016

    Городская локальная сеть 10.0.0.0/8, домашняя локальная сеть 192.168.1.0/24.
    Задача: делить пополам между 192.168.1.2 и 192.168.1.3 входящий и исходящий трафик ppp0 и vlan1.

    Особенно интересно, откуда взялись мнения, что tc на устройстве br0 обрабатывает только исходящие пакеты, не затрагивая входящие? Ведь условия фильтрации позволяют направлять в нужные классы, как входящие, так и исходящие пакеты. Например, условия фильтрации пакетов:

    для входящих LAN к 192.168.1.2: prio 15 u32 match ip src 10.0.0.0/8 u32 match ip dst 192.168.1.2
    для входящих LAN к 192.168.1.3: prio 15 u32 match ip src 10.0.0.0/8 u32 match ip dst 192.168.1.3
    для исходящих LAN от 192.168.1.2: prio 15 u32 match ip src 192.168.1.2 u32 match ip dst 10.0.0.0/8
    для исходящих LAN от 192.168.1.3: prio 15 u32 match ip src 192.168.1.3 u32 match ip dst 10.0.0.0/8

    для входящих WAN к 192.168.1.2: prio 20 u32 match ip dst 192.168.1.2
    для входящих WAN к 192.168.1.3: prio 20 u32 match ip dst 192.168.1.3
    для исходящих WAN от 192.168.1.2: prio 20 u32 match ip src 192.168.1.2
    для исходящих WAN от 192.168.1.3: prio 20 u32 match ip src 192.168.1.3
    Last edited by Omega; 25-12-2011 at 20:10. Reason: fixed

  2. #62
    Join Date
    Jul 2008
    Location
    Kiev
    Posts
    557
    Quote Originally Posted by Vladimir14 View Post
    Особенно интересно, откуда взялись мнения, что tc на устройстве br0 обрабатывает только исходящие пакеты, не затрагивая входящие? Ведь условия фильтрации позволяют направлять в нужные классы, как входящие, так и исходящие пакеты.
    Ну это не совсем мнение, просто отфильтровывание пришедших не приоритетных пакетов не ускоряет получение приоритетных. С отправкой проще: приоритетные вперед, остальные в очередь.

  3. #63
    Через

    tc -s class show dev $DEV

    где $DEV - имя устройста, убедился, что tc filter обрабатывает только исходящие пакеты с устройства, а входящие по нулям, если дополнительно не использовать iptable.

    "Новая прошивка Олега 1.9.2.7-d от энтузиастов"
    http://wl500g.info/showthread.php?t=17136
    http://code.google.com/p/wl500g

    в которой по sfq реально доступна esfq, при использовании которой можно более правильно делить канал пополам. Написал для новой прошивки деление входящего и исходящего каналов соединения ppp0 пополам между 192.168.1.2 и 192.168.1.3:

    Скрипт запуска start:

    Code:
    #/bin/sh
    
    WAN_CEIL_DOWNLOAD=256
    WAN_RATE_DOWNLOAD=128
    
    WAN_CEIL_UPLOAD=256
    WAN_RATE_UPLOAD=128
    
    DEV_WAN=ppp0
    DEV_IN=imq0
    DEV_OUT=imq1
    
    
    # включение IMQ
    insmod ipt_IMQ > /dev/null 2>&1
    insmod imq behaviour=ab numdevs=2 > /dev/null 2>&1
    
    tmp=`ip link show $DEV_WAN`
    tmp=${tmp#*mtu }
    MTU=${tmp%% *}
    
    ip link set dev imq0 up
    ip link set dev imq1 up
    ip link set dev imq0 mtu $MTU
    ip link set dev imq1 mtu $MTU
    
    
    # очистка
    iptables -t mangle -D PREROUTING -i $DEV_WAN -j IMQ --todev 0
    iptables -t mangle -D POSTROUTING -o $DEV_WAN -j IMQ --todev 1
    
    tc qdisc del dev $DEV_IN root 2> /dev/null > /dev/null
    tc qdisc del dev $DEV_IN ingress 2> /dev/null > /dev/null
    
    tc qdisc del dev $DEV_OUT root 2> /dev/null > /dev/null
    tc qdisc del dev $DEV_OUT ingress 2> /dev/null > /dev/null
    
    
    # входящий
    
    # корень дерева 1:0, пакеты не удовлетворяющие всем условиям фильтров идут в очередь класса 1:9
    tc qdisc add dev $DEV_IN root handle 1:0 htb default 9
    tc class add dev $DEV_IN parent 1:0 classid 1:1 htb rate ${WAN_CEIL_DOWNLOAD}kbit
    
    
    # класс для 192.168.1.2
    tc class add dev $DEV_IN parent 1:1 classid 1:11 htb rate ${WAN_RATE_DOWNLOAD}kbit ceil ${WAN_CEIL_DOWNLOAD}kbit
    
    # класс для 192.168.1.3
    tc class add dev $DEV_IN parent 1:1 classid 1:12 htb rate ${WAN_RATE_DOWNLOAD}kbit ceil ${WAN_CEIL_DOWNLOAD}kbit
    
    
    # очередь для 192.168.1.2
    tc qdisc add dev $DEV_IN parent 1:11 handle 11:0 sfq hash dst
    
    # очередь для 192.168.1.3
    tc qdisc add dev $DEV_IN parent 1:12 handle 12:0 sfq hash dst
    
    
    # направление пакетов из корня 1:0 в очередь класса 1:11
    tc filter add dev $DEV_IN parent 1:0 protocol ip prio 20 u32 match ip dst 192.168.1.2 flowid 1:11
    
    # направление пакетов из корня 1:0 в очередь класса 1:12
    tc filter add dev $DEV_IN parent 1:0 protocol ip prio 20 u32 match ip dst 192.168.1.3 flowid 1:12
    
    
    # неограниченный или неклассифицированный
    tc class add dev $DEV_IN parent 1:0 classid 1:9 htb rate 100mbit
    tc qdisc add dev $DEV_IN parent 1:9 handle 19:0 sfq perturb 10
    
    
    # исходящий
    
    # корень дерева 1:0, пакеты не удовлетворяющие всем условиям фильтров идут в очередь класса 1:9
    tc qdisc add dev $DEV_OUT root handle 1:0 htb default 9
    tc class add dev $DEV_OUT parent 1:0 classid 1:1 htb rate ${WAN_CEIL_UPLOAD}kbit
    
    
    # класс для 192.168.1.2
    tc class add dev $DEV_OUT parent 1:1 classid 1:11 htb rate ${WAN_RATE_UPLOAD}kbit ceil ${WAN_CEIL_UPLOAD}kbit
    
    # класс для 192.168.1.3
    tc class add dev $DEV_OUT parent 1:1 classid 1:12 htb rate ${WAN_RATE_UPLOAD}kbit ceil ${WAN_CEIL_UPLOAD}kbit
    
    
    # очередь для 192.168.1.2
    tc qdisc add dev $DEV_OUT parent 1:11 handle 11:0 sfq hash dst
    
    # очередь для 192.168.1.3
    tc qdisc add dev $DEV_OUT parent 1:12 handle 12:0 sfq hash dst
    
    
    # направление пакетов из корня 1:0 в очередь класса 1:11
    tc filter add dev $DEV_OUT parent 1:0 protocol ip prio 20 u32 match ip src 192.168.1.2 flowid 1:11
    
    # направление пакетов из корня 1:0 в очередь класса 1:12
    tc filter add dev $DEV_OUT parent 1:0 protocol ip prio 20 u32 match ip src 192.168.1.3 flowid 1:12
    
    
    # неограниченный или неклассифицированный
    tc class add dev $DEV_OUT parent 1:0 classid 1:9 htb rate 100mbit
    tc qdisc add dev $DEV_OUT parent 1:9 handle 19:0 sfq perturb 10
    
    
    # перенаправление пакетов на imq0, imq1
    iptables -t mangle -I PREROUTING -i $DEV_WAN -j IMQ --todev 0
    iptables -t mangle -A POSTROUTING -o $DEV_WAN -j IMQ --todev 1
    Скрипт останова stop:

    Code:
    #/bin/sh
    
    DEV_WAN=ppp0
    DEV_IN=imq0
    DEV_OUT=imq1
    
    iptables -t mangle -D PREROUTING -i $DEV_WAN -j IMQ --todev 0
    iptables -t mangle -D POSTROUTING -o $DEV_WAN -j IMQ --todev 1
    
    tc qdisc del dev $DEV_IN root 2> /dev/null > /dev/null
    tc qdisc del dev $DEV_IN ingress 2> /dev/null > /dev/null
    
    tc qdisc del dev $DEV_OUT root 2> /dev/null > /dev/null
    tc qdisc del dev $DEV_OUT ingress 2> /dev/null > /dev/null
    Скрипт вывода статистики status:

    Code:
    #/bin/sh
    
    tc -s class show dev imq0
    tc -s class show dev imq1
    Профи, всё ли правильно, на Ваш взгляд? Большое спасибо.
    Last edited by Vladimir14; 09-11-2009 at 20:09.

  4. #64

    DIR320 + SHAPER + SSH

    Здравствуйте господа. Купил роутер Dir-320, поставил прошивку от Олега.
    Я новичок в Линуксе, причем неплохо разбираюсь в ФриБСД.
    Помогите мне пожалуйста разобратся:
    1. Роутер подключен к сети WAN-192.168.11.0/24 через которую идет инет.
    Также есть локалка 172.16.10.0/24 - моя. На роутере стоит шейпер, но проблема вот в чем, если роутер режет скорость по определенному mac то - он режет все, А можно ли настроить так чтоб роутер не резал локалку 192.168.11.0/24, а только резал инет. Или как мне работать с шейпером?
    2. Я поднял ssh сервер но т.к. у меня статический ІР то есть много попыток брута, хотя мне нужно удаленно заходить. Под ФриБСД я решал проблему поднятием ssh с 22 на 1234 порт. Как ето можно реализовать или же как мне работать с ssh (нету конфигурационного файла /etc/ssh/sshd_config).

  5. #65
    Quote Originally Posted by UxN View Post
    Здравствуйте господа. Купил роутер Dir-320, поставил прошивку от Олега.
    Я новичок в Линуксе, причем неплохо разбираюсь в ФриБСД.
    Помогите мне пожалуйста разобратся:
    1. Роутер подключен к сети WAN-192.168.11.0/24 через которую идет инет.
    Также есть локалка 172.16.10.0/24 - моя. На роутере стоит шейпер, но проблема вот в чем, если роутер режет скорость по определенному mac то - он режет все, А можно ли настроить так чтоб роутер не резал локалку 192.168.11.0/24, а только резал инет. Или как мне работать с шейпером?
    2. Я поднял ssh сервер но т.к. у меня статический ІР то есть много попыток брута, хотя мне нужно удаленно заходить. Под ФриБСД я решал проблему поднятием ssh с 22 на 1234 порт. Как ето можно реализовать или же как мне работать с ssh (нету конфигурационного файла /etc/ssh/sshd_config).
    1. Курить тему http://wl500g.info/showthread.php?t=13609

    2. Курить тему http://wl500g.info/showthread.php?t=12833

    Обе темы, что характерно, даже без поиска обнаруживаются на 1й странице форума

  6. #66
    2. Делаеться так
    dropbear -p 1234 > /dev/null 2>&1
    кстати я уже поставил openssh ((((( і снес dropbear

Page 5 of 5 FirstFirst ... 345

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
  •