Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Explisit в Apr 20, 2007, 20:43



Титла: Traffic shaping qos match
Публикувано от: Explisit в Apr 20, 2007, 20:43
От няколко часа се мъча да измисля как маркираните пакети, които идват към мен да ги разпознавам по ToS от провайдъра ми и оттам да според това дали е български или не да го деля между няколко клиента съответно на български и чуждестранен. Какво ли не мислех Ingress match с u32 match  с iptables, но някак забивам до момента, до който match-натите пакети да ги разделя след това с шейпъра.  :( Тотално съм блокирал вече и не мога да го измисля засега така, че е ако някой се е сблъсквал с подобен проблем  :D


Титла: Traffic shaping qos match
Публикувано от: alex_c в Apr 20, 2007, 22:02
Ето ти едно бързо решение:
International трафик - ToS mark: 0x30
BG трафик - ToS mark: 0x00 или каквото и друго да е

Вид на скрипта за ограничаване:

#!/bin/bash
/sbin/insmod sch_htb 2>/dev/null
/sbin/insmod cls_u32 2>/dev/null

/sbin/tc qdisc del dev eth1 root 2>/dev/null
/sbin/tc qdisc add dev eth1 root handle 1: htb default 10
/sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 60Mbit

# 1:10 - default

/sbin/tc class add dev eth1 parent 1:1 classid 1:10 htb rate 256кbit burst 10k quantum 1500

#International traffic
/sbin/tc class add dev eth1 parent 1:1 classid 1:20 htb rate 1Mbit burst 10k quantum 1500

#BG traffic
/sbin/tc class add dev eth1 parent 1:1 classid 1:30 htb rate 2Mbit burst 10k quantum 1500

#Filters
#International traffic
/sbin/tc filter add dev eth1 protocol ip parent 1: prio 1 u32 match ip dst xxxx.xxxx.xxxx.xxxx match ip tos 0x30 0xff flowid 1:20

#BG traffic
/sbin/tc filter add dev eth1 protocol ip parent 1: prio 1 u32 match ip dst  xxxx.xxxx.xxxx.xxxxflowid 1:30

Като съответно замениш 0x30 със стойността, с която е маркиран твоя трафик, както и eth1 със номера на изходящия интерфейс, на който правиш ограничаването на трафика.

Успех в traffic shaping-a


Титла: Traffic shaping qos match
Публикувано от: Explisit в Apr 20, 2007, 22:24
Мерси за решението :) Туко що като писах, че това съм го пробвал и рисувах диаграмата ми светна колко съм тъп  :D Ей след 2-3 часа е добре да се почива, че в какви ли не по големи се вкарва човек. Наистина много съм блокирал май.


Титла: Traffic shaping qos match
Публикувано от: VladSun в Apr 21, 2007, 15:08
Би трябвало, ако използваш и CONNMARK да можеш и upload-a да контролираш.


Титла: Traffic shaping qos match
Публикувано от: daxen в Apr 26, 2007, 22:57
Имам един въпрос , но не ми се отваря нова тема
как с един филтер да си класифицира трафик и по ip адрес
и по марк-а от iptables
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.1 flowid 1:10
мога ли след  ip адреса да добавя handle 5 fw ако съм маркирал с 5 в iptables-a и ако НЕ /а май немога/ как става това :))





Титла: Traffic shaping qos match
Публикувано от: VladSun в Apr 27, 2007, 01:47
Аз доколкото съм се мъчил, не съм успял да направя такова нещо ...


Титла: Traffic shaping qos match
Публикувано от: daxen в Apr 27, 2007, 14:35
Това само с tos май става !!!