LINUX.ORG.RU

Сообщения THEDECAL

 

Шейпер режит скорость до 30 хотя я задаю до 80...

Вот отладка скрипта при запуске, делиться это всё где-то на 1500 абонов по 30,60,80мбит, помогите пожалуйста иправить ошибки...

+ /sbin/tc qdisc add dev eth1 root handle 1: htb default 250
+ /sbin/tc qdisc add dev eth0 root handle 1: htb default 250
+ /sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 1000000Kbit
+ /sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 1000000Kbit
+ /sbin/tc class add dev eth1 parent 1:1 classid 1:250 htb rate 25000Kbit ceil 100000Kbit prio 1 quantum 15365
+ /sbin/tc qdisc add dev eth1 parent 1:250 handle 250: sfq perturb 10
+ /sbin/tc class add dev eth0 parent 1:1 classid 1:250 htb rate 25000Kbit ceil 100000Kbit prio 1 quantum 15365
+ /sbin/tc qdisc add dev eth0 parent 1:250 handle 250: sfq perturb 10
+ /bin/cat /home/cli_nets.lst
+ /bin/sed -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/'
+ read seg
+ /sbin/tc filter add dev eth1 parent 1: prio 5 handle 2: protocol ip u32 divisor 256
+ /sbin/tc filter add dev eth1 parent 1: protocol ip u32 ht 800:: match ip dst 192.168.2.0/24 hashkey mask 0x000000ff at 16 link 2:
...
+ read seg
+ /bin/cat /home/unlimit.dat
+ read ip speed
$ECHO ${ip} | $SED -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/'
++ /bin/echo 192.168.2.11
++ /bin/sed -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/'
+ local THREEOC=2
$PRINTF '%x\n' ${THREEOC}
++ /usr/bin/printf '%x\n' 2
+ local THREEOCHEX=2
$ECHO ${ip} | $SED -r 's/192\.168\.[0-9]{1,2}.([0-9]{1,3})/\1/'
++ /bin/echo 192.168.2.11
++ /bin/sed -r 's/192\.168\.[0-9]{1,2}.([0-9]{1,3})/\1/'
+ local FOUROC=11
$PRINTF '%x\n' ${FOUROC}
++ /usr/bin/printf '%x\n' 11
+ local FOUROCHEX=b
$PRINTF '%x\n' ${THREEOC}${FOUROC}
++ /usr/bin/printf '%x\n' 211
+ local ID=d3
+ speedrate=20000
+ /sbin/tc class add dev eth1 parent 1:1 classid 1:d3 htb rate 20000Kbit ceil 80000Kbit prio 5 quantum 15365
+ /sbin/tc qdisc add dev eth1 parent 1:d3 handle d3: sfq perturb 10
+ /sbin/tc filter add dev eth1 protocol ip prio 5 u32 ht 2:b: match ip dst 192.168.2.11/32 flowid 1:d3
+ /sbin/tc class add dev eth0 parent 1:1 classid 1:d3 htb rate 20000Kbit ceil 80000Kbit prio 5 quantum 15365
+ /sbin/tc qdisc add dev eth0 parent 1:d3 handle d3: sfq perturb 10
+ /sbin/tc filter add dev eth0 protocol ip prio 5 u32 ht 2:b: match ip src 192.168.2.11/32 flowid 1:d3
...
THEDECAL
()

Оптимизация шейпера, не выходит повесить хэш таблицы на исходящую скорость...

Помогите пожалуйста, шейпер стал грузить систему, как выяснилось из-за линейный исходящих правил, на входящий трафик у меня правила с хэш фильтрами, а на исходящий обычные линейные правила, я решил сделать на исходящий трафик тоже хэш фильтры и теперь вообще не граничиться исходящий поток... Уточню nat стоит на роутере который выше... Вот комманды:

tc qdisc add dev eth1 root handle 1: htb
tc qdisc add dev eth0 root handle 1: htb
#
tc class add dev eth1 parent 1: classid 1:1 htb rate 1gbit
tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbit
#
tc filter add dev eth1 parent 1: prio 1 handle ${seg}: protocol ip u32 divisor 256
tc filter add dev eth1 parent 1: protocol ip u32 ht 800:: match ip dst 192.168.${seg}.0/24 hashkey mask 0x000000ff at 16 link ${seg}:
#При нагрузке этих двух строк не было
tc filter add dev eth0 parent 1: prio 1 handle ${seg}: protocol ip u32 divisor 256
tc filter add dev eth0 parent 1: protocol ip u32 ht 800:: match ip src 192.168.${seg}.0/24 hashkey mask 0x000000ff at 16 link ${seg}:
#
tc class add dev eth1 parent 1:1 classid 1:${ID} htb rate ${speed}kbit ceil ${speed}kbit prio 2 quantum 15365
tc qdisc add dev eth1 parent 1:${ID} handle ${ID}: sfq perturb 10
tc filter add dev eth1 protocol ip prio 2 u32 ht ${THREEOC}:${FOUROCHEX}: match ip dst ${ip}/32 flowid 1:${ID}
#Вот так раньше шейпился исходящий трафик
tc class add dev eth0 parent 1:1 classid 1:${ID} htb rate ${speed}kbit prio 2 quantum 15365
tc qdisc add dev eth0 parent 1:${ID} handle ${ID}: sfq perturb 10
tc filter add dev eth0 protocol ip prio 2 u32 ht 800:: match ip src ${ip}/32 flowid 1:${ID}
#Вот так сейчас,
tc class add dev eth0 parent 1:1 classid 1:${ID} htb rate ${speed}kbit ceil ${speed}kbit prio 2 quantum 15365
tc qdisc add dev eth0 parent 1:${ID} handle ${ID}: sfq perturb 10
tc filter add dev eth0 protocol ip prio 2 u32 ht ${THREEOC}:${FOUROCHEX}: match ip src ${ip}/32 flowid 1:${ID}

THEDECAL
()

Балансировка BGP один ISP две сесии

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

THEDECAL
()

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

Уважаемые знатоки помогите решить проблему стоит cent 6.3, есть два роутера на первом в пик 95000 соеденений на втором 125000... На первом роутере пинг 0-1мс в пик потерь нет, на втором пинг 1-10мс 6% потерь, с 50 пакетов, скорость плохо режиться как только я тормажу шейпер, пинг спадает потерь нет... Изначально скрипт был без хэш таблиц переписав на хэш таблицы я надеялся проблема уйдёт, но нет.. Я написал вот такой скрипт:

stop > /dev/null 2>&1
#Добавление корневых дисциплин
#in
${TC} qdisc add dev eth1 root handle 1: htb
#out
${TC} qdisc add dev eth0 root handle 1: htb
#Добавление корневых классов
#in
${TC} class add dev eth1 parent 1: classid 1:1 htb rate 1024mbit
#out
${TC} class add dev eth0 parent 1: classid 1:1 htb rate 1024mbit
#Добавление хэш-таблиц на каждую подсеть
${CAT} ${NETS} | ${SED} -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/' | while read 'seg'
do
${TC} filter add dev eth1 parent 1: prio 1 handle ${seg}: protocol ip u32 divisor 256
${TC} filter add dev eth1 parent 1: protocol ip u32 ht 800:: match ip dst 192.168.${seg}.0/24 hashkey mask 0x000000ff at 16 link ${seg}:
done
${CAT} ${DATA} ${DATAEX} | while read 'ip' 'speed'
do
local THREEOC=`${ECHO} ${ip} | $SED -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/'`
local THREEOCHEX=`${PRINTF} '%x\n' ${THREEOC}`
local FOUROC=`${ECHO} ${ip} | ${SED} -r 's/192\.168\.[0-9]{1,2}.([0-9]{1,3})/\1/'`
local FOUROCHEX=`${PRINTF} '%x\n' ${FOUROC}`
local ID=`${PRINTF} '%x\n' ${THREEOC}${FOUROC}`
#in
#Добавление классов для каждого ip
${TC} class add dev eth1 parent 1:1 classid 1:${ID} htb rate ${speed}kbit ceil ${speed}kbit prio 2 quantum 15365
${TC} qdisc add dev eth1 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth1 protocol ip prio 2 u32 ht ${THREEOC}:${FOUROCHEX}: match ip dst ${ip}/32 flowid 1:${ID}
#out
#Добавление классов для каждого ip
${TC} class add dev eth0 parent 1: classid 1:${ID} htb rate $[speed/2]kbit ceil $[speed/2]kbit prio 2 quantum 15365
${TC} qdisc add dev eth0 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth0 parent 1: protocol ip prio 2 u32 ht 800:: match ip src ${ip}/32 flowid 1:${ID}
#Дублируем списки для дальнейшей проверки
${CAT} ${DATA} > ${DATA}.chk
${CAT} ${DATAEX} > ${DATAEX}.chk
#Сообщение в лог
${ECHO} "${DATE} $0  Шейпер запущен..." >> ${LOG}
done

 , ,

THEDECAL
()

RSS подписка на новые темы